Winter 2012 | Project Length: 9 weeks (Coursework)
A 2D platformer game created in C++ using DirectX 11. Personally created the basic engine architecture, designed and implemented a 2D sprite rendering system, and implemented collisions, levels, and enemies in the final game. Created in a team of four.
Project Goals & Requirements
Create a 2D game using C++ and DirectX 11. The game world must be larger than the screen.
- Designed and implemented basic engine architecture.
- Created a 2D sprite rendering system in Direct3D.
- Created a level and tile set system for easily-editable levels loaded at runtime.
- Implemented enemies, including a simple boss fight.
- Implemented platform collisions.
- DirectX 11 is a bit intimidating at first, but once you start to develop your engine, it becomes a lot easier to use. Setting up DirectX only has to be written once, after all!
- Teammates have to hold each other accountable when the situation calls for it. We had trouble keeping up our momentum during the project after we’d all miss deadlines and then not worry much about it. In the end, we were able to pull off the project, but not without a considerable crunch toward the end that could’ve been easily avoided, and not without having to drop a number of features that we would have liked to implement.
- Debugging a graphics engine can be difficult! Simple mistakes, such as placing your camera in the wrong position, can cause absolutely nothing to be drawn to the screen at all with very little to steer you in the right direction.
- Keeping a clean interface to your code is incredibly important. Keeping our code base easy to use allowed us to pull through in our crunch at the end without getting bogged down in implementation details.
Heretics – Binary.zip (22.5mb) – Binary files for Heretics; can be run without compiling.
Heretics – Source.zip (16.1mb) – Source code for Heretics. Does not include binaries. Project created in Microsoft Visual Studio 2010.