Skip to content

FRLG: an overworld sim, and the walker's console failures as its tests - #202

Closed
dayfine wants to merge 15 commits into
frlg/autostory-mart-teach-grindfrom
frlg/overworld-sim
Closed

dayfine wants to merge 15 commits into
frlg/autostory-mart-teach-grindfrom
frlg/overworld-sim

Conversation

@dayfine

@dayfine dayfine commented Nov 3, 2026

Copy link
Copy Markdown
Owner

Depends on #195 (base frlg/autostory-mart-teach-grind; the diff shows only this change).

The walker's console failures could only be rechecked on the console. This adds OverworldSim, a whole-tile model of FireRed's overworld on the planner's maps (ledge hops, warps with a fade, signs, trainer sight, scripted wild battles seen or missed, the screens the walker's watchers would see), and OverworldSimWalker, which runs the real run_route() and walk_leg_with() on it the way walk_overworld_route_with_recovery() does on the console, with the rules past failures added as switches. The new OverworldSim suite replays nine console B failures from 2026-11-01 (forest gate fade and black, START menu left open, battle at the end of a leg, late battle mid-leg, trainer battle fled, ledge hop, short leg into a sign, Camper Liam in Pewter Gym, Viridian Mart exit), each green now and each red with its rule turned off. Built locally and ran the OverworldSim, OverworldRecovery, OverworldReanchor, OverworldRoute, OverworldWalk and OverworldMaps suites (60 tests, all pass) with a small out-of-tree runner, since the app's test mode would touch the open lab app; nothing was run on the console.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

The walker's failures on console B could only be checked again on the
console. OverworldSim models FireRed's overworld a whole tile at a time on
the maps the planner uses: the player moves while the D-pad is held, hops
ledges the way they face, takes warps with a fade, reads signs walked into
moving north or south, and is seen by trainers along their sight. Wild
battles start on the grass steps a test chooses, with their flashes seen
or missed. Each shows a screen at a time after its step's press, which the
walker's watchers see or miss as on the console.

OverworldSimWalker is the console side of run_route() (RouteCalls) on the
sim, step for step as walk_overworld_route_with_recovery() does it, with
the walker's real leg bookkeeping (Pokemon::walk_leg_with()), timings and
detection delays. The rules console failures added are switches, so each
test also turns its rule off and checks the sim fails the old way.

Tests replay nine failures from 2026-11-01: the fade and the black below
the forest's north gate read as battles, the START menu left open, a
battle at the end of a leg walked into, a late battle stopping an open
leg, a trainer's battle fled, a hold over a ledge, a short leg then a
sign, Camper Liam on the way out of Pewter Gym, and the walk out of
Viridian Mart from the clerk's scene.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
dayfine and others added 14 commits November 3, 2026 00:25
…rld after RUN in a dark cave) into frlg/overworld-sim
…st that never showed) into frlg/overworld-sim
…e TM CASE) into frlg/overworld-sim

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
…le; TEACH skips a TM not in the case) into frlg/overworld-sim

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
…ACH after-forget texts) into frlg/overworld-sim
…der can't name) into frlg/overworld-sim

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
@dayfine

dayfine commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

Superseded by #215 (FRLG stack consolidated into stage PRs; will be resplit for upstream).

@dayfine dayfine closed this Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant