Games

I’ve been programming since 2013 and worked with over 20 different languages, ranging from OOP and functional programming, to logical programming and whatever PHP is supposed to be. Initially, my focus was mostly on traditional AI and machine learning, but around 2018 this focus shifted to game programming and engine programming. Since 2018 I have almost exclusively worked in C++, with an occasional intermezzo in C# whenever I was working on a Unity game.

At the Game & Media Technology master in Utrecht I did more engine related projects like graphics, physics, and navmesh generation. Since 2020 I’ve pretty much only done game programming. Over the past three years at Yvora Game Studio I worked fulltime in Unreal Engine C++ as the technical lead.

Professional

Yesterday’s News (Unreal C++)

Yesterday’s News is a 3-8 player party game in which you write the craziest newspaper headlines. Each player starts by writing some random words on cards. Then those cards are shuffled, and everyone gets a hand. It is only then that the game reveals what news item you have to write about. When the headlines are in, you vote on the funniest. The player with the most votes wins.

Towns of Yore (Unreal C++)

Towns of Yore is a cozy crafty building game by Yvora Game Studio. As the technical lead on the team I’m responsible for planning and writing the game’s systems, communicating with the creative lead, and assuring the maintainability of the code base. The game is currently in preproduction and has no official release date yet.

Gates of Yore (Unreal C++)

Gates of Yore is a multiplayer RPG in which players can create their own dungeons. You can build an environment, author combat encounters by placing NPCs, and create storylines by making the NPCs talk. When the dungeon is finished, you can host a game as the DM and watch your friends play it from a God-like perspective. As the single senior programmer on the team, I was responsible for planning the implementation of new features, writing the game’s systems, and coaching my junior colleague on practices like separation of concerns, encapsulation, and proper code structure.

The game had been in development for almost two years when it was discontinued.

Game Jams

Lootbox Inc. (Unreal BP)

In 2023 we joined the GMTK game jam with 1 artist, 1 animator, 1 producer, and 2 designer/programmers. Because the jam theme was Roles Reversed, we created a game where you play as a lootbox operator that tries to maximize player spending by withholding the loot they want to win, while also preventing them from becoming too frustrated.

You’re the Die, Ruin the Game (Unreal BP)

For the 2022 GMTK Game Jam, I teamed up with my 2 colleagues at Yvora Game Studio to create You’re the Die, Ruin the Game. The team consisted of one artist, one programmer/tech artist/designer, and me (programmer/designer). The game managed to reach the top 3% of submissions according to user reviews.

Torn Apart (Unreal BP)

In 2021 me and 1 artist joined the GMTK game jam. We thought it’d be fun to create a cinematic game jam game, so we developed a short story about a teddy bear that had been ripped to shreds by a dog and attempts to put itself back together again. With every body part it retrieves, it also recovers the functionality of that body part.

Root Rebellion (Unreal BP)

For the 2023 Global Game Jam, I teamed up with my 2 artists, a designer and an animator to create Root Rebellion; a short story about vegetables taking revenge on the farmer that tried to harvest them. The gameplay consists on growing new vegetables and throwing them around to progress through the game.

Post Mortem (Unreal BP)

Post Mortem was my first medium sized game in UE4. It is a branching dialogue between you and the narrator, similar to The Stanley Parable. In every room, the narrator poses a philosophical question, to which the player can respond by going through the door of their choice. I made it really easy to change and test a different room structures by making the rooms spawn in only when they’re needed. The narrative designer (aka me) could author the content using blueprint nodes, passing the text above the doors and the audio file as parameters, and connecting the node to the rooms they lead to.

Student Projects

Lighthouse 2 Pathfinding (C++)

Lighthouse 2 is a ray traced game engine created by Jacco Bikker, graphics professor at Utrecht University. In this 10 week project I implemented the open-source Recast/Detour library. When I joined the team, the C++ engine consisted solely of a flexible rendering module and a UI library. I integrated Recast navmesh generation, Detour pathfinding, and wrote a GUI debugger app that lets you generate- and edit the navmesh, add off-mesh connections, and identify problems with agent pathfinding.

Challenges

  • Working in an existing code base of a “work-in-progress” game engine
  • Addressing, or circumventing, bugs in the rendering module

Ray Tracer (C / C++)

I’ve written a couple of ray tracers in university. This once specifically was built from scratch using SDL and CUDA. It included reflections, refractions, volumetric lighting, a bounding volume hierarchy (BVH), mesh loading, UV texture mapping, animations, Blinn-Phong shading, and GPU acceleration.

Challenges

  • Efficient GPU programming with CUDA in C
  • Fitting all necessary ray information into 4 bytes for optimal memory copying to the GPU