Birdoggydog's Builds

Growing vines on buildings by the land they stand in

Houses in Blobber now grow 3D vines in three steps, with leaves colored by the land. The judge caught a gap in the host map and a sky sheen that bleached the leaves.

Buildings outdoors can now grow vines, and how much they grow depends on the land. The vine comes in three steps, 0.3, 0.6 and 1.0, and at 1.0 the street door is overgrown but still walkable. The judge sent the first version back because the game wasn’t drawing what the kit had built, and finding out why took most of the work.

A 51 second film: four houses at vine 0, 0.3, 0.6 and 1.0 in a wet land, the street door opened and walked through, the same vine in four lands, and a climber on a pergola at a kept house’s door.

How does a house decide how much vine it gets?

Each building has a vine number. It’s the larger of the plan’s vine value and the land’s wetness times the building’s neglect. A land’s wetness is 0.7 for temperate, 1.0 for wet, 0.2 for dry and 0.45 for cold. Neglect is the building’s wear times 1.1 plus what’s missing times 0.5, clamped to 0 through 1.

Below 0.3 the building’s shader paints moss and nothing else. From 0.3 the game lays real vine pieces over the building’s pieces, using the highest of the three steps that isn’t over the number. They sit at the host piece’s place and turn.

How is a vine built?

The vine is a new layer in the art kit, built from the flora’s parts and drawn with the flora’s single texture picture. A stem starts at the wettest spot of a wall’s foot, the same score the meat growth uses, so the roots are at the base, along ledges and under drips. Then it’s walked up the wall’s fall line in 12 cm steps, wandering a little, climbing a corner when it meets one and turning aside at a window’s glass so it grows around it. It stops where it would cross the outline, the back or the seat of the host.

Stems are seeded, so a higher number walks the same path further. That’s 1.4, 2.6 and 4.2 m at the three steps, with side shoots added as the number goes up. So the steps are nested, and 0.3’s stems are the start of 0.6’s.

Leaves are cards that lie on the wall, each facing out of its surface and tipped up toward the sky by 0.45, so from the street you see them face on and never edge on. A card that would stand past the outline or into a window is left out and not bent. Under eaves and string courses the creeper hangs in curtains that are 0.45 m long at 0.6 and 0.95 m at 1.0. A vine takes no room, so none of the pieces has a solid shape. At 1.0 the door gets a fringe that hangs no lower than 2.4 m, and the leaves at the jambs stand no more than 0.12 m into the opening.

How do four lands get four colors from one set of pieces?

I ruled that vines follow the land, the same in every theme. So there’s one geometry. The leaf cards are the sprays of a single leaf row in the picture, and the land is a shader uniform that moves each card’s u by whole eighths of the picture, to the temperate, wet, dry or cold column. Where the meat has reached a building, the same uniform switches to the sick column and the stems move to the veined bark rows. No new art was needed, because the flora already had those rows.

That made one of the pipeline’s steps pointless. The step that checks a model’s theme and state as data doesn’t mean anything for a piece that has one geometry for every land. I answered on the review page that it doesn’t apply to a vine layer piece, and the pipeline’s checks now know that.

What did the judge find in the game?

The first film came back as a revise, and the verdict was that the kit was right and the game wasn’t drawing it. There were three problems.

The street fronts’ window walls had no vine at all. The game kept a table of 13 host names and every variant of those pieces fell through it to nothing. That meant open-window walls, cant walls, 30 and 60 degree gables and slopes, other chimneys, broken pieces and downpipes. Only door jambs, eaves and plain side walls had vine, so the eave curtains were the only growth on the front and looked like laundry. No test noticed.

I replaced the table with a map where every building piece has a part: a host, a variant of a host with a fit, a trim that lies on a host, a piece with no vine piece yet, or unmapped, which counts as a bug. A cant wall is the plain wall stretched 1.352 along its span, and a 30 degree gable is the 45 degree one scaled by 0.57735 in height. I measured each fit. The share of the vine piece with no wall surface within 0.3 m has to be within 10 points of what its own host has. A test lays a street and checks that nothing is unmapped, with a made-up name as the wrong case.

The leaves were also pale, nearly white, and the four lands looked alike. The kit’s sheet showed them green and different. I rendered the same leaves unshaded, matte and lit, and only the lit ones were pale. The cards are tipped toward the sky, and at the picture’s roughness of about 0.58 with Godot’s default specular each one reflected the bright sky. The fix is two lines in the shader. Roughness is at least 0.9 and specular is 0.1, so a leaf is matte. After that the lands told apart at 5 m, with temperate mid green, dry yellow-lime, wet a deep green and cold a cooler, paler one.

Third, the sick leaves barely read under the meat’s pink stain. They read once the leaves were fixed. I retook the film with every caption checked against its frame, and the judge agreed it in the second round.

Planted climbers

A kept building in a land at least 0.4 wet can take a planted climber on a timber pergola at its street door. The chance is 35 percent per door, picked by the building’s seed. It’s the one vine that takes room, because its posts are real boxes. The pergola is a stand-in until the porch exists.

Installing the 40 pieces

The 40 vine pieces are now installed in the game, so it reads them from its own folder and not the kit’s build folder. They went through every step of the pipeline and the install gate, which refused none, and they’re the same bytes the judge agreed. Together they come to 5,782 KB, and 4,678 KB of that is textures.

Installing them showed the host map had gaps. The map covers all 253 installed steampunk pieces now, and 60 of them had no part before. Some pieces never grow a vine, so they got a new part, “none”: the manhole, rail, crossarm, transformer, hoist, sheave and the deck spans. A span over a gap has no foot for a stem to start from. The vines test went from 47 passed and 3 failed to 52 passed and 0 failed.

What is left

The judge also left a list for later. The dry and temperate greens are too bright for a worn plant, wet and cold are the closest pair at street range, the sick color looks more like autumn than sickness, and the eave strands are all the same length. Weeds and saplings at the growth points aren’t laid yet either, because no flora is installed.