| Personal Projects | |
|---|---|
|
Kurveball Designer-driven root motion library. C++ |
Kurveball is a designer-focused, curve-driven root motion library that decouples movement logic from game state. Most movement systems rely on imperative code: "If input is held, add velocity." Kurveball flips that: you define a velocity curve (a graph of speed over time) and a few parameters (direction, axis mode, looping). The system then integrates that curve over time to calculate exact position and rotation. The library handles the heavy lifting: numerical integration, coordinate space transforms, and masking. Motion can be looped, time-stretched, speed-stretched, bound to 3D splines, masked by axis, and more. [Github repository] |
![]() Super Nintendo emulator. C++ |
WildSNES is an emulator for the Super Nintendo Entertainment System. It is a passion project still under development, and it cannot meaningfully run any commercial ROMs yet. I have completed the emulation of the CPU itself (Ricoh 5A22), but PPU (video) emulation is only about 15% complete. SPC (sound) emulation is not implemented. [Github repository] |
![]() Gray Day VST Plugin. C++ |
A tape echo simulation inspired by the classic Echoplex and Roland Space Echo units. [Download VST] |
PyDNAMultiplatform. Python, Tk. |
An application of genetic algorithms. Uses natural selection to guide a population to have "chromosomes" that resemble an input image. [Video/Details] [Python Source Code] |


