Doomenstein

Game Features:

Per-Pixel Lighting Effects

In Doomenstein, two different types of lighting models were used. The first lighting model used is a directional light that is represented as the sun light throughout the entire map. The second lighting model used is point lights. These point lights can be data-driven in the map definitions with attributes for a world position, range, and intensity.


Billboarded Sprite Animations

For the AI and player animations, an animation rendering system was created. In this system, the correct animation to render as defined by the actor definitions and actor sprite sheets, is based on two components. The first component is the result of the dot product of the camera forward vector and the direction to the viewable actor. The second component is the current time of the animation clock. Together these components define the correct animation to render per actor. Also, each sprite animation is rendered as a rounded billboarded quad containing normals associated with each vertex to allow for per-pixel lighting on the actors.


XML Data-Driven Gameplay

All gameplay constants were organized into an XML definition system. This system contained definition files for the overall game configuration, maps, tiles, actors, projectile actors, and weapons. By using this XML data-driving system, all gameplay variables became accessible to edit in any text editor while also providing an increase in human readability which is very helpful for level designers when adding new maps, weapons, and actors.