House of Bonsai · Development update

A house, a dry pond and a sun that moves.

The courtyard's last placeholders are gone. The house side became a raised veranda under tiled eaves, deadwood stopped wearing a sleeve of living bark, the empty pond pocket became a dry pond of raked granite, and the sun now crosses the sky with the hour instead of standing still. With that, the courtyard's look is finished for Early Access; from here it changes when playtests show something.

Results

Checks on the development PC, each run covering the smoke, release, quick and benchmark suites: 88 of 88 after the house front and the deadwood answers (run 20261014-152909), and 88 of 88 after the dry pond and the moving sun, with the two light studies (run 20261014-160834). The courtyard with three dense trees now takes 4.33 ms a frame on this PC, up from 3.39 ms; the section on cost says where that comes from.

Development capture, 14 October: the new dry pond seen from the courtyard's viewing bench on a July afternoon, shown by the game itself.
Development capture, 14 October: the new dry pond seen from the courtyard's viewing bench on a July afternoon, shown by the game itself.

The house front

The courtyard's house side was the last placeholder in its frame: planks on the ground, six square posts under a flat slab, and a plaster wall with four dark windows. It is now the side of a Japanese house that meets its garden, built from the temple garden's materials.

A veranda (engawa) stands 40 cm up, as a house floor does, its boards laid lengthwise on short posts and stones, with a flat stone where the path arrives. Posts on foundation stones carry the eaves: rafters run out past the posts under a lean-to of the walls' grey tiles, and a drip line of dark pebbles lies under the eaves' edge. Along the house are sliding paper screens (shoji) in every bay, glass doors where the grow room looks out, a lattice over them, and above the lean-to the upper wall and the main roof's eaves.

The courtyard's house side before: a strip of planks, square posts under a flat slab and a plaster wall with dark window recesses.
Before: from the garden.
The house side now: a raised veranda under a tiled lean-to on posts, shoji screens and glass doors along the house, the upper wall and the main roof above.
Now: from the garden.
The old house side at an angle: posts standing on the ground under a slab roof.
Before: at an angle.
The new house side at an angle: posts on foundation stones, the drip line of dark pebbles, the stepping stone where the path arrives.
Now: posts on stones, the drip line, the stepping stone.

You step up onto the veranda anywhere along its edge over a slope you never see, and arriving through the grow-room window now puts you on it. The posts stand clear of that window's view. On the review this was "Right direction: carry on".

On the veranda

Along the veranda, out from it, and in January, when snow lies on the lean-to's tiles but not under them.

The old veranda: planks at ground level beside a plain wall.
Before: along the veranda.
The new veranda: lengthwise boards, the shoji along the house and the rafters overhead.
Now: the boards, the shoji and the rafters overhead.
The garden seen from the old veranda.
Before: out from the veranda.
The garden from the new veranda, framed by the eaves and a post.
Now: the garden framed by the eaves and a post.
The old house side in January snow.
Before: January.
The new house side in January: snow on the lean-to's tiles, the veranda dry beneath.
Now: January, snow on the tiles and none under them.

The bark that stayed on the deadwood

A screenshot sent during the review asked two questions about a jin, a branch stripped to bare wood as deadwood: "what is that brown thing around the deadwood" and "i don't know why the deadwood is forming a point at the end". A study made the same jin on the nursery juniper and turned the drawing layers off one at a time.

The brown was the branch collar: the sleeve of trunk bark the game wraps round every branch's base so the branch grows out of the trunk. Stripping a jin never took it off. Under it, a rule kept the first 12 % of a stub as bark even when nothing on the stub was alive, and on a stub that had died, the roll of new trunk wood drawn round its base showed through the dead wood as dark marks.

