Projects

Minimap Tool System for Godot Engine
Public Godot Engine addon (GDExtension in C++) for tile-based minimaps. It supports dynamic tile loading for large maps, basic blip markers, and a full map view for waypoints and navigation.
- Core addon architecture and Minimap node
- Dynamic tile loading and threading
- Visible tile culling
- Full map view mode
- Basic blip system
- Demo scene integration

Going Bonkers
Going Bonkers! is a local co-op game following two clowns, with a knack for bonking, as they fight their way through hordes of salarymen to brighten a dreary city in this twin stick bonk-em-up!
- PR lead planning, QA process, and risk tracking
- CI/CD setup with Jenkins and itch.io deployment
- Level streaming and level stitching workflow
- Checkpoint save/load prototype
- Build and Perforce tech support

Wasp Engine
Wasp Engine is a team-built game engine and demo project focused on creating a solid toolchain for level production and gameplay systems. The goal is to make iteration fast for designers while keeping the runtime systems robust and scalable.
- Blender pipeline add-on (tags, paths, collision)
- Interactable system (buttons, doors, audio points)
- Pickup integration and behaviors
- Collision import fixes and Jolt integration
- Level blockouts and demo maps
- Definition of Done checks for PRs

Level Streaming in C++
I developed a dynamic level streaming system for the Bee engine (CMGT Engine) that asynchronously loads and unloads GLTF models based on player proximity and camera frustum culling. I implemented multithreaded loading using std::promise and std::future, created debug visualization tools including a minimap and memory profiler, and optimized the system through performance profiling.
- Level streaming system
- Multithreaded loading
- Debug tools and profiling

Custom Engine in C++ with OpenGL
My first custom engine that I learned a lot on how to make a proper engine.
- Engine-game separation with fixed and dynamic timestep
- Timer system for delta time management
- EnTT particle system with emitters and component-driven updates
- ImGui tooling for live particle control and visualization
- Cereal JSON serialization for emitters and assets
- Cross-platform abstractions for input and device layers
- GLTF resource manager with reference counting
- Tile-based level editor with grid snapping and ImGuizmo tools

Souls Maze
SoulMaze is a first person Co-op game, based off of Pacman. A Gatherer and a Protector awake in a futuristic landscape. Fruit litters the ground and four spirits patrol this desolate maze. The Gatherer and the Protector must work together, synergizing their unique abilities, to ward off spirits and collect all the fruit.
- Heavy fog on the floor
- Make tools for designers
- Problem solving