Skip to content

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

Closed

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 #4063 (round 19, PR #4078: a lair's creature is one creature, so every friend fighting it sees one health bar, and a late joiner finds it as hurt as it is) and before it #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.

Round 19's judge: 8.65 -> 9.0 raw (one world 1.75 -> 1.95, tested 1.75 -> 1.85), halved 4.3 + 0.175.

Next steps, in order:

  1. One fight, not one health bar. Friends at one lair still each play their own fight: they share the creature's health but don't see each other's moves. That takes 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.
  2. A share tied to the fight. The room believes a lair share no faster than a whole creature in 3 s after walking in (party.ts believeHurt), the same bound as a fight report. A lying page can still claim the whole creature 3 s in. Tighter would be a cap from the line-up's own damage per second, or the fight hashes the duel uses.
  3. The region's mythic and its hunt kept by the room for a late joiner, the way Mythic Masters walk together: the room keeps what the region's wilds and its mythic are doing, so a late joiner hears it even after the teller left #3859 keeps the wilds.
  4. 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 journey checks frame time only on a machine with a GPU, because CI runs it with ?draw=0.

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 9, 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.

  3. QuinnsCode commented on Nov 10, 2026

    @QuinnsCode
    OwnerAuthor

    Moved up to #4165

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