Add game mode categories, character creation, on-foot ship/hub mode, RAM currency, and in-ship navigation
Bundles several sessions' worth of previously uncommitted work: map categories with Domination/Conquest/King of the Hill mode stubs and a server-list mode filter; a procedurally-drawn character-creation screen replacing the old callsign-only PROFILE overlay; the on-foot groundwork (walkable station hub, ship interior, character controller) plus the RAM currency backend; and today's addition, an in-ship Helldivers-2-style navigation table that QUICK PLAY's queue/connect flow and the Belters/ Military hub travel now live behind, with hub-and-ship return paths and a context-aware pause menu usable both in-match and inside the ship. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -106,6 +106,28 @@ add them to a database that already has a `players` table from before this
|
||||
change. Run `docker compose down -v` once to pick them up on an existing local
|
||||
dev database.
|
||||
|
||||
## RAM (in-game currency)
|
||||
|
||||
See `overview/onfoot.md` for the full design — this is just the backend
|
||||
piece. `Player.ram_kb` is a single `BigInteger` balance, always stored and
|
||||
transmitted as kilobytes (the smallest denomination); the Godot client
|
||||
(`spacewar/autoload/currency.gd`) formats it up into KB/MB/GB/TB for
|
||||
display, 1000 per step. 100% separate from real-money monetization
|
||||
(`overview/money.md`) — this is purely an in-game economy.
|
||||
|
||||
`POST /matches/report` now also credits RAM to every reported player:
|
||||
`ram_payout_participation_kb` just for being in the match, plus
|
||||
`ram_payout_per_kill_kb` per kill, plus `ram_payout_win_bonus_kb` if they
|
||||
won (all three tunable in `app/config.py`, currently 50/15/200 — placeholder
|
||||
numbers, not balanced against anything). `GET /stats/{callsign}` returns the
|
||||
running total as `ram_kb`.
|
||||
|
||||
There is no spend endpoint yet — nothing in the game can spend RAM until the
|
||||
ship interior/hubs from `overview/onfoot.md` exist. `Player.ram_kb` is a new
|
||||
column on an existing table, same no-migrations caveat as above — covered by
|
||||
the same `docker compose down -v` if you're picking this up on an existing
|
||||
local dev database.
|
||||
|
||||
## Client integration
|
||||
|
||||
The Godot client is wired up (`spacewar/autoload/matchmaking_client.gd`):
|
||||
|
||||
Reference in New Issue
Block a user