mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-15 08:22:06 +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:
@@ -6,7 +6,7 @@ Important rule: never create co-authored commits. Never mention Claude in commit
|
||||
|
||||
## Project overview
|
||||
|
||||
Cosmic Clash is an open-source, physics-based "vehicle soccer" game (a spiritual successor to Rocket League) built in Godot 4.7, using space ships instead of cars. It is GDScript/Godot only — the "C# backend" in README.md was never started and is not the plan; the dedicated server is an export of this same Godot project. README.md's "MVP is local-only against bots" section is historical: server-authoritative online multiplayer, a headless dedicated server, Docker/CI verification, and an optional Steam transport are all implemented (Phases 1–6). See `multiplayer-next.md` for what actually remains.
|
||||
Cosmic Clash is an open-source, physics-based "vehicle soccer" game (a spiritual successor to Rocket League) built in Godot 4.7, using space ships instead of cars. It is GDScript/Godot only today — the "C# backend" in README.md was never started, and the dedicated server is an export of this same Godot project. A **separate backend service is now planned** (not started) for casual/ranked matchmaking, which is a 1.0 launch blocker; see `docs/MATCHMAKING.md`. README.md's "MVP is local-only against bots" section is historical: server-authoritative online multiplayer, a headless dedicated server, Docker/CI verification, and an optional Steam transport are all implemented (Phases 1–6). See `multiplayer-next.md` for what actually remains.
|
||||
|
||||
Because the gameplay concept (vehicle soccer) can't be copyrighted but specific expression can, all code/art/assets must be original — this is why the project uses Godot instead of Unreal/Unity and ships instead of cars. Keep this in mind when writing code or pulling in assets: don't port or closely mirror Rocket League's actual implementation.
|
||||
|
||||
@@ -20,6 +20,8 @@ The prose docs carry far more design rationale than the code comments, and sever
|
||||
- `SERVER.md` — dedicated-server build, config, systemd deploy, sizing.
|
||||
- `STEAM.md` — optional GodotSteam custom-build setup and the transport contract.
|
||||
- `FLIGHT_MANUAL.md` — the player-facing flight model.
|
||||
- `docs/MATCHMAKING.md` — casual/ranked queue design. Not implemented; a 1.0 launch blocker, and the reason a backend service now exists in the plan.
|
||||
- `docs/TECH_STACK.md` — what the project is built with and why.
|
||||
- `TODO.md` — deferred non-multiplayer work (audio is the big one: there is none at all).
|
||||
|
||||
## Godot MCP server
|
||||
|
||||
Reference in New Issue
Block a user