Final Project

For my final project I was planning on building a simple doom clone where the player will control view the world from a first person perspective and be able to move around and fire “bullets” using keyboard input. There will not be enemies but objects in the world which the player will be able to shoot and destroy (using the Collision system I built). I was also planning on using Shantanu’s (Shantanu Pandey) Audio system for sounds for bullet firing and object being hit.

I managed to achieve all my goals for this project, namely using my collision system combined with another system to create a tech demo. I discovered aspects missing from my system that I had to fix and update. Also, there were some weird bugs I encountered while implementing the audio system (these surprisingly went away after making a few builds, which was troubling).

I also found the limits of our graphics system by simultaneously placing a lot of meshes in the level. This unfortunately caused me to limit the number (and quality/poly count) of objects I could place in the scene so that the frame rate didn’t tank to  < 3fps.

Still, I could’ve done more. I can still add Nicks Navigation system to make the demons move around and Yuxians AI to give them some behavior where they attack the player if s/he gets close.

Game Controls And Download

For this doom clone I have simple controls. The player uses the arrow keys to move forward, back and strafe left-right. F1 & F2 to look around and space key to shoot.

Download here DoomClone.

What I learned this semester

Even though it was stated at the very beginning that this class would not be focused on graphics programming (and it wasn’t), I learned quite a bit about how the graphics pipeline works. From importing the mesh and effect all the way to having it render on the screen, the ownership considerations as data is moved around inside the engine and, reading/writing data in different formats depending on ease of readability or storage.

Another slightly unrelated thing I learned was how Visual studio handles all the projects in a solution, how to keep track of dependencies and references and debugging the same when problems arise (read LINKER ERROR)

I also had a good revision of lua and managed to brush up my basics while working on assignments involving lua.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s