A juniper jin's base on the day it was made, before the fix: a band of brown bark over the stripped wood where it meets the trunk.
Before, the day it is made: a sleeve of bark over the stripped wood.
The same jin's base now: the pale stripped wood runs straight into the trunk's bark.
Now: the bark ends where the jin begins.
The jin's base 90 days on before the fix, close from the side: the sleeve of bark greyed, with dark notches where the trunk's roll showed through.
Before, 90 days on: the sleeve greyed, with dark marks.
The jin's base 90 days on now, close from the side: clean deadwood meeting the trunk; its tip was torn to a point with Y.
Now, 90 days on: clean deadwood at the trunk (this jin was torn with Y first).

The answer on the review was to strip it, so the bark ends where the jin begins. The collar's sleeve now stops where the stripping starts, a stub with nothing living on it is stripped to the trunk, and no roll is drawn where deadwood meets the trunk. A stub that dies back into deadwood on its own follows the same rules, which is most likely what the screenshot showed.

A cut end until you tear it

The point was deliberate but came at the wrong time: the jin's shape tore itself to a splinter the moment the bark came off, even on a stub the cutters had cut flat. Growers make that point on purpose, tearing the fibres back with jin pliers. A fresh jin now keeps the end the cutters left, and pressing Y on a jin tears its tip back to a point (Ctrl+Z takes it back).

The whole jin before the fix: stripped, limed and already pointed like a splinter.
Before: pointed the moment it was stripped.
The whole jin now: stripped and limed, ending in the flat cut the cutters made.
Now: the cut end kept.
The same jin after Y: its tip torn back to a point.
After Y: the tip torn.

A dry pond

The pond pocket on the courtyard's right was a ring of twenty stones on the gravel, and nothing from the paths said what it was for. Water is not part of the Early Access courtyard, and the game draws no water it does not simulate, so the pocket is now what a temple garden makes of water without any: a dry pond (kare-ike).

Pale crushed granite lies inside the shore stones, raked in ridges 7.5 cm apart: straight lines across the bed, square to the view from the house and the viewing bench, the first three lines following the shore, and rings round the island stones (a standing stone with a low one beside it, and a lone stone towards the bench). Twenty smaller stones close the gaps in the shore. The ridges fade out where a pixel would hold half a line, so from the veranda the raking reads as plain pale gravel instead of shimmering.

The pond pocket before, seen seated on the viewing bench: a ring of grey stones on brown gravel.
Before: from the viewing bench, seated.
The dry pond now from the viewing bench: pale raked granite inside the shore stones, rings round two groups of island stones.
Now: from the viewing bench, seated.
The empty pocket from the path's far corner.
Before: from the path's far corner.
The dry pond from the path's far corner: raked lines across, three lines following the shore, rings round the standing stone and its companion.
Now: rings round the island stones.

Kept clear

Nothing can be placed or painted on the raking. A path painted up to the pond stops at its stones and lays no edging on the gravel, and you walk round the pond, not over it. In winter it takes the snow like everything else. The pocket stays the place a real pond would go after launch. On the review: "Right direction: carry on".

The courtyard's plan view with the dry pond on the right, its raking and island stones seen from above.
The plan: the dry pond beside the paths.
The dry pond from the bench in January, under snow.
January: under snow, from the bench.

The sun by the hour

The courtyard's sun stood still: 46 degrees up whatever the hour, so an evening was a dim orange light from overhead with midday shadows. It now crosses the sky with the hour and the season: east in the morning, due south at noon, west in the evening. It rises and sets at the game's own dawn and dusk. The game's day lengths, 8.5 hours at midwinter to 15.5 at midsummer, are the sun's at about 45.6 degrees north, so the light and the brightness always agree about whether it is day. Below 8 degrees the sun is held at 8 until it sets, and at night the dim blue light comes from the moon.

The grow-room window and an outdoor tree's bench keep a picture of the courtyard; they now take a new one each half hour of the sun's crossing.

