Sorry that it has been a couple of weeks since my last update…. I’ve been busy making some serious progress on game 2. I’ve been on a sprint to get some major things in place and I have achieved some pretty cool things. One of these things has been formulating a strategy for identifying what to shoot at.
In game 2, there will be the equivalent of the good old Blaster featured in Creeper World game 1. This unit just needs to shoot at the closest enemy Creeper in range. Of course it can’t shoot through solid terrain, so a line of sight (LOS) calculation also has to be done. So, from a Blaster’s perspective it needs to find the closest Creeper within its firing range that can be seen. To do this, a Blaster starts by inspecting the cells closest around it. Imagine the square made up of the 8 neighboring cells in an array. This square expands until Creeper is found. For any Creeper found, a LOS calculation is made. If the Blaster can see the Creeper, then that becomes the target. There is no reason to keep looking at further distances, since the Blaster wants to find the closest Creeper. Also note, that the expanding square doesn’t really remain a square for the entire search. For each cell being checked, the distance from the blaster is also checked. If the distance (actually the distance squared since I don’t want to do a square root calculation) exceeds the range of the Blaster, the cell isn’t checked.
But, what about the equivalent of the Mortar in game 1? Well, I call it the ‘Launcher’ in game 2. Keeping with game 1, it wants to shoot at the deepest/densest Creeper in range. In game 1, this meant searching in an expanding radius just like the Blaster does. But in this case the entire collection of cells in range have to be checked. As each is checked, the deepest Creeper yet seen is remembered. After all cells are checked, the Mortar from game 1 would have remembered where the deepest Creeper was and that becomes the target.
In game 2, the Launcher has an extra constraint. It wants to fire at the deepest Creeper in range, but it can’t fire it’s projectile (missile) straight at the target. Take the following image as an example:
Here you can see that a Launcher is in range of some of the oh-so-evil Creeper. But it is “around the corner” and doesn’t have a direct line of sight. Now, the Launcher’s firing solution has to be: “find the deepest Creeper in range for which there is a path and that path doesn’t at any point exceed the range of the Launcher”. It’s easy to see that there must be a path… imagine if the Creeper had been totally walled off. In this case it doesn’t matter if the Creeper is in linear range of the Launcher or not. No missile could reach the Creeper if there is no way in. But it is also important to realize that even if there is some path to the Creeper, this path can’t just wind around to the far reaches of the map. It would be unrealistic if the missile didn’t have a range, but the Launcher’s ability to target did.
To accomplish this firing solution, the Launcher searches outwards just like described above. As it expands its search radius, it doesn’t just remember the deepest Creeper it has seen. Instead, it remembers every cell that has Creeper in a sorted list. Once finished with the initial scan, the Launcher has an ordered list of all cells that contain Creeper. The item at the top of this list is the cell with the densest Creeper. For this item, the Launcher has to run a path finding algorithm to see if there is a path from the Creeper cell back to the Launcher. This path finding algorithm has a constraint that it can’t consider cells that fall outside of the range of the Launcher. If the path finding algorithm finds a path, then the Launcher has its target and can fire. If not, the next item in the list is inspected in the same way. Every cell that contains Creeper will in turn be inspected until a target is found, or there are no more possibilities.
The path finding algorithm is an AS3 optimized Vector.<int> A* algorithm. Actually its Dijkstra’s algorithm since I don’t use a heuristic because of another unit I have called “Micro-Rifts” that create “wormholes” on the map, but that’s fodder for another blog post…
Wow, that sounds a lot more complex than CW1!
And more important to the players: it looks VERY cool! I can’t wait to experiment with all these great new possibilities….
Please remember for blasters if more than one location of equal distance has creeper, the blaster should alternate it’s fire between the different locations.
oh yes, and as for the screenshot – please make it larger in future?
Don’t worry…. full screen shots will be coming in the near future. There are some ugly parts right now (like the menu’s are filled with dozens of numbers all going up and down so I can tell that things are working right). So I may leave images of that out until I get it all cleaned up. But I will be showing more units and a full ‘play area’ shot soon.
i think that this is not going to be as neat as the other one but ur idea is very good from a gamers point of view
ooh looks (and sounds) nice!
Is that an “official” screen-shot i.e. its what the walls/ground/weapons look like?
is the green dot the rocket?
and whats the green bar under the creeper spore?
can we kill the spores/slow them down from creating creeper?
Micro-rifts; Wormholes?!
AGH soooo many questions!!!! =P
I wouldn’t assume that anything you see if ‘final’. That said, some things will be or will be very close. There may be different tile sets for different types of terrain as well. You can only see two types of terrain in this small picture.
The bar under the Emitter is indeed it’s health. I may change it to something other than a green bar, but Emitters do have health as they can be destroyed in game 2. In fact, destruction of the emitters is the primary goal of most maps in game 2.
Micro-rifts are something I will talk about in another blog post (either today or tomorrow). I think they are cool and they solve a really important problem….
Definitely complex, I could not figure that out…
It does look very cool, and from the picture and explanation of how a launcher shoots, I think I just figured how the map will look (if I missed this being explained in one of the other blogs) or what its point of view will be. CW1 had you looking down over the entire map, and this one seems to have the bottom of the screen being the bottom of the map and the top being the top.The best example I can think of is Dig Dug. So you will need to work your way down (or up) to reach the goal (whether there are still totems or not).
Yes, game 2 is from a “side” perspective. You will be excavating down, sideways, and all around. There will be different terrain types, some of them which can’t be excavated, some of them which take a lot of energy to excavate, and some of them excavate easily. Sometimes you will find existing cave networks and sometimes you will find chambers that have hyper-compressed creeper in them. Whoa to the commander who opens one of those chambers unprepared.
And one of your primary goals is the total destruction of all Creeper as well as the Emitters…. This game is about taking back those worlds lost to the Creeper attack, so show no mercy. Of course, you may find that Creeper emitters aren’t the only thing you have to worry about at the founding of this second great and bountiful human empire.
when is it gonna be realeased
There is no set release date yet, but I my hope is to have it out later this year.
This Launcher thing seems like a smart idea for replacing the Mortar. Personally, I’d think it’d be good.
Though there is one thing I keep thinking of, which is that any guided projectile launcher ought to have unlimited range straight down, since, you know, they can probably fall pretty well. But that’s just me.
And these Micro-rifts sound an awful lot like some sort of teleportation device. I am intrigued.
OK, so in trying to get a feel for the game from one *tiny* screenshot, lemme see…
There seems to be a tunnel dug from the top that “discovered” an emitter sitting on a pool of creeper.
Since the launcher is at the far end of the tunnel, one presumes that the launcher dug the tunnel? Did it dig on autopilot or was it steered to form the tunnel in the shape it is in?
How did the blaster get past the emitter? how do energy packets get past the emitter to power the launcher and blaster?
Did that pool of pink creeper accrue from the emitter? Was there already a cavity or is it some failed excavation that allowed that space, or is this some of the referenced “high-pressure” creeper pools?
“Tell us more, tell us more” 🙂
“How to dig” was one of those topics I had to think long and hard about. I tried numerous strategies for letting units dig, and having dedicated digger units. These kind of things could be made to work, but they all seemed like just a tad too much micromanagement.
So, I have developed a system where packets themselves do the digging. You just have to paint the terrain that you want dug, and packets start getting dispatched. Once on target, they hit the target terrain and weaken it. Now, packets can’t just fly anywhere on the map. First, they have to be able to reach the terrain they are targeted towards. Second, these packets flying around are powered by an energy field projected out from “Beacons”. Packets can only travel when in range of Beacons (which have a pretty generous range). And you guessed it, this will be explained in detail in a future blog post. It’s one of the more innovative aspects of the game (I think) and it extends a concept in game 1 that I really liked.
As for unit movement, units and packets can move past each other. I experimented with units “blocking” their path, but that was just really frustrating and diminished game play.
In the small sub-screen shot in the post, that creeper did come from the emitter. There was already a chamber that the emitter was “living” in. In this case, I excavated down beside and below it. I actually got to it before the emitter had completely filled the chamber (it’s a test map so I can get to things really quickly).
That does indeed make sense. Although if the missile path is only ignoring paths that use squares outside of range, but have no range limit in and of themselves, would the launcher’s range actually be the range for its launcher-to-missile communications? Additionally, if it targets the thickest creeper in range, can it be assumed that this missile is creeper-resistant?
Yes, the missile is creeper “resistant”. At least long enough to get to where it is going. It’s resistant in the same way that Blasters and Launchers and such can take a little damage from the Creeper.
This does not mean that every unit in the game is Creeper resistant. Repulsors are very sensitive and the slightest touch of Creeper destroys them.
What’s this? Repulsors?
I sense a force field in this game’s future.
Indeed… Repulsors can push Creeper around (including your own friendly Creeper). Repulsors project a beam in the direction they are pointed (you can rotate them) and can help contain evil Creeper, or help get your own Creeper where you need to get it… I sound like a broken record, but there will be a whole blog post about this as well.
We’re going down a hole here (pun intended 🙂 )
“Friendly creeper?” Do we create our own or subvert existing “bad” creeper?
“Yes”.
I’ll leave it a mystery as to whether that is a yes to one, the other, or both.
When can we expect the beta testing version to come out?
I don’t have an exact date…. but I would estimate in the next three months.
Sounds like everything is going well then.
Hope we get more screen-shots!
emitters with HP… that could be a way of making VS multiplayer!
So how many testers will you have for the game
Welcome to free game park play free game pc, there have more free game to play, as family feud free game & chess free game.
yay friendly creeper
will the beta version be free for everyone
untill the proper one is released