Gamedev experience & projects



Own War



Own War is a vehicular combat building game. Vehicles are created from small, basic blocks & can be used in battle against other players.

The damage system is voxel-based: blocks are destroyed piece by piece & any disconnected blocks are destroyed too. The physics adapt to any blocks being destroyed by adjusting the mass & shape of the vehicles.

The main feature are turrets: multiple bodies can be connected with each other, allowing the creation of both small and large turrets in many shapes.

Rapier3D bindings for Godot


Both Godot’s built-in physics and Bullet’s were unsuitable for my needs due to missing features or poor performance (broken HingeJoints, no manual stepping, no determinism …). Rapier3D does provide the features I and other developers need while also being able to handle significantly more collisions, so a port was made.

The port requires a C++ module which must be compiled with the engine. It then loads the Rust library wrapping Rapier3D and communicates using the C ABI for FFI.

Godot 3D outline shader


I was unable to find an outline shader for Godot that did not produce artefacts, so I created my own. The outline is generated using edge detection. A more detailed explanation is available in a blog post.



A prototype implementation of the game Werewolves. The backend is written entirely in Python. Clients communicate via a REST API endpoint and sessions are stored in an SQLite database. A web client is hosted here.

You are Alone


A dark puzzle where you need to find the exit without dying. The level is procedurally generated and the items are randomly spread, which improves replayability dramatically.

Other (less notable) projects

Beat the Witch


A very simple and crude platformer where the solution to each level involves dying.



A very simple text-based implementation of Tic Tac Toe