Test-race scenarios and race bot in scripts/ #33
Labels
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#34 Spike: game race ID shared across LAN instances
mintopia/blur
#35 Feed: use and collect events, per-racer totals
mintopia/blur
#38 Game award stats and awards in the feed
mintopia/blur
#49 JSON Schema for the game-state feed
mintopia/blur
#32 Feed: dev-only debug state for scripts
mintopia/blur
Reference
mintopia/blur#33
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Runnable race scenarios in
scripts/(ADR 0020 layout; tools stay intools/,tools/modes/plansstays).Acceptance
BLUR_PADFILE: full throttle (RT 255), fires each held powerup within ~1 s of it appearing in the feed'spowerups, presses reset after ~3 s near 0 mph. No steering logic.src/host/input/macos.mmvpad).menustate (#32).Rules
docs/decisions/0019-feed-message-contract.md). Repo data/tools: ADR 0020.BLUR_ENGINE=recomponly.docs/state-websocket.mdandexamples/live-timingfor any feed change.scripts/scenarios (windowed, low settings) once #33 exists.Implemented
scripts/race.py single|split|lan(+racelib.py,test_racelib.py) and the padfile left-stick X column (macos.mmvpad,docs/dev-flags.md, README).settings.xmlin a copied save: windowed 1280x720, graphical_detail 0, no MSAA, vsync off;--set key=valoverrides. LAN windows cascade.--mods(default Bribe / Decoy_Drop) written to theloadouts_*store; roster confirmed bribe on racer0, decoy_drop on racer1.screen+dev_menu_item.Known limits:
--modsonly applies to LAN (no selectable loadout in SP/split, ADR 0014).Comment-check fixes (6217be7): race.py exit docstring now states it checks a final race_result per instance (also sent on timeout/quit; pads 1+ unchecked); removed file-describing module docstrings in racelib.py and test_racelib.py. test_racelib passes.
Split: every pad now runs the full bot (pad k drives pad 0 racer + k). Verified on recomp split n=2: pad 0 fired 15 powerups, pad 1 fired 17, race finished. Feed JSON-string values are now decoded in Feed.get. Not verified in a live race: reset button (Y) firing after ~3 s stuck (covered by test_racelib; a forced-stuck run hung at the HUD) and LAN with N>2 (tested with 2 instances).
Rebased onto a51e589 (develop slim README). Resolved README conflict: kept slim table + added
scriptsrow; moved the fullscriptsrow intodocs/repo-structure.md(dropped stale ADR 0020 link; 0020 is game-lookup-data). test_racelib passes. No code change vs prior verified work.Completed and merged by Harmonic (task 35).