Hour16 July16 JanuaryBefore (every day)
06:0015 degreesbelow the horizon46 degrees
09:0046 degrees12 degrees46 degrees
12:0066 degrees23 degrees46 degrees
15:0046 degrees12 degrees46 degrees
18:0015 degreesbelow the horizon46 degrees
The courtyard from the veranda at 18:00 in July before: an even light from high up, short shadows.
Before, 18:00 in July: light from high up.
The same view at 18:00 in July now: low western sun, long shadows across the paths.
Now, 18:00 in July: the low western sun.

The table gives the sun's height above the horizon as the game now places it. On the review: "Right direction: carry on".

A day in the courtyard

The same two views through a July day and three hours of a January one: from the veranda, and from the gate looking back at the house.

Nine views from the veranda: 06:00, 09:00, 12:00, 15:00, 18:00 and 20:00 on 16 July, then 09:00, 12:00 and 15:00 on 16 January in snow.
From the veranda. Top two rows: 06:00 to 20:00 on 16 July, three hours apart. Bottom row: 09:00, 12:00 and 15:00 on 16 January.
The same nine hours from the gate, looking back at the house.
From the gate. The same hours.

Which side the sun crosses

A moving sun needs a compass. The house stands on the courtyard's north side, as a Japanese house usually meets its garden: the veranda faces south, the low winter sun reaches under the eaves onto the screens while the high summer sun does not, and the sun crosses over the gate.

The first version kept the old sun's side, with the house to the south, and January showed the cost: the house's shadow covered nearly the whole courtyard all day. Through that shadow ran thin bright streaks. The house was one wall deep, and the low sun shone straight through its glass doors and between its screens onto the snow. The house now has a body behind its front that casts shadow and is never drawn.

January noon from the gate with the sun behind the viewer: sunlit snow with the bare maples' shadows, the low sun on the screens under the eaves.
The sun over the gate: January noon, as built.
January noon with the compass turned: the sun above the house and the courtyard in the house's shadow.
The sun over the house: January noon, the house's shadow.

On the review the choice was the sun over the gate, as built.

What it costs

The benchmark's courtyard, with three dense trees, takes about a millisecond more a frame on this PC. Switching the pond off did not bring it back, and neither did turning the compass. The only other change in that view is the sun's angle at the benchmark's hour (09:00, where the old sun never stood), so by elimination that is the cost: the dense trees' shadows fall across more of the view and are drawn into more of the shadow map. It is not measured on a weak graphics card yet.

Median frame on the development PCCourtyard, three dense treesTree on the bench
Before (run 20261014-152909)3.39 ms3.35 ms
Now (run 20261014-162045)4.33 ms3.16 ms
Now, the pond switched off4.72 ms3.08 ms
Now, the sun crossing over the house4.54 ms3.06 ms

Two checks that fell over

Neither had found a new fault. One compared a living tree's bark outdoors with a dead tree's indoors (a dead tree goes back to the grow room); that only agreed while the outdoor light was kind, and under the new noon sun the living trunk stood in its own canopy's shade. It now draws every state in the grow room. The other compared pictures with and without mesh detail reduction, taken eight frames after the light was set, before the frame had settled. It now waits, and reads 0.92 of 255 against its limit of 1.5.

What's next

  • The courtyard's look is closed for Early Access: from here it changes when playtests show something.
  • The garden layout's open list, with a rectangle tool if players ask for one.
  • A new playtest package when the next milestone wants one.

What I learned

A placeholder can hide what is missing behind it: a house front that never had to stop the sun looked finished until the light came from behind it. A layer added to make one case look right, like the bark collar for living branches, goes on drawing in cases it was never meant for, so when a new state appears, list every layer still drawn over it. And when a fixed input starts to vary, ask of each check that compares pictures whether it still compares like with like.

Sources & development context

Based on House of Bonsai's source history and notes from 14 October: the check runner's records (runs 20261014-140632 to 20261014-162045), the study captures (windowed runs on the development PC at 1600 by 900; the jin bases and the plan are crops, the house front pictures come from the review at 1100 by 619), the sun's positions as the game's own model computes them, and the benchmark's frame times. These are game captures and model outputs, not field measurements.

All House of Bonsai posts