Fighting like a careful player
Watch Mode is the AI that plays the game for you. It was dying early: it pushed at rocks it could not pass, fought wolf packs head on at level 1 and rolled at the wrong moment. The fixes came from reading its logs after about a dozen test runs, one cause at a time.
- Rolling on time. The roll makes you untouchable for 0.7 seconds, so it now starts just before a blow lands. The boar's charge covers eight and a half units in under half a second, so charges are rolled sideways out of the way.
- Parrying the small stuff. Light bites and claws are parried with the shield, and the big blows are rolled. In one run the parry worked 23 times out of 26 (88 percent).
- Packs. The hit log showed it fighting seven wolves at once. It now treats any group bigger than its level can handle as ground to go around, and farms the easier beasts first.
- Loot before grinding. The village's own loot now comes before the first grind, so the first levels come from safe treasure.
Measured in the test runs, the new version had no deaths in the first seven minutes (the old one died five times in five) and reached level 7 by ten minutes of play.
Stuck, in four different ways
The report each run writes is where the real lessons came from.
A wiggle is not progress. The first real run reached level 7 in about seven minutes, then died ten times, and its journal showed it pinned against a cliff for minutes. Its stuck-detection counted any sideways wiggle as progress, so it never gave up a goal it could not reach. It now only counts getting closer.
No path, no walking. The second run stood frozen for seven minutes in a notch of the cliff. With no path to a beast it walked straight at it, slid along the cliff and wedged. The ground is now split into connected pieces, so a beast across a cliff or a chest on a ledge is known to be unreachable without searching. If it still asks to walk and does not move, it retraces the trail it walked freely, then rolls, and as a last resort is put back on open ground and says so in the report.
A saved bad hour. A 165-minute run reached level 14, finished no steps and died 37 times, almost all to wolfrats and field wolves. The Watch save had carried six given-up steps from the previous run, so nothing on the route was ready and it farmed the same valley the whole time. Given-up steps are no longer saved. A step the AI gives up now cools off for ten minutes and then gets two more tries.
Sealed in. In the same run the hero stood still at full health for 42 minutes while every goal, even a boar four units away, came back as "no way", 1,804 give-ups in all. The map had it boxed in. It now notices six give-ups in ten seconds from one spot, opens up the cells it had shut, and if that fails puts itself back on open ground. Why the map sealed that spot is still unknown.
Two smaller lessons from the same reports. The journal grew to 146,000 lines (29 MB) because two status lines swapped every frame, so a repeated line is now written at most every eight seconds. And one report claimed the route had finished at 20 percent: the script had mistaken the game's closing line, "route finished: False", for success.
Farming as a loop
Farming is now a loop with a base. The AI fights the beasts its level allows within reach of the village Monument, rests there when the ground is clear, spends its Vestiges on a level before anything else, and stays out of the wolf country until level 16. A level it can pay for comes before the walk back for dropped Vestiges, and that walk waits until the ground round them is clear.
Art that went in
Three art fixes landed alongside the AI work. The tower boss's three sprite sheets had been baked on 28 September and never installed, so he still wore the castle knight's look. A lattice of green ovals over the cobbles in wet weather turned out to be road puddles, one dithered oval on every wet road cell drawn in two greens instead of a water blue; they are no longer drawn, though the wetness data stays.
The approved cherry blossom and camp tent are also installed, replacing the weak versions from the earlier survey. The blossom is 6.66 world units wide beside the 6.6 units of the village's young trees, and both use 80 source pixels per unit. The tent reads at player scale. An existing foreground oak hides the blossom's lower trunk in the capture, and other seasons have not been checked.
