Duck the Rules
RU Discord (opens in a new tab) Join the waitlist
Logbook

Prologue · July 24 to August 16 2026 · before day one

The school in a browser

The campus in a browser, floors pulled apart. Shot on October 16 from the last build of that project
The campus in a browser, floors pulled apart. Shot on October 16 from the last build of that project

Log entry: July 24

It didn't start with a school campus. It started with a horror game. On the evening of July 24 I asked for a night-time school like those Roblox games where you have to survive. And I said right away how I saw it: "The school should be like a whole city in what you can do, huge, lots of classrooms, floors, passages, as close as possible to real existing schools."

The first version was one corridor. I wrote: "Weird. Why is there one corridor and that's it. Don't cut corners, make a proper full school with good gameplay for an hour and a half." And also: "And I should be the player, not just some box."

By morning the horror had turned cute. The portraits on the walls became cats, the school's eleven residents could be fed, and the main mission was a watering can: water sixteen plants. We called it the cat school.

July 25, morning. The cat school: "Settle in at the cat school"
July 25, morning. The cat school: "Settle in at the cat school"

Log entry: July 25

In the afternoon I started over, in a new project. The first thing in it was a prompt for the flight engineer. The core of it: "the game has no open world. The whole world of the game is one school building and its yard." So the building has to be interesting to explore, not a box of rooms. And it should be built as data, not as geometry.

The first commit went out at 17:03. The school became a village: eight buildings around a shared yard. Three houses by age, four "workshops" for shared things, science, art and sport, and a café pavilion in the yard. A plot of 190 by 140 meters, 24 classrooms.

By night the campus stood in 3D, right in the browser, on three.js.

Log entry: July 26 to 28

Now you could walk around the school. The flight engineer applied the school design guide by Art. Lebedev Studio and MARKHI, the Moscow architecture institute. The same 1,126 pages that would later move to Godot. There were 133 light switches, 2,012 lockers with things inside and vending machines that took money from a wallet.

From the first day the sound was built in the browser out of formulas, without a single audio file. That habit would move to Godot as it was.

At first the kid ran at 31 meters per second, more than a hundred kilometers an hour. The speed was cut to a third. Then cut again: the kid still ran down the corridor faster than a car drives through the yard.

On the evening of the 26th a to-do list appeared, "like in Goose Game": ten lines of "Things to do today" that cross themselves out. For example: clean out someone else's locker, buy something from the vending machine, leave a tap running.

The 27th went to the staircase. Eighteen commits, from half past one at night to half past four in the afternoon. The stairs ran into the ceiling, and the flight engineer tried slabs, stringers, landings and a little hut for the roof exit. The root was somewhere else: a floor was 5.5 meters high, and a flat plane hung over the stairs. The floor height became 3.6.

Section of the staircase, July 27: a 3.60 floor and 24 risers
Section of the staircase, July 27: a 3.60 floor and 24 risers

The same day the light became "painterly": colored shadows, a bright rim along the edge. Six and a half hours later a cartoon style replaced it, with hard steps of light and an ink outline. The painterly one stayed as a spare and later moved to Godot whole.

The 28th had 66 commits. Shading in the corners was eating nine tenths of the frame, so it was switched off. The tap now runs until someone closes it, otherwise the prank "leave a tap running" couldn't be done. The globe became a ball: it turned out there hadn't been a single sphere in the whole world. And about the vending machine I said ours was "just a cabinet, not cute at all". Those words are still written in the game's rules.

The same day a file called "client's rules" appeared. The flight engineer wrote the main thing into it: in a game studio a designer places things by eye, and it has no eyes. So it got a check that does the looking for it. In the first building the check found 519 placement mistakes, and all of them were fixed.

Log entry: July 29 to August 6

Ten commits in a row went into a flower pot and a mug. A 3D catalog of every object appeared: I'd open it, pick an item and press "take it into work".

On August 3 the chairs were rolled back twice. The flight engineer admitted: "instead I changed the shape three times and made it worse three times." I didn't like the chairs' tubes and asked: "why are you bending the tube with dumb cuts instead of one smooth line." That's how the Scandinavian design rule came in: one smooth line instead of a pile of parts.

That evening the flight engineer built a toilet with a hinged seat. Yes, the same story that would repeat in Godot two weeks later. The next day the toilet lost pieces out of nowhere, for the second time.

On August 5 I asked for real physics: "I'd even like to lean on a desk and have it move, and the desk I'm pushing would hit another one, and that one would move too." And: "it would be cool if you could throw toilet paper and it would unroll." The roll started unrolling in flight.

And on the 6th the furniture started to dance. A table I bumped into slid away and kept going, "not like in real life". Moving furniture went onto the R key, and everything else was made stone still.

Log entry: August 7 to 16

The last commit went out on August 7. After that I played and wrote down what was wrong. A thrown chair shook, fell through the floor and jumped back: "Took the chair, where I threw it. Throw it again, it flies, falls and hop. It suddenly appears where I took it from." A bright patch wandered down the corridor, "as if there's a flashlight somewhere far away". And the kid's eyes turned out to be at 1.70 meters instead of 1.32: the campus was built for a child's height, and I'd been looking at it with an adult's eyes.

On August 8 I asked: "Maybe we're wrong to do this on the web…" The flight engineer replied that the measurements said no. The bottleneck was the logic, not the browser.

Then a week of silence.

Log entry: August 17, morning

At 7:17 I opened the old project and wrote that I wanted to rewrite everything for Godot 4. Five minutes later, in a new folder, I explained why:

"well, actually I want to start making the game over. There are too many buildings there and I had to do the physics myself, I want to simplify by rewriting it from scratch, but keeping the colors, for example, and the storyline of this project… Start with something simple: a room, a chair, pick up the chair, throw the chair. That kind of thing"

From the old project we took what's worth more than code: my rules, the concept with its list of pranks, and the palette. The campus layout and the object code stayed behind. We started with exactly a room and a chair. What happened next is in week one.

I shot these today, October 16: the last build of that project still runs in a browser.

Where it came from

Roblox and Minecraft games: a school as a whole world. Untitled Goose Game: a to-do list that crosses itself out. MIT's Building 20, Bell Labs, Scharoun's school, Hertzberger. The Lebedev and MARKHI guide. A Japanese game with a cute street vending machine. Scandinavian design as the yardstick: one smooth line.

The prologue in numbers