Category Archives: Programming

Maze Race

Maze Race is a simple game that I wrote as a C# Console Application. The game is based around the player solving perfect mazes in the quickest time possible by navigating from a corner to the opposite corner. A perfect maze can be described as a maze where there is only a single path between any two points and there are no loops. They are equivalent to trees in graph theory.

Initially I just had the desire to make a simple application that generated mazes of arbitrary size but I thought it would be much more fun and interesting as a game.


The game contains a number of modes:

  1. Ten level speed run – race around 10 mazes starting from a 5 x 5 maze and ending with a 15 x 15 maze. This mode has top scored and replays.
  2. Race the CPU – best out of 10 games with a choice of five difficulty levels.
  3. Race another person – best out of 10 games.

The technologies and techniques used are listed below:

  1. Recursive backtracking for automated maze generation and solving.
  2. ASP.NET Web API for posting scores and game recordings.
  3. Serialization of objects to JSON using Json.NET.
  4. Microsoft SQL database for saving the game scores and replays.
  5. AES encryption to prevent fake scores.

Download Maze Race and see how well you can do at the 10 level speed run!