BE A MAZE D
by Amanda Toan

CPE471 Fall 2014 - Professor Shinjiro Sueda
California Polytechnic State University

Program Description:

BE A MAZE D is a maze game. The game consists of two different difficulty levels: normal mode and hard mode. The normal maze, on a scale of 1, is a 10x10 maze, while the hard maze is a 20x20 maze. The mazes in the actual game are not scaled by 1, however. They are scaled by different factors in order to make the maze a little more challenging.

Implementation:

The original plan I had for the game was to be able to randomly generate mazes upon each run of the program. However, randomly generating mazes, while also keeping the difficulty of the mazes consistent with the difficulty level was a little more complicated than I had first imagined. Therefore, as I was limited on time, I decided to just generate a maze ahead of time and hard code all the positions of the walls.

A collision test was also implemented in order to make sure the user was not attempting to walk through the walls. The player for this game is represented by the camera. So when doing collision testing, the program tests the camera position against the edge positions of the walls. This method is a variation of the box-box collision test, except it's just a point-box collision test.

The game implements free look as well, having the user move around the world in a first person point of view. The user, however, is limited to only moving the camera left and right. The pitch angle was removed from the program as the user will not need to look up or down when navigating through the maze.

Sample Output:


Initial screen upon startup



General look of the gameplay



Black treasure box representing the exit of the maze

User Guide:

When the program is first run, the instruction screen will be displayed onto the screen. The instruction screen displays all of the keyboard commands that can be used in the program.

The user will use the wasd keys on the keyboard in order to move the camera, which acts as the player. The 'e' key can be used during gameplay in order to have the user move faster or 'run' in a sense. When the 'q' key is pressed, the game will return to the title screen. If the user finds themselves lost in the maze, he/she can use the 'r' key to reset the user position back to its starting position.

Commands:




The 'esc' key can be used to exit the whole program.

References:

Maze Generator http://www.mazegenerator.net/