Wishlist for game number 2
Now when my first game is finished I’ve been thinking about game number 2. Spacefight is a fairly simple game but it has a lot of resuable building blocks. Like the animation and sound library.
The next game will yet again be a space shoot ’em up, but with side scrolling and proper designed levels. This will be the biggest challange to structure up some kind of level system. In the end of each level there will be a boss. It will pretty much game like Gradius for NES.
I’ll introduce a loading screen between each level. In spacefight a lot of the assets were loaded on the fly. This is ok for a small game, but for a larger game it might risk that assets won’t load in time, it might load from a webserver or a slow medium. It would be neat if there was a way to use a virtual static method for loading, but these things doesn’t work in C++.
The assets will be loaded as files and not from a PAK file during development. Commiting a big binary file every time a change occurs is not very code repository friendly.
Moving on to SDL 2.0
SDL 2.0 has a lot more features and updates. SDL now supports to hardware accelerated textures which uses the RAM in the video card, which is much more efficient and faster. I guess the rendering process is the biggest change.
Safer coding style
I will try to incorporate smart pointers in the next game, which hopefully will take away some of the head ache, in cleaning up vectors. I will also try to get more into all the functionality STL is offering.
Graphics and sprites
I think I will start trying to do most of the graphics first, at least for the first two levels. This will total in probably 20 enemy sprites and two boss sprites. Time to get ready!
Enemy and animation playground
I need a animation playground, so I can experiment with different movement patterns. Each enemy and especially the “bosses” will have their own attack and defense strategy, some minor “AI” would also be cool. Like when a boss has low health it goes into a defensive strategy. Each enemy should have at least one Strategy assigned to it.
Sketch and design game mechanics
One important bit I kind of overlooked in the previous game was that I didn’t spend enough time to look at the different relationships between the objects in the game. I’ll do a proper UML diagram for this game and figure out what kind of kind of communication needs to be implemented between the objects. I will make sure to do this as complete as possible before any code is written, to prevent ugly hacks.