I have always found it easiest to learn new languages by looking at real working code. I've learnt a great deal from studying Ira Rainey's code, for example. However, what is sometimes difficult is to break down really big programs to learn from them without spending an awful lot of effort.

I hope to provide a greater insight into my program by showing it grow as different functionality is added. It also gives me the opportunity to discuss the problems encountered along the way and suggest solutions where appropriate.

This method of progressing with my game is not entirely altruistic. Each time that I'm happy with my code I've saved it and moved on with the next version. So, when things go disasterously wrong, I can go back to the last stage and start again. I've also tried to ensure that the code is easy to read and that I've stuck to standards that allow me to expand this easily. My boss would be proud of me.

My game started off by using what I needed from the "bouncing ball" demo code and has gone on from there. I've chosen a 2D game because I thought it would be easier. In my defense, the C language is new to me so I've been struggling.






My Philosophy



I think that there is one area of the standard gaming genres which now lies untapped: Multi-player games.


A game can be as simple as providing an arena and a set of battle rules for players to pit themselves against each other. I'm fond of the idea that when these rules are correct then the game becomes something much more; the game inherits the qualities of the players themselves.


I would suggest that the simpler and more natural that the rules are then the better the game. Good games of this genre do not have a finite lifespan. My friends still play SuperBomberman when there's a 64, PSX and PC sitting there.


The Game



This is a two player game. The arena is an overhead view of a house as you would see it on an architect's plans. There are two separate stages to the game. The first stage is where player one selects in turn a variety of traps to place around the house. It is announced that player two must look away or leave the room while this is done. In the second stage, player two must break in to the house, find the safe and get out with the jewels. While he is doing this player one is setting off traps left, right and center attempting to stop player one. Each successfully deployed trap injures player two. Either player two gets out with the jewels or he gets killed.


The Code


I have included all the source code here for each stage. Each one builds on the last stage, so if the intermediate stages are not of interest to you then it's best to just look at the last one. Also, at each stage I've included notes on what I've done and the problems I have encountered.



Stage One

Getting something on the screen (30.1.1998)




Stage Two

Moving it around (16.2.1998)




Stage Three

Displaying the house and stopping when you hit a wall (3.3.1998)




Stage Four

A bigger house and a scrolling mechanism... in progress









Email Me