Project Overview
Project Progress
Finished 100%

Genre

Custom Roguelike Engine

Team Size

3 People

Roles

Graphics Programmer

Platform

Windows

Duration

8 weeks

Rogue Engine is a small custom Engine made to develop Roguelike games. It was developed in collaboration with two other BUAS students: Lex Roovers and Pepijn van Loon.  

While originally intended as a custom Engine, it ended up being more of a custom library targetting programmers and very technical designers instead. It features completely procedural map generation (made by Lex), a custom D3DX12 renderer, a state machine that users can add custom states to without ever touching engine code and more.  

I developed the DirectX 12 renderer for this project. It is relatively simple, mostly because of the short amount of time we had to develop it and because the visual style we aimed for was as well.

What did I work on?

The Renderer

This renderer presented a significant challenge to me. It was my first serious dive into Graphics Programming. While I had worked with Open GL before, I now had to both learn DX 12 and develop a renderer supporting all of the features required by our target game in roughly 2 months. Needless to say, this proved a very stressful but also rewarding time during which I learned a lot. By the end of it, the Renderer supported the following:

 

  • Rendering (animated) Sprites in 3D space
  • Dynamic Point Lights
  • Phong Shading
  • The use of (several) texture atlases

The Renderer was also developed with Cross-Platform capabilities in mind. Initially, the Engine was supposed to support both the PC and PS4, but we sadly had to cut PS4 support due to a lack of developers. Thanks to this, however, I designed the Renderer with the ability to swap Backends. The Renderer is completely system-agnostic, while only the Backends implement system-dependent behaviour (like the Windows backend). While it sadly never received another backend, it was still a good exercise in cross-platform design.