Day 1 · Sunday, October 4, 2026 · 9:51 AM to 10:49 PM

From a browser prototype to a walkable Heisei street

In one day, the game moved from a browser tab to Unity. By the evening you could walk from your bedroom to the convenience store and back, then look out over the real shopping arcade from the balcony.

9:51 AM: the browser prototype’s CPU renderer.Start
9:51 AM: the browser prototype’s CPU renderer.
10:49 PM: the same character in Unity, at golden hour.End of day
10:49 PM: the same character in Unity, at golden hour.
Hours building
13
Lines of C#
9.7k
Tests passing
85
3D models
169

9:51 AM

From a browser prototype to Unity

The browser prototype proved the design, but it couldn’t give us real lighting or a whole walkable city. The breakthrough wasn’t just moving to Unity; it was connecting Claude to Unity and Blender, so it can build, play and look at the game itself.

  • What the prototype proved: the core loop of stats, daily schedules, relationships, the phone UI, and about 400 dialogue nodes.
  • What it couldn’t do: it drew everything on the CPU into a 267 × 150 pixel buffer, with no real lighting and no room for a whole city.
  • Some borrowed models were licensed non-commercial only, so they couldn’t ship.

How the tools connect

Claudeplans, writes code, reviews screenshots
Splits into two tracks that run in parallel
Track A · Art
Blender MCP
Blenderbuilds each 3D model, exports FBX plus layout data
models
Track B · Code and testing
Unity CLI
Unity editorimports, builds scenes, runs tests, plays frame by frame
builds
The gameUnity 6: lighting, scenes, UI, dialogue
Then back to the start: screenshots from the running game, plus my notes from each playtest, go back to Claude for the next round.

The two tracks run side by side, not one after the other. Both land in the same Unity project.

Everything in the toolkit

Engine

  • Unity 6 + URPRendering, lighting, shadows and post-processing.
  • Cinemachine 3Fixed room cameras and the eye-level street camera.
  • Input SystemKeyboard and controller, with input that stays steady across camera cuts.
  • UI ToolkitThe HUD, menus and the in-game flip phone.

Characters and content

  • UniVRMBrings my VRoid character in with anime toon shading.
  • Yarn SpinnerDialogue, with facial expressions driven by line tags.
  • JSON dataLocations, schedules and activities, so new content needs no new code.
  • Procedural animationA ported walk and run, tuned live from one settings asset.

AI pipeline

  • Claude CodePlans, writes the C#, briefs the art agent and reviews every screenshot.
  • Unity CLIDrives the open editor from the terminal: run code, run tests, step play mode.
  • Blender + MCPA Blender agent builds each model and exports it for Unity.
  • Unity Test Framework85 automated tests on the game logic.

Project

  • Git + LFSVersion control, with 331 MB of art in Large File Storage.
  • GitHubThe private repository.
  • Next.js + VercelThis dev log.

10:17 AM to 12:40 PM

Foundations and the first slice

The game’s logic came first, with 81 tests passing before there was a single graphic. By 12:40 PM there was a vertical slice to review.

  • Game logic in plain C#, independent of Unity: stats, calendar, schedules, relationships, saving and save-file export.
  • The prototype’s content, ported by an importer: about 400 dialogue nodes and all the JSON data.
  • First playable at 11:03 AM: additive scene loading, the player controller, camera zones, dialogue, the phone UI and a time-of-day system.
  • A 55-piece modular shopping-arcade kit from Blender on a 0.5 m grid, sharing a few texture atlases. Every brand is fictional.
11:14 AM: the bedroom’s first light. Mostly a wall.11:14 AM
11:14 AM: the bedroom’s first light. Mostly a wall.
11:30 AM: the bedroom kit from Blender, with window light.11:30 AM
11:30 AM: the bedroom kit from Blender, with window light.
The convenience store in the first slice.
The convenience store in the first slice.
The entryway and stairs.
The entryway and stairs.

12:45 PM to 5:45 PM

Two playtests and a city plan

The first time I played it, the screen was black. Two rounds of notes later, it felt like a game: a closer camera, first person, a cozier look, and a plan for the whole city.

The new eye-level street camera.Third person
The new eye-level street camera.
Press V, or R3 on a controller, for first person.First person
Press V, or R3 on a controller, for first person.
  • Fixed: a black screen, caused by a testing tool leaving one UI setting on.
  • Fixed: camera cuts no longer flip your controls; your direction holds until you let go.
  • Fixed: the character no longer glows in the sun; her shading is balanced against the scene’s exposure.
  • Sun rays, a lens flare, window light shafts with dust, distance blur and darker shadows.
  • A cozy, rounded UI in the spirit of Animal Crossing, and a cinematic title shot.
  • A city layout document: every lot on every street gets an ID that becomes a marker in its scene, so content refers to places, not geometry.
The cinematic title shot, with the new UI.
The cinematic title shot, with the new UI.

5:45 PM to 6:59 PM

Movement and polish

A relaxed, natural walk, then a stubborn hour of clipping and flicker around the closet and the bedroom doorway.

  • The prototype’s procedural walk and run, ported to Unity, straighter, and tunable live from one settings asset.
  • Fixed: her shoulder and hair passing into the closet frame, with a collider along the closet front.
  • Fixed: a flickering closet frame, with an import-time pass that removes overlapping faces from every model.
