Gamedev experience & projects
- Experienced in Godot, modest experience in Unity.
- Working on 1 large project, made & finished several smaller projects.
- Made libraries
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.