John Hannagan Blog Projects Photography

Minicar Madness!

Minicar Madness is an old-school arcade styled racer inspired by titles such as Mario Kart and Diddy Kong Racing.

This project was awarded The WA Industry Selected Games Design and Programming Prize


A fun, old-school styled racing game where the aim is to power slide! This project was completed for ICT207 (Games Design and Programming) in Semester 2, 2009.

It was a 2-part assignment, part one involved maintaining extending a legacy code base which modelled a section of the the Bush Court area at Murdoch University. We extended the 3D world and modelled the Tavern section of the university, including the closest wall to the Tavern. The second section of the assigment involved creating our game, and the transition between the two worlds.

One of the goals of the assignment was teachinng students the extension, encapsulation and management of old, poor quality code. For example the original world was built in 1 main.c file which contained over 5000 lines of code and hundreds of #defines.


  • Lap timer, and a ghost car showing your fastest lap
  • Multi-threaded particle system
  • Hardware-accelerated bitmap font rendering system which loads AngelCode Bitmap Font Generator files
  • Game states organised using a state pattern
  • Hand rolled sphere and wall collision detection
  • 3D terrain meshes, loaded from heightmap files
  • Maps are generated from a single loop of points, stored in a config file
  • Power sliding leaves tyre marks on the terrain
  • Invisible checkpoints and wrong-way detection


Date: Semester 2, 2009
Lanauges: OpenGL, Boost, Glut, OpenAL, GLee
Libraries: XNA
Team: Me, David Clark, Troy Cumpsty (sound)


/_projects/minicarmadness/screenshots/mcm06.jpg /_projects/minicarmadness/screenshots/mcm03.jpg /_projects/minicarmadness/screenshots/mcm02.jpg /_projects/minicarmadness/screenshots/mcm08.jpg /_projects/minicarmadness/screenshots/mcm09.jpg /_projects/minicarmadness/screenshots/mcm04.jpg /_projects/minicarmadness/screenshots/mcm01.jpg /_projects/minicarmadness/screenshots/mcm07.jpg /_projects/minicarmadness/screenshots/mcm05.jpg /_projects/minicarmadness/screenshots/mcm10.jpg