Log entry: day 71
Saturday and Sunday had no commits in the game. On Monday I wrote to the flight engineer: "I feel like I haven't made simple movement and mechanics without bugs, and I've already flown off somewhere into complexity and raised the bar for the game, and expectations will go up." And I asked for an audit of the core.
The flight engineer ran 57 checks on walking, hands, sitting and the camera. 45 green, 12 red. Then it played through the first chapter and took seven frames of the first lesson from the live school.
The frames found a real problem. The teacher announces a film and asks: "so who's going to lower the blinds?" The kid goes to lower them, and at the third blind hears "Sit down!". Walking around in front of her and the noise of the cord built up her patience meter, like for someone who stood up for no reason. Now for sixty seconds after the film is announced, until the class goes dark, the meter doesn't build. The bell wipes the request.
The first lesson from the live school



In the evening I said "go ahead" to the list of what the player sees. Halfway through I added: "no overengineering. Standardize. Universalize." Every fix became one general rule in code that already exists.
The main one: students sit down at their desks on their own again. Since October 18 paths were kept away from walls, and the end of the path slid half a meter away from the desk too. A student stood there, saw the chair was far, and walked again. After 45 seconds a safety net teleported him into the seat. After every break 24 students out of 73 sat down that way. Now the errand "walk to" has an "exact" flag, and only sitting at a desk sets it. All 73 sit down on their own in 20 to 29 seconds.
Log entry: day 72
Tuesday, ten commits.
In the morning, knees. On October 17 the hip joint moved up into the groin, and the clips for standing up and the "heron" were made for the old leg. The leg solver found no room and bent the knee forward. The flight engineer set one rule for every leg in every clip: the knee bends only backward, with a stop at 165 degrees. First a before and after sheet, and I answered: "I accept, export it." Along the way, easing back to the standing pose now takes the shortest arc. Before, the hip of someone standing up twisted by 70 to 104 degrees.
Then I wrote: "In Goose Game it's all so nice, no bugs, smooth and so on..." And I asked to find what could be simplified. What turned up: only my kid lived on AnimationTree, while 73 bodies walked on their own mix of clips with some seventy manual joint tweaks on top. We moved everyone. By eye the difference is small, as intended. A pose from the tree costs 39 microseconds against 108. I watched the clip and said: "we keep the tree for everyone."
Next, breathing and habits. Before, code added the breath and the weight shift on top of the clip. I watched the options in a clip: "We take idle B and the three habits as they are." Idle, hands on hips, hands in pockets and hands behind the back are now clips from Blender. About 250 lines of code went away.
Bodies: knees, idle, standing up

Standing up and sitting down also became transitions in the tree. A new check measures every physics tick. On the old code it found nine snaps, the worst at 63 radians per second. Now zero.
Seven courtyard checks were also rewritten: they were turning red over garden things that are no longer under the atrium roof. One demanded a hand dryer in a narrow restroom. I answered: "In the narrow restrooms by the entrance, towels are enough."
Then the failures of chapter two. Stink, chairs and gum had no failure at all, the school stayed silent. In the first option the kid stuck to a chair took it off right away. I didn't get it: "What does it mean, the one stuck to the chair takes it off immediately? I once had it in a clip that the joke is he walks around with it for a while." I picked this: "the student walks with the chair as long as he walks, the teacher just wags a finger, doesn't tell him to take it off."
At 13:50, in another session, we were discussing what would hook the player. The flight engineer wrote out six ideas. I answered: "No, you're burying yourself in details. Maybe we need something global, like with the idea of a parallel reality... It's all the same, but something's different, the school design, the color or the students' clothes."
The conditions piled up as we went. We don't move the furniture. "I wouldn't make the signs mirrored. Not that far." There are more realities with every prank. And when does it throw you over? "No, it throws you at a totally random moment... Stop complicating everything all the time." At 15:59, in another window, I asked: "So what are we doing right now anyway? Haven't we drifted away from our original idea?"
The flight engineer shot a sheet: class 1A and a hallway, the same moment in three realities. I said: "We take both: 2 and 3." In the second the walls are warmer and the students wear someone else's colors. In the third the walls are cooler and everyone is in one uniform.

Next, the transition. At first it was a flash of pale haze. I asked for "a glitch comic halftone effect, 2 seconds or so." I watched three looks and wrote: "Need to do something like 1+2. And with a glitch sound." And I asked for the change of frames to be more obvious, with one reality laid over the other. Now the old reality and the new one come in stripes, with a double exposure in the middle and halftone on top. Then: "let's speed up both the sound and the animation of this transition 2 times." The transition became one second long. At 16:47: "Cool. Let's put it in the game. I like it."
Three schools





By the law, realities open on the second, third, fifth and eighth prank, and it throws you over once every one to three minutes. But at 18:40 I asked for a test: "For now, for testing, do the transition even in the first mission. Just randomly. Every minute." So we did.
And in the evening I launched the game and asked: "why am I still seeing the winter garden." The game was fresh. The garden was a picture under the title screen. It was shot on October 7, nine days before the atrium.


