AquaWars Development Diary – Week 2

So the second week of development has come to an end. This week was primarily back end work to build foundations for the game, although I did end up adding a few cool front end features as well. I’ll go over one of those first.


One thing I knew I wanted in the game since the very begining: iCade support. And this really took less that 20 minutes to implement but if you have an iCade it totally rocks. The SDK is really simple and is available on GitHub here. If you are developing a game that can work with arcade style controls – you have to implement this. People with an iCade will love you. I may even end up adding iCade support to Rocket Chimp in the near future…

The primary things I worked on this week were backend related, specifically my GameObject class along with my level loading class. This game, unlike its predecessor, is going to be level based and have a cheesy “save-the-world” type storyline to go with it. It will still have a random “survival” mode like the original as well, but I think people will enjoy the levels and characters in the story.

The levels for the game are in JSON format. I chose JSON because of its human readability and compactness, at least compared to other text formats like XML. The added bonus is that I can use a library (TouchJSON) to load the file into a dictionary, so I don’t have to waste time writing some kind of parser. If worst comes to worst and I need to save space or improve loading times I can write some kind of intermediary binary packer/loader. But I don’t think either of those will be an issue.

In my GameObject class I cleaned things up quite a bit and made it a lot easier to create or reuse any object you need by building a factory class. This way enemy ships can easily spawn minions or fire off mines or torpedoes without having to rewrite a ton of code. So the enemy classes have been cleaned up and pared down to the basics, which is a good thing as it will make it a lot easier once I am creating enemies with more complex actions.

Unfortunately this wasn’t the most productive week, but I am also working on another web project simultaneously for what it’s worth. For next week I plan to have a few new things to talk about:

  • The first boss in the game
  • The first level set
  • Some new enemy types
  • Explosions!
  • Some in game character dialogue
  • Maybe some video footage…maybe.

Also, I just remembered that I will be getting my wisdom teeth removed this coming Thursday. So next weeks post might come a bit earlier…or later. We’ll see. 🙂