Maze Wars

Project Proposal by Martin Stacey


Maze Wars

Software

Object-oriented language with good GUI building tools

Covers

Object-oriented design and programming, Graphic user interfaces, game design

Skills Required

Programming.

Challenge

Conceptual ?? Technical ??? Programming ???

Brief Description

This project is in three parts: (1) Implement a computational method for creating random designs for mazes. (2) Implement a game to be played in a maze. (3). Implement a graphical user interface to enable the users to generate new mazes, see them, and play the game.

Coming up with good ways to generate random mazes will be a good project in itself. It would be interesting to explore the effects of changing parameters that determine whether there is only one route to the goal, or several, or whether the paths include loops. But there are a lot of possible games that can be played in computer-generated mazes. You can put relatively little effort into creating a very simple maze interface, and focus on creating good mazes, or try to develop a good game.

Variants

Some possibilities for games include: (1) A race game in which you have to move a player token up, down, left, right as fast as possible to get to the goal. (2) An exploration game in which you can only see a map of the parts of the maze that you've explored already. (3) A two player game in which you get to make changes to the maze as well as move your player token. (4) A shoot-em-up game in which you have to fight computer generated enemies or overcome obstacles in the maze. (5) A race game in which you have to contend with the maze changing as you go along. (6) An educational game in which you have to answer questions in order to be allowed through gateways.

You might like to provide the users with a way to specify the size and shape of the maze, or the parameters that govern the form they take.

You could also choose to focus on an especially appealing graphic design for your mazes, or create a mechanism for decorating mazes that are designed to be printed out.


Back to