Three of the day's bugs had the same shape: something that looked like it was working while doing nothing.
The hero was always called Wanderer
Whatever name was typed, the hero came out as "Wanderer".
The Enter (or A) that picks a save slot on the title screen was also being read by the naming screen, which opens inside that same press. The naming screen went straight to "Is this your name? WANDERER", a state where typing is ignored.
The naming screen now ignores its opening frame and any key still held from the title. The test that proves it drives the exe's exact order of events, and it failed that way before the fix.
Shops with nothing to sell
No placed character could be looked up by its id. The controller registered itself before its id had been set. Shop counters opened empty, the forge fee read 0, and dialogue labels could not name anyone.
The castle gate tests found it, played with the real keys, not a player.
"Compiles clean"
compile.mjs, the script used to check the project builds, never compiled anything. It had an unquoted path containing spaces, and an error filter that missed the compiler's own errors. It printed "compiles clean" either way. Both are fixed, and every "compiles clean" it printed before that proved nothing.
The frame, and why 4x
Playtest notes asked for a slightly closer view and less black around the edge of the map. Each change went back as three options before anything moved. The main frame is now 480 x 270 texels, shown at 4x at 1080p: 30 by 16.875 tiles on screen, instead of 40 by 22.5 at 3x.
There was no closer whole-pixel step to pick. The heights of 1080p, 1440p and 4K share no divisor smaller than 360 texels, so a closer frame that stays whole at all three does not exist. The choice was one whole step at 1080p, a 10% fractional step, or leaving it, and 4x it is. 1440p lands on a fractional 5.33x.
Everything quoted against the frame scales with it: aggro radii, world text sizes and screen shake. The camera's default orthographic size went from 11.25 to 8.4375.
The opening area is a painted backdrop, and it is framed on its inner 20 x 12 tiles of 24 x 16, which moves it from 5x to 6x pixels at 1080p. The painting has black corner wedges that reach 3 to 5 tiles in along each edge. The full width had all four on screen at the wake-up spot. Now only the tip of one shows there.
Dialogue portraits, measured
A note said the portraits should be raised so the chest is the bottom edge of the screen. On a real villager frame the head runs to row 24 and the chest ends at row 32 of 32. The old cut fell at the shoulders and the letterbox bar hid them down to the neck, so only hair and eyes were visible. The screen edge now crosses the bottom of the chest and the figure stands on the bar rather than behind it, at the same size.
Armour, head to foot
Head, chest, hands and legs are four slots worn at once and mixed freely. Each piece's weight, defence, poise, resistances, status resistance and traits count, and the Equipment screen lays them out head to foot. Ten new pieces (gloves and legs) complete five sets.
Stella, the armourer, sells the everyday pieces. Her counter had been empty all along, because the populator never handed a villager their stock. Armour pieces count in the numbers now but are not yet drawn over the hero, which waits on the art.
A cave read off a map by colour
An optional cave dungeon was built to a hand-drawn map, one map pixel to one game pixel, at 82 x 75 tiles. The walkable floor is read off the map by colour: warm dirt, stone stairs and timber bridges walk, and rock, water, falls and void do not.
Two corrections the colours could not make by themselves. Every tunnel grows half a tile into the rock around it, because rock tops overhang the floor. And 26 hand-placed rectangles join up the stairs and bridges that the colours read as rock.
A small bug on the way: fires the backdrop already painted were getting a stray prop sprite, a green sprig, under their flame.
An AI that plays through the real controller
Watch Mode lets an AI play the game, and it is built so there is nothing to fake. Every gameplay read goes through a single seam, and the AI presses buttons with the same pressed, held and released timing a pad has. It reads where it can walk off the same physics the player collides with.
A watched run is never written to disk, so the player's three save slots are never touched. In its first form it drinks before a quarter of its health bar, rolls out of every wind-up it can read, and strings the three-hit chain inside its stamina.
EditMode passes 577 of 577.
