Aftergrowth Playtest · published
### Art & characters
- **Boots fixed.** `_boot` tested `alpha > 0`, so it painted the contact shadow as solid
trouser — inventing a plinth that fused both feet. Foot mass 20px → 16px against a 14px
shin; 1432 invented pixels removed across 48 frames. Downed/asleep frames untouched.
- **Armour reads at game size.** `hooded: True` was deleting the skin face, so cloth and
leather collapsed into one flat mass (head-vs-torso luminance −2.0 and +1.6, against
plate's +16.2). Face opened on both, cloth hood darkened two shades, leather moved from
rust to dirt with a rust hood.
- **Backpack no longer comes out of the head.** `PACK_RISE` lifted the lid above the
shoulder line, climbing ~6 rows into the skull. Stray pixels above the coat, up-facing:
20/36/36 → 0/0/0. Quarter-back views were worse and are also fixed.
- **The pack is a worn item now.** Removed from the base body; a crafted backpack draws
from the `back` slot. Wanderers carry the same overlay (they drop a bag when killed);
traders deliberately don't.
- **Held items were a tenth too large.** The whole set sat at ~0.60 of a body while the
swing constants assume half. Torch 0.60 → 0.53. The "detached flame" is not a defect —
after dark the unlit haft sinks into the ground while the fire stays bright.
### The tablet
- **Black line removed.** The dead column is gone; 1476 pixels changed and nothing else on
the page moved. The test now bans the shape, not the address.
- **Opens a third faster.** 3837ms → 2690ms, by hoisting a bounding rectangle that was
being rebuilt 588,000 times per page. Output bit-identical across all four page states.
- **Co-op party markers.** Teammates show as rings on the glass — position only, no shared
map discovery. A teammate in unexplored country changes 24px, all inside their own ring;
0 of 148 pixels of unwalked ground. Solo play bit-identical.
### Movement & controls
- **Sprint.** Old speed is now sprint; walking is 70. Held on Shift / left trigger / a
SPRINT plate on iOS. Drains stamina — 9.1s from a full bar, 2.56s before you can run
again — and charges hunger through the existing system.
- Fixed: a downed survivor paid sprint stamina without moving.
- Fixed: the walk animation was time-driven while footsteps are distance-driven, so a
walking survivor took 4 strides/sec while making 2.7 footstep sounds.
- Controls page gained a sprint row, plus a test that every pressable action has one.
### Enemies
- **Raiders shout** when they spot, chase and lose you. ~1.7 lines per raid measured;
closest two lines 4.2s apart.
- **Fixed "coming at me then running" — two separate bugs.**
1. Patrols never arrived: placement demanded open *grass*, and settlements are asphalt,
concrete and dirt — so the search spiralled 97 tiles to the city outskirts. City spawn
3399–3625px → 429–481px; raiders engaging 0 of 3 → 3 of 3.
2. The ones that arrived turned round at a wall: a rule about *bodies queueing at a noise*
was firing on architecture. Crowd now requires an open line; being shut out by a
building is its own clause with a 30s patience.
- **Fixed:** raiders crashed the speech plate (~180 errors per shout), which also left the
speech tail pinned to the ground where the raider started.
### The world
- **Containers respawn.** Roadside wrecks 72h, town crates 120h, city caches 168h — after
the patrol rest interval, so people come back before loot.
- A regrown container rolls from a **poorer table**, because loot is seeded per tile and a
plain respawn would return identical contents forever. City ingots/day 6.62–11.85 → 0.44–0.79,
schematics 5.59–10.0 → 0. First openings still tile-rolled, so seed surveys are unchanged.
### Netcode & other fixes
- **One co-op join in eight was broken.** Spawn slots come from `peer_id % 8`; the host is
always peer 1, so a guest could land on the host's exact pixel. Two coincident colliders
depenetrated identically every frame — both players sliding north at 476 px/s forever.
Same fault on the bedroll respawn path. Caught by the integration gate, not by any test.
- **Fixed:** the tablet's scan button reported success for a scan the device had refused.