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

Zombie Lab OpenGL 3.3 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

  • Immersive 3D sounds
  • Interesting and funny puzzles
  • 3D models imported from a 3D model creating software
  • Physics
  • A zombie that you can shoot and kill!
  • The ability to shoot spheres that will bounce off objects that have collision

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:

  • Converting the entire rendering code from DirectX 9.0c to OpenGL 3.3
  • Creating vertex and fragment shaders
  • Sound
  • 3D model importing
  • Lighting
  • Gameplay
  • Design of the game (initial concept and implementation)
  • Impelmentation of Octrees and a Physics engine which were developed by my classmates
  • Creation of 3D models

Programming Challenges

The biggest challenge with this project was the fact that my partner and I had never learned or touched OpenGL prior to this, coupled with the fact that the course that this project was for did not actually involve OpenGL at all. I decided that I wanted to do this project in OpenGL as I wanted to give myself experience with graphics API's other than DirectX and after I mentioned this to my professor and partner they agreed.

In the 2 months that I worked on this project I learned how to work with OpenGL from the ground up, which was actually fairly difficult due to having become accustomed to the way DirectX works. Firstly the documentation for OpenGL is nowhere near as organized or helpful as the documentation for DirectX. On more than one occasion I found myself sifting through the giant document that is the OpenGL 3.3 specification. The books that were available for OpenGL were also not quite up to date and I was surprised at the amount of them that were using code that had been deprecated for quite some time (such as the function ftransform() in the vertex shader). We could have used the deprecated code and that may have made our lives easier, however since we were just learning OpenGL we wanted to not rely on using a backwards compatible context and as such we endeavoured to find the new ways to do the things we needed without using deprecated code.

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
  • Fire Projectile - SPACE
  • Answer Riddle - Number 1 - 4 depending which option you want

Game Download

Before you download the game you will need to install GLEW. You can download GLEW from the following link: GLEW download

From the GLEW zip file, copy the following files to the following locations: *note v7.0A can be replaced with your version number

Windows (XP/Vista/7)
Content from downloaded folders 32bit 64bit
Destination Folder Destination Folder
Lib ( glew32, glew32s) C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib
Include (GL folder) C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
Bin (glew32.dll) C:\Windows\System32 C:\Windows\SysWoW64

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