Thursday, July 21, 2011

Welcome to the Endless Waves development blog

Hello,

I have been developing my first 'real' game, Endless Waves, for a little over a month now. The game's current home is over at indiedb. There you can find a small amount of information on the game, screen shots, and some alpha version downloads. My goal with this blog is to post any development related accomplishments/musings/updates/etc that I feel the need to share. Mostly for my own sanity, but feel free to read too. =p

Let's get this started with what's currently been on my mind, gameplay.

When I first started working on Endless Waves, I knew I wanted to make a "wave based" top-down shooter where the player tries to last as long as possible against increasingly difficult enemies. At first, I felt like I could add sizable depth and variance to the game with different enemies, weapons, and power-ups.

I added a store at the end of each round to buy different guns. I added powerups that dropped randomly from zombies, with varying effects. Things like proximity mines, damage boosts, player placed walls, and health boosts. I also added a knock-back attack to thwart off the inevitable zombie hordes that rush you in the later waves. Wasn't happy with the overall gameplay. It was fun, but just for a little while.

Changes needed to be made. I wanted to add meaning to what the player was doing. Opting out of the "arena" style gameplay I could do with backgrounds that change every x waves I decided to go with unique backgrounds every map. In conjunction with this, I wanted to add unique level geometries that affected how the zombies and player interacted each level.

Previously, zombies were generated using a simple algorithm that set health, speed, and type based on what wave it was. It worked well for the beginning waves but always grew out of hand in later levels. To fix this, I used the map files used to load map geometries and added in spawn points with direct control over total amount of zombies spawned, horde size, location, and timing between hordes.

In order to maintain these map files, a map editor was born. It isn't finished at the time of writing but will be packaged with the next alpha download and will allow for creation/editing of maps by both me and end users. After the map editor is finished I plan to introduce what I think will be an interesting "mini campaign" to try out these changes and to gather feedback on how the gameplay has changed.

There are a lot of other things on my mind. Things like a GUI rework, how to implement the feeling of a large map when moving through several smaller map levels, and adding rpg elements but they will have to wait till another post. I can't stop asking myself if my time would be better spent working on the game instead of writing about it..

Until next time,
Zack