mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-10 16:04:04 +00:00
docs: scope casual and ranked matchmaking as a 1.0 launch blocker
Queued matchmaking had never been considered anywhere in the planning docs - not as planned work, and not even on the explicitly-deferred list. It is a launch requirement, so record the design before code. Add docs/MATCHMAKING.md covering the model change (community-server -> per-match allocation), the decision to use Steam for identity and a project-owned backend for queue/rating/allocation, what the existing server already provides (--max-matches=1 is the allocation primitive, ServerConfig, the roster, MatchState), the casual/ranked ruleset split, and the open questions - rating algorithm, team-to-individual rating, and the server cost that allocated matches reintroduce. Ranked is hard-blocked on Phase 7 Steam auth tickets: slot reclaim is keyed by display name today, and a rating on a spoofable identity is worse than no rating. Add Phase 8 to multiplayer-next.md, and correct README/CLAUDE.md/ TECH_STACK.md, which asserted no backend exists or is planned - true before this was scoped, wrong now.
This commit is contained in:
+15
-4
@@ -176,10 +176,21 @@ Python, no .NET, no network." Keeping the shipped game GDScript-only (no
|
||||
|
||||
## What's deliberately absent
|
||||
|
||||
- **No C# or .NET runtime anywhere in the shipped game or server**, despite
|
||||
early project framing (see `README.md`'s history) once describing a
|
||||
"C# backend" — that was never built and is not the current plan.
|
||||
- **No C# or .NET runtime anywhere in the shipped game or server.** The
|
||||
"C# backend" in `README.md`'s early framing was never built. A backend
|
||||
service *is* now planned for matchmaking (see below), but nothing has
|
||||
chosen C# for it — that framing predates every real decision here.
|
||||
- **No HTTP/WebSocket/gRPC layer** for multiplayer — ENet/Steam SDR over UDP
|
||||
only, via Godot's own `MultiplayerAPI`.
|
||||
only, via Godot's own `MultiplayerAPI`. Matchmaking will add the project's
|
||||
first non-UDP network path, for backend traffic only; the simulation stays
|
||||
on ENet/SDR.
|
||||
- **No ONNX or other ML runtime in the shipped game** — see "AI opponents"
|
||||
above.
|
||||
|
||||
## Planned, not yet built
|
||||
|
||||
- **A matchmaking backend service** — Steam auth ticket validation, casual
|
||||
and ranked queues, a rating store, and per-match dedicated-server
|
||||
allocation. Language and hosting are undecided. This is a 1.0 launch
|
||||
blocker and the single largest departure from "one Godot project, no
|
||||
backend". See [`MATCHMAKING.md`](MATCHMAKING.md).
|
||||
|
||||
Reference in New Issue
Block a user