Friday, August 26, 2011

T minus 15 days - Ghosts + Physics

I'm incredibly embarrassed by this. Early on, I made the really lazy, stupid decision to make it so enemies wouldn't collide. Of course, I had my reasons-- originally the game was going to include mobs of zombies (200+ on the screen at a time) and with my silly brute force physics engine, that would scale terribly. However, with an arcade style game, the maximum number of enemies will probably be under a dozen.

But really, it was just laziness. Anyway, I decided it just wouldn't fly. Enemies changing directions when running into each other is absolutely vital to this game style. Before, different types of enemies never affected each other. The variety added by having two different types of enemies on the screen was the sum of its parts. However, if the enemies can interact with each other, then the variety is multiplied-- because each enemies unique differences then effect each other. The strategies the player has to use to defeat each enemy must be altered to deal with the circumstances.

For example, without the ability for enemies to collide with each other, if I hit a werewolf (or crab from Mario Bros), I can simply wait at the other side of the level (because the world loops) for the werewolf to come around. However, given enemy-enemy physics, if that werewolf runs into something else, it will turn around and I will miss it. Before, I only needed a single strategy to defeat the werewolf. Now, I need more.

//

Ghosts. Ghosts are classic. I based mine off of the Super Mario Bros ghosts. Originally, I tried making them boids, but ghosts aren't boids. Ghosts are soulless individuals who never use teamwork. So, no matter how fun boids are, I had to scrap it. I'm thinking of maybe making a skeleton fish enemy so that it can be a boid (and swim around in little schools of fish). I think that's about all there is to say about that.

//

Changelog:
  • Better physics
  • Faster yeti code (now it draws ice in strips instead of in blocks)
  • Ghosts!



No comments:

Post a Comment