Files
CosmicClash/multiplayer-next.md
T
2026-08-21 18:56:02 +01:00

49 lines
2.1 KiB
Markdown

# Multiplayer — next work
Short, current checklist for online multiplayer. Historical design decisions,
implementation evidence, and completed work stay in
[`multiplayer-todo.md`](multiplayer-todo.md).
## Release blockers
- [ ] **Phase 4 playtest:** a human playtest at roughly 100 ms RTT. Confirm
that ship and ball interaction feel local and contact corrections feel like
bumps rather than glitches.
- [ ] **Phase 5 session:** complete a real 3v3 match with a mid-match
disconnect and late joiner.
- [ ] **Phase 6 external check:** run the exported Docker server and clients
from separate machines over the internet, then play a full match. Keep this
controlled-only until Steam identity is complete.
## Phase 7 — Steam, identity, discovery
- [ ] Obtain the pinned GodotSteam client/server builds and Steamworks SDK
access described in [`STEAM.md`](STEAM.md).
- [ ] Run `make verify-steam-templates` with the custom executables and fix
any custom-template failures.
- [ ] Validate a two-account Steam SDR host/join using the existing explicit
`NetworkManager` Steam transport. ENet direct-IP must keep passing its smoke
test.
- [ ] Build the Steam server browser: internet, LAN, favourites, and history.
- [ ] Add Steam auth tickets, verified Steam identity in the roster, and a
persistent ban list. This fixes the slot-reclaim security issue below.
## Known issues to resolve before public hosting
- [ ] Slot reclaim is currently keyed by display name, so someone can take a
disconnected player's reserved slot. Do not expose public servers before
verified Steam identity lands.
- [ ] Investigate occasional input loss during a long server stall; the
existing sequence resync recovers it, but transport delivery is variable.
- [ ] Fix the remaining `_broadcast_snapshot` packet-send stderr race.
## Decide after the latency playtest
- [ ] Decide whether client-only, contact-cohort shadow physics is worthwhile
for the remaining prediction weakness.
## Explicitly deferred
120 Hz simulation, latency-gap measurement, audio hooks, and split-screen are
not part of the current multiplayer release path.