Dark Crescent (RECENT)

This game was made in C++ with a custom engine & renderer and was released on Steam. It’s a roguelike cardgame where you collect monsters and try to get as far as possible: https://store.steampowered.com/app/3541730/Dark_Crescent/

For this game, I tried to do everything from the ground up, and as low level as possible. The game is made entirely using linear allocation, with custom allocators. This includes graphics memory. The graphics are done with Vulkan, and most of the scenes are rendered with a single draw call. This was made possible by using bindless instanced rendering. In other words, I create a texture atlas combining all textures and use a single vertex/fragment shader to instance the entire scene.

The cards themselves are excluded from this, because I wanted to keep it scalable and do not want potentially hundreds of cards to be in memory for no reason, even if they’re just pixelart, low resolution textures. So the card art is actually streamed on demand.

The logic is mostly written in a Data-Oriented / Job System way, with some OOP having been used for the management system.

As for the rendering itself, I used some techniques like Vignette, Chromatic Abberation and a custom pixel-highlight effect, where I tried to simulate the feel of older screens. I also had 3d lighting and normal maps for the pixelart, but ended up only implementing it for the starting monster, since it was very time consuming to try and make a 3d representation of over a 100 cards.

Because I used my own engine, the game’s file size ended up only being 25MB, with 80% of that size being the audio files.

About me

I’m a programmer that specializes in AI, Graphics, Algorithmic Stock Trading and Low Level Optimization.

Skills

C, C++, C#, Python, Java

OpenGL, Vulkan

Unity & Unreal Engines

Tensorflow, Keras, Pytorch

VR & AR Development

Git & Perforce

Work experience & Education

Machine learning Engineer at GSWRX

Programming Internship at VR-Producties

IT-Specialist Internship at GSWRX

HBO Propedeuse for Creative Media and Game Technologies at Breda University of Applied Sciences

MBO Degree for Game Development at Deltion College