Repository navigation
Tidewater Docks and Thunderhead Mesa: legal winning strategies and three staff fixes - #191
Merged
jiro-by-nori[bot] merged 5 commits intoNov 1, 2026
Merged
Conversation
…ue onto the park's network - A mechanic skips a broken or due ride that a nearer mechanic is already heading for, so extra mechanics answer other breakdowns instead of following each other as a pack. - Wandering staff only keep or pick destinations they can reach; a queue tile (walkable but outside the walk graph) froze a handyman for the rest of the game. - A worker standing off the paths is put on the network the guests enter by when it can be, not on a cut-off stretch of path where it could never reach a ride or litter. Co-authored-by: Nori <contact@tilework.tech>
Site plans re-laid on each park's new-game map so rides have real queues (the old plans put most rides at lateral 2 with no queue tiles, so four walkers saturated each one), with bins on every footpath, research funding off, the Tidewater loan repaid before expanding to the piers, and patrols that cover the Thunderhead cliff trail. New site-plan steps: bins, repay, wait, flat-step clearing, route bins, null patrols, research funding. runScenario gains realResearch. bench/hard-park-wins.test.ts plays both parks to their deadlines on the scenario seed with the scenario's own research and asserts a win. Co-authored-by: Nori <contact@tilework.tech>
BALANCE.md and scenario-remixes.md record the diagnosis, the demonstrated routes and the results; bench, staff, guests and e2e noridocs follow the code. hard-parks-proof.spec.ts gains a won-park block that loads the saves bench/hard-park-wins.test.ts writes. Co-authored-by: Nori <contact@tilework.tech>
…osure, per-park win tests - The off-path rescue only prefers the entrance's network for a worker off the walk graph; a mechanic repairing a ride on a separate stretch of path is no longer moved away (test added). - wander's reachability check is a module function, not a closure per call. - A repay step never borrows first. - The win test runs one file per park so the long runs go in parallel; the queue test checks the handyman never stays on one tile, on two seeds; the e2e won-park block skips with a message when the saves are missing. Co-authored-by: Nori <contact@tilework.tech>
jiro-by-nori Bot
added a commit
that referenced
this pull request
Nov 1, 2026
🤖 Generated with [Nori](https://noriagentic.com) Co-Authored-By: Nori <contact@tilework.tech>
Contributor
Author
Proof: both parks won legally (Canvas2D, dev build)The won parks were saved at their deadline by
Tidewater: finances (loan $0, research off) Thunderhead: west shelf below the cliff trail Test runs on this branch: Canvas2D only: importing large built parks crashes headless SwiftShader WebGL2 in this sandbox, the same as on main (see the PR #190 proof). |
…ter-thunderhead-wins Co-authored-by: Nori <contact@tilework.tech>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.






Summary
🤖 Generated with Nori
Tidewater Docks and Thunderhead Mesa (remixed in #190) went from 12/12 to 0/12 in the scripted sweep. Traces showed this was not the scenarios being impossible: both are now won legally on the map a new game generates, with the scenario's own cash, loan and research, using ordinary player commands only.
Diagnosis (telemetry, not blind seed sweeps)
rideQueueCapacitywas 4, and guests still walking to a ride count against it. Four walkers crossing the long park filled every ride. At Tidewater, 399 of 515 guests had nothing to ride and spent about $4 a month. Income could not cover 18 staff ($1,020 a month) plus $200 a month of research.src/sim/staff/staff-system.ts):Strategy changes (bench only)
bins,repayandwait. Also new:flat.clear,route.bins, roaming (null) patrol entries andresearchFunding.runScenariogainsrealResearch.Results (
pnpm balance -- --scenario <id> --seeds 3, plus the new-game seed through the win test)Regression check after the staff fixes: every park on seeds 1–3. Glacier Point is identical to main on the same seeds. Mossgrove Isle over 12 seeds: 2/12 on main, 1/12 here. Mean ride income is unchanged ($297 vs $299 a month); one seed sits on the $350 line. It was not retuned. Details are in
docs/BALANCE.md.Test Plan
bench/hard-park-wins.{tidewater,thunderhead}.test.ts: each park plays to its deadline on the scenario seed with real research and must win. It also checks that every first-year ride opens and has room to queue.mainand pass here (queue-tile freeze, pack mechanics, stranded hire, mechanic on a separate path stretch).pnpm format:check, lint, typecheck,srcandbenchsuites.e2e/hard-parks-proof.spec.tswon-park block). Screenshots are on the proof branch, linked in a comment.Share Nori with your team: https://www.npmjs.com/package/nori-skillsets