Endless Runner
Infinite levels, zero GC spikes. Chunk-based proc gen with a queue-based object pool — event-driven architecture keeps spawning, scoring, and audio fully decoupled.
Hello, I'm
Game Developer
I build the systems that make games feel alive — AI that thinks, procedural worlds that surprise, editor tools that get out of the way. Three years deep in Unity 3D — with supporting experience in Unreal Engine and Godot. Based in Serbia, open to remote.
Not a stack I landed on by accident — these are the tools I reached for and stayed with.
3+ years
Supporting experience
Supporting experience
Primary language
Daily driver
Coding & design workflow
Things built with intent, not just output.
Infinite levels, zero GC spikes. Chunk-based proc gen with a queue-based object pool — event-driven architecture keeps spawning, scoring, and audio fully decoupled.
Five-state AI (Idle → Patrol → Chase → Investigate → Search)
built on an IEnemyState interface — every transition explicit, every state independently
testable. Detection runs through a field-of-view raycast system
that accounts for cover geometry.
Open to roles in Serbia and remote. If you're building game systems and want someone who treats architecture as part of the craft — let's talk.
Message received — I'll get back to you soon.
Why Instantiate/Destroy caused frame spikes in my Unity thesis project, how a Queue-based pool and a static PoolManager fixed it, and the trade-offs that came with that design.
How I replaced a tangled update loop with a generic IState/StateMachine pattern — what I learned about GC allocation, coupling, and designing for change.