Demon Drum


Demon Drum is a 2D puzzle-platformer developed during my sophomore year at DigiPen. It was written in C++ over the course of 36 weeks. We had a team of four developers, two designers, one sound designer, and three artists. The game was implemented from the ground up and used a component based architecture as the engine design. I was interested in engine development at the time but felt more comfortable in a graphics developer role.

My role on the team was graphics programmer and tools.  I chose to use DirectX 9 as the graphics interface. Originally I had planned to learn OpenGL and DirectX hoping to emulate my favorite game company at the time and allow you to flip between both seamlessly. Unsurprisingly I was unable to accomplish that in the time-span that we had. Nor was I technically skilled enough to understand the differences between both implementations and the difficulty of creating switchable graphics APIs like that. The graphical fidelity really came from the quality of the artists work as the actual underpinnings of the graphics engine were trivial. Though it was tile based we never made any attempts to instance the tile data opting instead to use a CPU side culling method. Since tiles in our engine were objects we were able to do a little math to determine if they were outside of the bounds of the map and not pass them to the rendering API.

As the tools developer I created a 2D level editor using AntTweakBar (link) that could perform basic transforms, create objects, destroy objects, and load prefabs. We had no copy/paste functionality and no event driven logic in the editor. I also had a tile-editor built in that only displayed the one tile-map we had in the game. It allowed you to place and destroy tiles but again no copy-pasting of tile blocks or creation of tile prefabs. Lastly there was a parallax background editor. This allowed you to edit the multiple layers of backgrounds that we had in the game and change their translation attributes. The editor was simple and built to feed the specific functionality that we needed to make the game work. That was the goal and my first chance to explore tools development. It was a really fun process that feeds my passion for development to this day.

Demon Drum was an adventure that challenged us daily. With such a large team from our previous project we had growing pains and leadership issues. But it was a great learning experience that helped us learn what we did and did not like about development roles. In the end the game was polished and fun and the amount of work the team poured into it shows.

Find it oon the DigiPen Game Gallery: Link