Repository navigation
Description
Score: 4.375/10 (target 8, on the owner's scale: agent judges halve their number, per the 2026-11-05 reset)
Carries the climb on from #3764 (round 14, PRs #3776, #3778, #3782: a pose speed check, stones and arenas by distance, trailheads and trail dens over the clock), #3722 (round 13, PR #3761: dens checked against the world seed), #3707 (round 12, PR #3716: the room under workerd), #3703 (round 11) and rounds 3 to 10 (#3699, #3698, #3696, #3695, #3690, #3684, #3679, #3674), all in PR #3676, and rounds 1 and 2 (#3670, #3663, PR #3669, merged); their score comments have the judges' tables. Open: MANUAL RUN #3697, #3784 (step-hopping, a silent trust reset, catch-up after trust returns), #3706 (the lobby end to end), #3704 (full-party frame time).
The owner's brief (2026-11-05): make Mythic Masters' open world multiplayer, and make it awesome, performant and cheap. Today the whole game runs in the page on an assets-only Worker (apps/mythic-masters/rustybuns.config.ts); nothing online but eqosys sign-in (src/account.ts). The 77 × 51 km continent, its regions, trails, dens and hunts are in src/world/ and docs/WORLD-EXPANSION.md. The sibling climb for frame time is #3664.
What awesome means here
You see your friends walking the same land with their bound beasts beside them, you meet them at a den, a mythic you both chase is the same mythic, the Book heckles the party as one, and joining takes one code. Not an MMO: a party of up to six on one region at a time, like a hunting trip.
Goalpost: 8/10 from the owner
- Walk together. Through an eqosys party code (
partyin@rustybuns/util/eqosys, Qollab is the connecting layer, eqosys the account) friends land in the same region and see each other move, with their lead beast beside them, at a smooth 60 fps: interpolation and dead reckoning on the page, a low send rate (5 Hz or less, deltas, quantised positions), never a per-frame message. - One world. Dens, wild food, flocks and the region's mythic are the same for everyone there: seeded by the room, not by each page, so a hunt one player starts the others can join; a fight is still the page's own sim, its result reported and checked for plausibility.
- Cheap by design, priced before it ships. One Durable Object per occupied region (never per player) using
Socketsfrom@rustybuns/util/roomwith WebSocket hibernation, token-checked joins (@rustybuns/util/token),TokenBucket,RoomMintGateandoriginAllowedfrom@rustybuns/util/limits, no storage writes per tick (the room keeps state in memory, a save is the player's own page). A cost model in the repo (apps/mythic-masters/scripts/cost.ts) that runs the stress script, counts messages, wake time and storage ops, and prints a price per player-hour from Cloudflare's published Durable Object rates. Target: under $0.005 per player-hour at a full party, printed in every round's comment. No deploy by a worker: the owner runsbun run deployafter a plan (DEPLOYS=1 AGENTS=1 CHECKS=1). - Honest offline. Alone, nothing changes: no socket, no cost, the save stays local. A dropped connection degrades to solo play and rejoins without losing the trip.
- Tested the way people play. One journey test through the running app (
local()fromtest/app-kit.ts) with two pages in one room: both see each other, one leaves and rejoins, a hunt stays shared. A stress script (scripts/stress.ts) that runs six bots walking a region for a minute and prints messages per second and the price.
The loop
Each round is one PR against main that says "Part of #N". Shots and numbers: bun run probe mythic-masters with the mythicMasters handle, two headless pages in one room, frame time and bytes per second per player in the comment. A fresh judge scores the five points, halves it, and the comment starts Score: x/10 (target 8) and ends Next: ...; then open "rounds N+ (from #N)", close this one with "Moved up to #new". At the target, a MANUAL RUN: for the owner's own play with a friend. No Vectorize, no third-party realtime service, no new paid binding without an issue for the owner first.
Activity
Mythic Masters walk together: time banked during a network stall carr…
QuinnsCode commentedon Nov 6, 2026
Score: 4.25/10 (target 8)
Round 15: PR #3789 (open, CI green on its first commit). It closes the three holes in #3784:
vouchand the page tells its contracts again.A fresh judge gave 8.5/10, against 8.75 last round. So the score is 4.375 + (8.5 − 8.75) / 2 = 4.25. The judge's top gap was one this round made: a network stall followed by a burst of poses flagged an honest fast runner. It is fixed in the same PR (time banked during a stall carries through the burst, with a test row), after the judging, so the score doesn't count the fix.
?room=has never run end to end (#3706).vouchretells contracts and not dens, and a jump to any landing spot on the map is believed, even in a locked region.vouchis a few bytes, sent only when trust changes, and nothing new is stored.vouchruns only against a stand-inonCompany, never the real page, and the Chrome journey is still skipped on CI and skips the lobby.bun scripts/cost.ts 6 60), before and now. Target: under $0.005.test/together.test.ts):Leftovers, each its own issue:
vouchretells dens too, trust returns when a trusted friend walks up to you, and a test through the real page: Mythic Masters walk together: trust coming back retells dens, and returns when a trusted friend walks up to you #3790;Next: #3790,
vouchretells the den you are at, and trust returns when a trusted friend walks up to you, with the Chrome journey taking a contract while untrusted. Then #3791.QuinnsCode commentedon Nov 6, 2026
Moved up to #3792
Mythic Masters walk together, round 15: the speed check spends its sl…