Log entry: day 73
Wednesday, no commits in the main branch. In the morning I asked about the realities: "So how do these parallel 'realities' relate to the missions? What's their role?" An hour later I answered myself: "No, we need a simpler mechanic, and idea. Really. I haven't figured out why the throwing into other realities suddenly started." And I added a thought: in different realities, different clues and a different prankster for the same mission. In the evening I opened a session called "Demo run".
Log entry: day 74
On Thursday I played the start myself and wrote: "I pressed 'New game' and didn't see the prologue! Some failed onboarding. Where are the instructions, what to do, what to press, where to go." And about the center of the screen: "Our lines around the tag in the center 'Nobody's watching' are annoying, too much animation."

The prologue got lost because of the order. "New game" closed the title screen before the frame opened. The primer managed to seat the kid, and the prologue decided the game wasn't new. Now the cold start itself says the prologue is due. Hints got an outline, and the key became a dark plate with a gold letter. The strokes around the bubble are gone.
Then I asked: "when we show that nobody's watching, we need to say it clearly and give an instruction, could even be the player's thoughts 'Time to hide the register!'" Now under the bubble there's a thought cloud: "Time to hide the class register!"
The flight engineer walked the register's route by pressing keys and found a hole. In two of the three drawers of the teacher's desk there's chalk, a pen and a key. The desk's rule was "a drawer is taken if there's anything in it." With the register at such a drawer, the hint said "put back", and E put the register back on the desk. Now a thing lies on top of the small stuff if there's enough height.

In the evening I played again and wrote: "Something's off.... For some reason I'm uneasy about the onboarding, I end up straight in the classroom. Some kind of stress...." The flight engineer broke it down: from the first frame the player is sitting and doesn't know where he is, and the first thing he's taught is a timed prank with a risk of failing. There was no calm minute to just poke at the world, like in the garden in Goose Game. It offered three options, and I picked: "A and B together."
Now after the prologue the kid stands in the hallway at the door of 1A. The class is already at their desks. The clock is stopped, there's no task, the school isn't looking at him. He sits in his seat, and only then come the bell, the task and the lesson. The first "nobody's watching" window lasts 90 seconds instead of 30.

Then I sent a frame with the bubble, the thought, the rule and the key all at once: "This is the most nightmarish frame. From the point of view of a person with ADHD! Three places to read at once!" And right after: "But on the whole I like how we've started doing things."

The rule line was removed. The bubble appears at once, the thought half a second later, the key half a second after that. The eye goes from top to bottom.

The realities test mode, in the middle of the calm start, broke the first prank with a glitch. I said: "Yes, let's do it from the second prank." Switched off. For "different clues in different realities" the flight engineer drew three options over the J board. No decision yet.

In yet another session an audit of polish was running: a newcomer's run by key presses, a camera log frame by frame. I answered: "go ahead. Agreed. Go down the top list." Standing up with E moved the view by 43 centimeters in one frame. Now no more than 6.5 centimeters per tick. The camera of someone sitting down zigzagged over two meters for half a meter. Now 0.33 meters. Once seated, the kid looks forward, not into the desk. After the first J board the bell rings. The hint under the crosshair names one action.
The polish audit


Late in the evening I asked: "Keep an eye on performance too." The game still has to come out on Steam for PC. A measurement on an M4 Pro: a lesson in 1A is about 19 milliseconds a frame, a break by the heart and in the atrium 36 to 40. Switching reality got faster, from 400 milliseconds to about 90, loading the school from 25.3 to 18.1 seconds, opening the J board from 440 milliseconds to about 70.
Log entry: day 75
Friday morning, far bodies. A student's pose beyond 12 meters is now set every other frame, beyond 25 meters every third. I watched the before and after clip: "Yes, commit and merge." By the heart at break the average frame became 32.9 milliseconds instead of 39.7, and the worst one percent of frames 53.3 instead of 84.6. In the atrium 28.8 instead of 32.7.
Meanwhile I was thinking about how realities look. Maybe in some reality we swap the characters: everyone with long arms and legs, or big heads, or not people at all. The flight engineer shot sheets of looks. Long arms and legs dropped out: they break the desks and sitting. The animals I liked at first, then dropped them too a bit later. We took "paper", where everything is white, skin, clothes and school, and "big heads in a toy school". Plasticine without faces I asked for myself, looked at it and answered: "oh no, we're not taking plasticine for now. Total cringe."


At 8:56 I said: "Yes, let's move it in." Paper and the toy school are moving into the game as the fourth and fifth realities. By Friday morning that isn't committed yet. Twelve commits of the week are in the main branch, and eight more, the calm start, the audit and performance, were waiting to be merged.
Where it came from
My thought that I'd "flown off into complexity", and the question of what would hook the player. My run through the start on October 29 with screenshots. The core audit on the 26th and the polish audit on the 29th. Sheets of options: knees, idle, realities, transitions, clues, looks. And Goose Game, which I again compared everything to.
The week in numbers
- 12commits in the main branch
- 10of them on Tuesday
- 73students sit down on their own, no teleport
- 250lines of breathing code went into clips
- 2new realities in the game, 2 more on the way
- 43 cmthe view jumped when standing up
- 90 sthe first window instead of 30
- 943commits in the game since day one