Birdoggydog's Builds

Adding a narrow street door and a house look to buildings

Homes and shops get a one-leaf door that large bodies can't use, signs get lanterns, and a themeless place gets a cream-and-steel look with its own dead colors.

Two building changes got finished. Homes, shops and taverns now have a narrow one-leaf street door that the party can walk through and large monsters can’t. And a place with no theme has its own look, the meat plant’s company housing, so it no longer looks like pale steampunk. Neither is installed in the shipped assets yet. That pass is next.

How narrow should a street door be?

I asked how wide a shop’s or a house’s street door should be, and my answer was to take the recommendation: a narrow door on homes, shops and taverns, and the 2.5 m cart gate stays on works, barns, warehouses and the market hall. I wanted homes to look like homes, and a narrow door is also somewhere a big body can’t follow you.

36 seconds on a shop’s narrow door: shut, opening, walked through, then a house and a warehouse at the same distance, then the tavern’s sign by day and at night.

The door is 1.48 m wide and 2.60 m clear over its threshold. The rule is a row in door_fit.gd next to the ground and upper doors, written as plain const lines so the art kit can read them by text. It goes by body class, not height. Anything up to MEDIUM passes standing, every LARGE is held at the jambs at any height, and a MEDIUM wider than 1.48 m is stopped by the clear opening. The plan stores the rule name for every square the door is laid across, so the same check works for the party and for monsters.

Which buildings get it is data. Every kind in kinds.json takes the narrow door unless its row says "street door": "cart", which only the market hall does. Works, footprint and round kinds aren’t rows of that file, so they keep the cart gate. For a narrow kind, the recipe lays the door bay’s ground wall by the query form "ground narrow" in place of "ground", and the plan’s door size becomes 1.48 by 2.60.

Building it turned up a bug in the kit’s assembly check. Only the cart gate’s wall got a door leaf, so the narrow door’s opening stood open and about 8,000 gap rays went through it in 19 of the 27 test plans. Now every ground door wall gets its leaf from its own opening, and all 27 plans have 0 gaps. A deliberate wrong case, a house with the narrow leaf left off, still fails with 7,741 rays, which is what it should do.

The first film was sent back by the judge. The door never opened, because the film froze the game clock and the door’s leaves only move when the clock advances, so the party walked through a shut leaf. I also had the house and the warehouse shot from different distances, and the tankard sign only showed at night, unlit. I let the clock run through the door’s travel, held both fronts at 6.5 m with the figure in the same place (the leaf is 1.67 times narrower on screen, 1.69 in fact), and added a day shot of the tavern.

Signs got lanterns in the same pass. Every hanging sign gets a lantern on the tip of its bracket arm, 0.2 m under the arm and just short of the board, using the cell’s normal lamp so it follows the clock and the building’s glow. The tavern’s taproom windows glow too: two additive quads 12 mm off the dark pane, black by day and warm orange at night. I’m happy the tankard reads now. The glow is still flat yellow panes and the door’s halves still slide like a dungeon door, so both are on the list.

How does a look get its own dead colors?

The house look is cream render with gray-green pressed-steel strips on the panel lines, a steel hood over each window, a concrete plinth course, ribbed trough-sheet roofs and meter cabinets on conduits. It has 162 members. The judge’s test was colors at 12 m: it changed the wall color family and removed the accent metal, so it doesn’t look like steampunk with less trim.

A themeless street in the house look, the same plot in steampunk, a four-storey block and a dead house, then through a house’s street door and up its stair.

The judge found two problems. The street door leaf was warm planked timber, the most steampunk thing on every front, and the dead house turned the same rust brown as dead steampunk. I picked “a dead tint per look, now”, so each look carries a tints row. The house’s dead row mixes everything softer than steel halfway toward a damp green-gray and a soot color, rusts only the steel, and uses an ash-gray dust on up-facing surfaces. The lamp is a whiter company bulb. Steampunk’s row is its old values, and I proved that by rebuilding nine members and getting identical bytes.

The game had to follow. Its building shader drew a dead building from the decayed colors, so the kit’s change never showed. BuildingLook now has a dead state, the shader a dead_blocks uniform, and a look with no row keeps what it drew before, so fantasy, cyberpunk, eldritch and meat are unchanged. The steel door leaf wasn’t right at first either. Its colors are linear vertex colors, and my first try in sRGB came out pale mint.

One combined build found a bug I hadn’t seen. Two looks shared a build root and the lessons keyed pieces by member name, so the house’s pieces overwrote steampunk’s, and the house core pulled in three crossing pieces it can’t make. I fixed both, and the build is 418 members with 0 failed. The house still shares steampunk’s silhouette because the plans are the same, so the next look needs to differ in outline too.

Also done

  • The house’s upstairs is still black in the film, so the next one should light it or stop at the stair head.
  • Ground-floor windows look opaque dark gray in every look, which is on the list.