Her hair and shoulder passing into the closet frame.Clipping
Her hair and shoulder passing into the closet frame.
An invisible wall along the closet front, with room for arms and hair.Fixed
An invisible wall along the closet front, with room for arms and hair.
The procedural walk, in its own test scene.
The procedural walk, in its own test scene.

7:32 PM to 8:13 PM

A multi-room home in one scene

One rule shaped the house: the inside follows the outside. Every room has to fit inside the buildings you see from the street.

The upper floor from above: living room and kitchen, a second bedroom, the bath, the hall and my bedroom.
The upper floor from above: living room and kitchen, a second bedroom, the bath, the hall and my bedroom.
  • Living room and kitchen, a second bedroom, and a bathroom, toilet and washroom, all in one scene, with room-aware doors, cameras and activities.
  • A reusable shop-house floor plan, so other buildings on the street can be built from it later.
  • Fixed: the bathroom and toilet couldn’t be entered at first; now both open, each with its own camera.
The first living room and kitchen.
The first living room and kitchen.
The bathroom.
The bathroom.

8:13 PM to 10:49 PM

A lived-in house

Small fixes, then lots of life: clutter in every room, high-poly cloth, and a full, detailed view out of every window.

The balcony view before.Before
The balcony view before.
After: the real arcade, placed through a street-to-house coordinate transform.After
After: the real arcade, placed through a street-to-house coordinate transform.
  • Fixed: a door prompt reaching into the next room. Doors and activities now belong to their room.
  • Fixed: walking on top of the living-room table. Low furniture now blocks you.
  • 25 new clutter props, high-poly hanging clothes, detailed backs on every shop, and new scenery around the house.
  • To finish the day, everything went into a GitHub repository, with 331 MB of art in Git LFS.
The living room at night.
The living room at night.
Out of the bedroom window: the back lane, wires and skyline.
Out of the bedroom window: the back lane, wires and skyline.

Challenges

The problems that cost the most time, what fixed them, and what I learned.

The screen went black, twice

A screenshot tool left one UI setting switched on, and it painted over the whole game.

Fix: Fixed at the source, reset by the game on every start, and guarded by a test.

Lesson: Guard against a bug coming back, not just once.

One doorway fix broke another

Auto-collision sealed the doorway, then the sliding door moved into the wall, then into the middle of the bedroom.

Fix: After every change, a check walks from where you arrive in each room to every door in it.

Lesson: Test the whole route, not just the thing you changed.

Flicker everywhere

Two surfaces in exactly the same place fight over which one is drawn.

Fix: An import-time pass finds coplanar faces on every model and recesses one by about a millimeter.

The editor stopped listening

Three times, the connection that drives Unity froze until a restart. Tests had started while the game was in play mode.

Fix: Tests only run from an idle editor.

Lesson: Check what the editor is doing before giving it work.

Running out of memory

One art round pushed a 16 GB laptop to 15 GB, with the whole house and 125 street models open in Blender beside Unity.

Fix: One asset at a time, in small rounds, with light previews.

The house outweighed the street

Two thirds of the house’s triangles are the view out of the windows.

Fix: Planned: cheap stand-ins for distant views (see Performance).

Performance: the next big thing

I want high-poly props, lots of clutter and a full cast, all on a MacBook Air. So before building more, I measured every location against a starting budget.

Family home309,500 triangles · budget 120,000
Over budget: two thirds of it is the view out of the windows.
Shopping arcade193,000 triangles · budget 250,000
Convenience store52,900 triangles · budget 120,000

Measured in the Unity editor on October 5. The dark marker is the budget.

The plan, in order of payoff

  1. Measure in a real buildMemory Profiler, a budget per location, and a test that fails when one goes over.Foundation
  2. Stand-ins for distant viewsLow-detail models out of the windows: the home goes from about 310k to about 130k triangles.High impact
  3. Bake the detailModel high, bake into textures on a lighter mesh; true high-poly only for close-up props.High impact
  4. Texture disciplineCompression, size caps, and streaming only the resolution the camera needs.High impact
  5. Chunked districtsBig districts load and unload in blocks as you walk, and free their memory.High impact
  6. A cap on active charactersAnimation and hair physics pause off-screen; distant characters use simpler meshes.High impact
  7. Detail that drops with distanceLODs on buildings and clutter.Medium
  8. Batch the clutterUnity 6’s GPU Resident Drawer draws repeated props together.Medium

Small rounds instead of whole scenes

Round 8: what went wrong

  • The whole house and 125 street models open in Blender
  • Cloth simulations and full-quality renders
  • 40+ assets in one round, whole folders reimported
  • Blender and Unity both busy at once

From now on

  • One asset at a time, in its own file
  • Simple stand-ins for view checks; light previews
  • Rounds of 5 to 10 assets; reimport only what changed
  • Nothing heavy in Blender while Unity is busy

What’s next

  • Performance groundwork: the budget check, lighter window views, LODs and texture settings.
  • The parents’ room lamp, which can still hide the character from the camera.
  • The next district: more streets and interiors, built on the shop-house plan and the new budgets.

End of Day 1.