Game Development
I build games players actually come back to. Getting the install is the easy part, retention is where the real work starts.
Anyone can ship a demo that's fun for ninety seconds. The actual job is the boring middle: tuning the loop players return to on day two, day seven, day thirty, long after the trailer footage stops mattering. That's the bar I hold my own work to, and it's the lens I bring to every gameplay system I touch.
Procedural generation is where I spend most of my time, particularly constraint-based approaches like Wave Function Collapse, describing local rules once and letting the algorithm generate content that still feels handcrafted. It's a good match for how I think: define the grammar, then get out of the way and let the system surprise you inside it.
I keep gameplay logic engine-agnostic wherever I can, plain C#, no MonoBehaviours in the core simulation, so it's testable outside the editor and portable if the project ever needs to move. Unity's job is presentation, not the source of truth.
Engines & Runtimes
Languages
Systems
Pipeline
Software Engineering Lead · Jowi AR
Jan 2022 — Jun 2023