All posts

Kubaria

July 17, 2026

When Roblox got blocked in Russia, my kid was crushed. My first thought was simple enough: I'll write a compatible engine. The API is open, the docs are public, all that's left is to implement it.

One look at that API was enough to see why nobody had. The job is enormous. There are years, in places decades, of engineering under the hood.

But is that a problem for an LLM? Challenge accepted: kubaria.ru.

About a month and over a hundred thousand lines of code. The game itself was never really the point. I wanted to work out how you build software in the age of neural networks, when the output grows past what one person can hold in their head.

Here's what I took away.

The core of the system has to be small, simple, and carefully designed. Otherwise the whole thing starts falling apart, and fast.

Regression and overengineering are the real killers. TDD and regular semi-automated refactoring are non-negotiable, along with strict protocols for clearing out dead code and KISS taken to the extreme.

The human is the bottleneck. Manual code review, manual testing, even manual deployment slow everything down by a factor of ten, sometimes a hundred. Every manual step has to be scripted and pushed into a harness or an MCP server. A night of agent work, ten thousand lines of code, and a few pages of report waiting for you in the morning. For the game, the biggest speedup came from adding a scripting API, which let the agent build and exercise complicated scenes and scenarios on its own.

The agent has to see not just the code but the result of its work. And ideally not through screenshots. In my case I dumped the scene and the GUI elements as a text tree.

Set the invariants. Roblox ships a JSON file describing its API. I ran a code generator over it to produce stubs for every class along with the metadata, and the agent worked on top of that API, which kept it from drifting too far off target. The real breakthrough came when I hooked it up to the MCP server built into Roblox Studio. After that, in a single night, Claude Code reverse engineered the undocumented binary format of the voxel terrain. I was stunned that this was even possible.

As for the quality of the resulting code, judge for yourself: sourcecraft.dev/ermakdev/kubaria.

Oh, and Roblox got unblocked again.

Read other posts