Wallcraft

A game for the "Use ODE" assignment by Celestine Lau and Bo Xian See Texture map from google images: photoshoptextures.com. Splash screen pieced together from images from Blizzard, and http://lukechandler.files.wordpres.com/2009/08/dscf0074.jpg. Much physics code taken from example game "Topple", and referenced from the ODE manual.

Goal

To create a game that utilizes realistic physics in a way essential to gameplay. The game itself aims to create a new twist around the old Tower Defence concept.

Method

The player has to defend the city, which is a grid of 10 squares, from being attacked by siege weapons. To do this, the player will build a wall of blocks of different sizes. The wall follows realistic physics, so the player can cause the wall to topple on his own city through poor placement.
After a certain time limit, a large object will be "fired" at the wall in an attempt to damage the city. The player can progress if he keeps at least half the city alive. Money is earned which allows the player to build more blocks.
The player can use a "Spy" option to see the incoming trajectory of the attacking objects. Doing this will cost the player some money.

Novelty

Although many Tower Defence variants exist, this game is novel in that it actually requires the building of the wall manually. The means of attack (large flying projectiles) also makes for a rather realistic simulation of actual siege combat, and the difficulty of repairing a damaged wall after each attack.

Results

We were very satisfied with the overall feel of the game. The physics engine from ODE was very well behaved and provided a good simulation. The overall game also had a good sense of purpose, as the player struggled to proceed to each subsequent level by utilizing different wall designs.
The controls in the game could probably be improved, though, as there are about 12 different key controls in total (not to mention the mouse). In the future we would consider different control schemes that allow for manipulation of objects in 3D space with fewer controls.