mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 18:53:42 +00:00
49 lines
2.1 KiB
Markdown
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.
|