Home
C++ Projects
C# Projects
Java Projects
Python Projects
Maxscript Projects
Resume
Contact Me
Damien McGrath's Programming Portfolio

Zombie Lab DirectX 9.0c Version

Zombie Lab is a horror/puzzle game in which you have to escape a laboratory which has been overrun with zombies due to a failed experiment. In order to escape the lab you must solve the strange and funny puzzles that the head of security has set up in order to prevent intruders from escaping while the lab is in lockdown.

Armed with only a flashlight you must go to the three computer terminals that are still active in the lab and solve the puzzles. If you fail to solve the puzzles within 5 minutes and escape the lab then the zombies will devour you.

Features

  • Customizable controls with keyboard and joystick support
  • Immersive 3D sounds
  • Interesting and funny puzzles
  • 3D models imported from a 3D model creating software

My Role in This Project

This project was a group project and for it I worked with one other person, also the basic engine for the game was provided by our professor. The specific parts of the project that I worked on are as follows:

  • First person camera
  • Sound
  • 3D model importing
  • Lighting
  • Puzzle design and implementation
  • Gameplay
  • Design of the game (initial concept and implementation)
  • Custom cylinder 3D object which is used in the puzzles
  • Creation of 3D models

Programming Challenges

Zombie Lab was the first 3D game project for my partner and I and as such we faced some challenges during the development of this game, such as: first person camera issues and creating a light that functioned like a flashlight.

For the first person camera we wanted a fully functional first person camera which could move around as well as yaw and pitch properly on all axies. At first I had issues with the camera not yawing or pitching properly which was fixed by changing the order in which I did my calculations for yaw, pitch and roll. Then I was having issues with the camera going into gimble lock as I had the camera rotating on 3 axies. I fixed this by simply making it so that the camera did not roll as it was not nessecary for a first person camera and without the camera rolling it was no longer rotating on 3 axies and thus would not go into gimble lock.

Screenshots

Code Sample

The following link contains a zip file with some of the important code used in this project: ZombieLab Code

Controls

  • Move Forward - W
  • Move Back - S
  • Strafe Left - A
  • Strafe Right - D
  • Move Camera - Mouse
  • Show/Hide Puzzle - R (must be standing in front of one of the monitors on a pedestal)
  • Rotate Piece in Picture puzzle - T
  • Change current piece in picture puzzle - Y
  • Toggle Flashlight - Q
  • Answer Riddle - Number 1 - 4 depending which option you want

Game Download

Download the game files here: GameDownload

Depending on your version of the DirectX runtimes you may need to install the newest version to run the game. You can install the newest version by going to the following website DirectX runtime download

Home C++ Projects C# Projects Java Projects Python Projects Maxscript Projects Resume Contact Me