Pages

About

Aim
Our aim is to create a chase type game prototype that will complete in a series of 5 articles. In this phase we will not create the complete game but a quick and dirty software that proves the game is acceptable. C# is chosen as the prototype's implementation language (VS 2008 Express Edition) but it could be any other available language out there.


Later, we will continue developing the full version following these steps: a. up to the on-device prototype version and b. up to full game development. In the latter phase the game will be complete using the C++ language and the EDGELib which is a cross-platform game development framework.

The whole idea was to write the code for the game (only - graphics, music and sound resources were already available) in 14 days for iPhone and that's why we are going to use specific resolutions and other features of this device.

The prototype finished in 5 days with a total of about 45 man-hours leaving just 9 days for the rest of the code. These hours include design of the game, writing and debugging code and some graphics with MSPaint (pixel by pixel). 

The beginning
To reach an end one should start at first and this is what we will do. Of course, in a postmortem article like this everything seems easy and cool but it seems so because a number of issues and problems have already been resolved. These issues justify the extra man-hours taken to get this result while someone that follows this guide to game's completion will definitely need less time than the one given above.

We have to define the aim for each development part, a process that we will follow till we finish the development of this game and it is useful because we have a clear plan of what we do each time. It is apparent that we cannot just sit in front of a PC and start writing whatever code we think of in an automated manner because we just add extra chaos in our work instead of coding.

Let's start planning our way of work till the game prototype completion using our favorite notepad of hours and a pencil. 

Prototype's development plan
1. Autonomous character movement [it took 10 hours]
For start we have to make characters able to move in a specific area (like a city in our case) avoiding buildings and without being trapped in a deadend. They should be able to move without following a repeating movement pattern in space in each execution, too.

2. Chase [it took 12 hours]
When characters get the ability to move in the city space the "hunters" should be able to hunt the hunted and the hunted should be able to avoid the "hunters". However, the "hunters" and the "hunted" should decide their moves based on each other position in space in a natural human-like way and not machine-guided one.

3. Navigation by selection [it took 8 hours]
Having solved the characters' movement issues on map, we continue with the player's navigation commands to each character. The same movement principles will be followed but now the player decides where the character will go and not the character by itself.

4. Graphics implementation - 2D view [it took 5 hours]
After having coded the logic behind game prototype we should take a good look at the graphics. How the game should look like, it works as expected based on development decisions so far. For now, we just port the available implementation to graphical interface.

5. Graphics implementation - wireframe map view [it took 10 hours]
We are a step before starting the actual coding so we should have a good idea about the game's presentation. We will not use the final graphics which will may change a number of times before the final version but we will be able to decide if it worths finishing it. 

Notes
During code writing there are some things we should take under consideration:
1. Characters should adjust to future changes, e.g. when the city scape and road pattern changes they should be able to continue moving without any problem.
2. Each new "game" should be look and be different than any previous one in respect to characters' movement so not to be monotonous at least.
3. Computer-driven characters should not take advantage of internal game language but they should look natural in a human-like way.

The given code is not optimised and some apparent bugs are expected but it was written in almost a man-week (45 man-hours) and the aim was to provide a quick game prototype in order to decide if we continue with the development or drop the whole idea. 

Credits
Although, many games match the concept behind this game this implementation is based on a PC game for Windows named CrimeCity(tm) by Games2Gaze which released in February 2008 (2 years ago). This game is being sold in shops in German-speaking countries and Russia additionally to internet directly from game's page (for just $4.99 now).

CrimeCity(tm) made a game thanks to the following people: 
Production: Games2Gaze
Development: ImmersionFX games
3D level design: Ancientidol studio
Graphics: Matthew-Carey Simos, Athina Avouri, Emmanouil Tsotros
Sound effects and music: Pedro Macedo Camacho - awarded with the IGF 2008 Excellence in Audio Award for the game Audiosurf
Code: Emmanouil Tsotros
Original idea: Michael Fragos

Finally, dozens of beta testers and game's friends !

 

Next: 1st part: Autonomous characters' movement