AquaWars Development Diary – Week 1

So since I have had this blog for nearly two years and barely posted anything I have decided to begin using it. I will be posting weekly updates on my progress with my current project, AquaWars X (Working title). The game is a remake of my second game, AquaWars. I worked on that game while I was in college, so I never really fleshed out the idea like I wanted to.

The game is a retro-styled arcade shooter. Its main inspiration is a game I played on my TI-83 back in the day called SubHunt. In the game you control a boat which drops depth charges to destroy enemy submarines. In AquaWars X you will collect “spare parts” from destroyed submarines which will help you upgrade your ship throughout the game. That is the basic gameplay of the game.

So on to development. This week was mainly spent building up the “engine”. I am using Cocos2D which gives nice Sprite classes, but having a layer on top of this really helps to streamline development. I made a little chart before development of how I wanted the design to look


The design ended up being pretty much what I went with. I tried to stick with strict MVC, but in this case I decided to make a few exceptions. The view is essentially passive. The controller takes input and the model contains and updates the view (CCSprite). This means my code won’t be quite as reusable and harder to switch from cocos2d, but these are not things I care about as my goal is to create a fun game, not code that will be reused for the next 50 years.

I designed some basic sprites, the look of the game now is pixel art based, to go with the retro feel. Here is the first screenshot:


Still a long ways to go! The biggest gameplay change from the first AquaWars is that the screen scrolls horizontally now, so you have a much larger playing field. The game is also going to be level based rather than completely random like the original. This will hopefully allow for some cool boss levels.

Anyways, that is all for this week. Stay tuned till next Friday for week 2!