Game Development Personal Development

Thousander Club Update: January 29th

For this week’s Thousander Club update:

Game Hours: 262.25 (previous year) + 13.25 (current year) = 275.5 / 1000
Game Ideas: 616 (previous year) + 0 (current year) = 616 / 1000

This past week I managed to add a few more features to my Space Invaders clone. One feature is an explosion effect that occurs whenever the bullets in the game hit some object. The animation is simple as it is just a white ball that gets bigger before shrinking down again. I used a combination of the GIMP and ImageMagick to create the image.

Originally I spent some time trying to generalize an effect system. I was going to try to create an effect processor, as well as an Effect class that all effects would inherit from. It didn’t take me long to realize that I was going about this problem the wrong way. I knew I wanted an explosion effect, and I also knew that I will likely have other kinds of effects that would be handled the same way. Of course, I didn’t have a current NEED for handling generic effects, and to try to write code for a hypothetical need is what I am trying to avoid with this project.

When I attempted to write the component-based game engine, the entire project was an exercise in trying to guess future needs. I just didn’t know what was needed or how I would address it, and the entire project stagnated.

With this Space Invaders project, I am making actual progress by only implementing what I need when I need it. Maybe it is hacked together, and maybe it has things hardcoded that might be better off in a data file. I can always fix it later if it becomes an actual problem.

The other feature I added was a time delay for restoring the player’s ship. Previously if you lost a ship and the game wasn’t over, a new ship would appear instantly. In fact, it was so quick that if your ship was anywhere near the middle, it might not look like you lost it at all. As I don’t currently have anything to indicate the number of ships in reserve, you can easily get confused if the game was over and you thought your ship only got shot once. Now there is a timer that waits about three seconds before restoring the ship, and I think it makes it much easier to know that your ship was lost.

Neither one of these features actually changes the gameplay significantly, but they both go a long way towards a completed, professional quality project. It is almost as if the game without the explosion effect and the game with the explosion effect are completely different in quality. Now if I add sound effects, it will probably make a world of difference. B-)