Gamedev experience & projects

Summary

Projects

Own War

Github

IndieDB

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

Github

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

Github

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.

Werewolves

Gitea

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.