Skip to content

Mythic Masters: friends walk the open world together, cheap by design, hill climb to 8/10, rounds 21+ (from #4081) #4165

Open

Description

@QuinnsCode

Score: 4.5/10 (target 8, on the owner's scale: agent judges halve their number, per the 2026-11-05 reset)

Carries the climb on from #4081 (round 20, PR #4164: the room keeps the party's contracts for a late joiner, at the furthest sign anyone read, and drops one when its lair's creature is beaten). Round 20 gained nothing: the judge gave 9.0 to main and 9.0 to the change, so this is one round without a gain. Before that came #4063 (round 19, PR #4078: one health bar at a lair), #3862 (rounds 17-18), #3792 and the rounds listed there. Their score comments have the judges' tables. The owner's brief and the five points are in #3862's body.

Next steps, in order:

  1. One fight, not one health bar. Friends at one lair still each play their own fight. That needs the 2v1 sim in Mythic Masters: co-op PvE, two friends against a wild one (needs a 2v1 sim) #3929 (teams in sim.ts and sim-rs), then lockstep for N seats (src/net/duel.ts) or one page hosting. Mythic Masters: co-op PvE, two friends against a wild one (needs a 2v1 sim) #3929 sizes it at a day or two: take it as its own piece of work and score it here once it lands.
  2. A full party's frame cost (Mythic Masters walk together: a full party costs about 13 ms a frame (15 rigged walkers), draw far friends cheaper #3704, with the frame-budget climb Mythic Masters: open-world frame budget (95th under 16.7 ms, no hitch, a party of six), hill climb to 8/10, rounds 6+ (from #3709) #3796). The round 20 judge ranks "walk together" as the lowest point: about 20.6 ms a frame at six, and CI runs the journey with ?draw=0, so fps is checked only on a machine with a GPU.
  3. A contract's sign believed only where it is. The room checks that the teller is by the board (huntNear), not which sign they read, so a page there can claim sign 3, and since Mythic Masters together round 20: the room keeps the party's contracts for a late joiner (Part of #4081) #4164 the room keeps that claim. The clue spots are in src/world/hunts.ts, which the room can't import, so the fix is a small table of clue spots (like dens.json), checked against the pose.
  4. A share tied to the fight. The room believes a lair share no faster than a whole creature in 3 s (party.ts believeHurt). A tighter cap would need the line-up's levels, which the room never hears, or the fight hashes the duel uses.
  5. The region's mythic kept by the room for a late joiner, the way the wilds and now the contracts are.

Open: MANUAL RUN #3697 (the owner's walk with a friend), #3858 (journey timing), #3706 (the Region under workerd locally), #3704 (full-party frame time), #3929 (2v1 sim).

Activity

  1. self-assigned this
    on Nov 10, 2026
  2. QuinnsCode commented on Nov 10, 2026

    @QuinnsCode
    OwnerAuthor

    Score: 4.5/10 (target 8)

    Round 20, PR #4164. The room now keeps the contracts the party is on (at most 3, each at the furthest sign anyone read) next to the wilds it already keeps (#3859). They go out with all, so a friend who joins after the teller has left can still follow a contract to its lair. Beating the lair's creature drops the contract from the room.

    Why this step and not the first two: step 1 (one shared fight) needs the 2v1 sim in #3929. That is the TypeScript sim and its Rust twin, which #3929 sizes at a day or two, too big for one round. Step 2 (a share tied to the fight) needs a cap from the line-up's own damage per second. The room never hears the line-up's levels, so any cap it could set would still be loose.

    A fresh judge scored main 9.0 and this change 9.0 raw. The change counts for about +0.05 on "one world", which doesn't make a quarter point. So the score stays at 4.5 + 0 / 2 = 4.5. This is the first round with no gain. The judge also flagged a stale contract after its lair is won; that fix came after the judging, so the score doesn't count it.

    Point Before Now Why
    Walk together 1.5 1.5 A full party still misses 60 fps (about 20.6 ms a frame), and CI's ?draw=0 skips the fps check.
    One world 2.0 2.0 Up from 1.95 before rounding: a contract now outlasts whoever took it. Still missing: one shared fight, and the region's mythic isn't kept yet.
    Cheap by design 1.75 1.75 $0.00125 per player-hour; a full seat is 2,010 of its 2,048 attachment bytes. Never priced live (#3697).
    Honest offline 2.0 2.0 Unchanged.
    Tested the way people play 1.75 1.75 The two-socket test covers the late joiner, the furthest sign, and a won lair closing its contract. The two-page journey doesn't.
    • Price: $0.00125 per player-hour with six together (bun scripts/cost.ts 6 60), before and now. Target: under $0.005.
    • Bytes per second per player (six together): 90 up, 1,181 down; no change from main.
    • Frame time: the page's per-frame code is unchanged. This round wasn't measured on the builder, which ran out of battery.
    • Open in the change: the room checks that a contract's teller is by the board, but not which sign they read, so a page there can claim sign 3. That gap was already there for the live relay; now the claim is kept. It's in the next issue's steps.

    Next: one shared fight (the 2v1 sim, #3929), then a full party's frame cost (#3704 / #3796), which the judge ranks as the lowest point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions