Server browsing & matchmaking: - HL2-style main menu (QUICK PLAY/SERVER SELECT/OPTIONS/PROFILE/QUIT) replaces the old CASUAL/RANKED tiles; RANKED removed end-to-end (menu, matchmaking-api's Mode.ranked queue path, MMR matching) until ranked is real. - New menu/server_select.gd lists real servers from the matchmaking API's GET /servers and connects directly, retiring the old unreachable menu/server_browser.gd. - Real game-server pool: NetworkManager.host_server() self-registers on boot and heartbeats every 8s with live player counts; API computes available/full status from player_count, and a background sweep marks any server offline once its heartbeat goes stale (catches a crashed server that never deregistered). - Server-select rows get a live UDP ping probe (query port = game port + 10000) instead of trusting stale DB numbers; post-connect HUD shows live RTT off ENet's own peer stats. Race roster overhaul: - Swapped Terran/Mechanos/Vorg for the pivoted roster — Apex Dynamics, Inner Sphere Navy, Outer Rim Collective — each with a 3-ship Fighter/Gunner/Tank lineup, art cropped from concept sheets with background removal + orientation fixes per sheet. - Live headcount + roster + "TEAM FULL" lock on the race-select screen, shared between the initial pre-spawn pick and the pause menu's live SELECT TEAM swap. - Bot personalities (bots/bot_personality.gd): aggression/caution/ accuracy/reaction/awareness traits rolled per bot instead of one fixed AI profile. HUD additions: - Player list (roster, teammates white/enemies yellow, bots flagged), kill feed, minimap, and explosion VFX on death. - Health and energy now render as bars (hud/stat_bar.gd) instead of text in the top-left HUD. Ship energy system: - Per-role max energy (Fighter 100 / Gunner 150 / Tank 250), 75 energy per shot, flat regen (100 per 2.5s), fully server-authoritative and piggybacked on the existing per-tick state broadcast alongside health. - New blue "mirrored" bar top-middle of the screen (hud/energy_bar.gd) whose fill drains from both edges toward the center instead of left-to-right. Ship handling tuning: - Turn rate reduced (4.0 -> 1.0 rad/s) so a quick tap no longer over-rotates; holding past 0.15s ramps to double speed (2.0 rad/s) for fast full turns, gated the same way damage already is so replay during reconciliation can't double-count the hold timer. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
5.8 KiB
Races & Ship Classes
Setting
Three factions fight inside the massive shielding, pipes, and superstructure of
refineries, shipyards, and mining stations — not open void. Grounded, blue-collar
sci-fi in the vein of The Expanse (corporate hegemony vs. disciplined inner-planet
military vs. gritty outer-belt miners), but built as a fast, arcade 2D tactical
arena shooter rather than a hard-sci-fi sim. Tight factory corridors and choke
points are the map language — see multiplayer.md.
Status: This replaces the previous 10-alien-race concept pool and the Terran Republic / Mechanos Sovereignty / Vorg Swarm roster. Doc-only for now — game code (
team_select.gdRACES data,GameConfig, existingassets/images/ships/<race>/art) still reflects the old races until that work is scheduled.
The 3 Factions
Apex Dynamics — The Corporate Syndicate
Weapon type: High-tech energy (coherent light / plasma) Visual: Sleek, pearlescent-white hulls with razor-sharp geometric lines and glowing neon-blue engine trails — looks more like a high-end luxury smartphone than a military weapon. Feel: High-tech and precise. Wins by not being seen until it's too late. Tactical ability: Active Camouflage — see Faction Abilities
Inner Sphere Navy (ISN) — The Military
Weapon type: Standard-issue ballistics / ordnance Visual: Gunmetal-gray, wedge-shaped hulls with hard militaristic angles, dense protective plating, and prominent forward-facing gun turrets. Feel: Disciplined, heavy, frontal. Wins by tanking a choke point and forcing the fight. Tactical ability: Overcharged Aegis — see Faction Abilities
Outer Rim Collective (ORC) — The Belters
Weapon type: Kinetic / repurposed mining hardware Visual: Blocky, gritty patchwork of mismatched metal plating and exposed hydraulic wiring, dominated by external fuel tanks and heavy industrial hardware bolted onto the hull. Feel: Scrappy and improvised. Wins by controlling terrain and denying space. Tactical ability: Proximity Scrap-Mine — see Faction Abilities
Ship Classes
Every faction fields the same 3-ship structure, re-skinned to its own theme:
| Class | Role |
|---|---|
| Fighter | Single, high-precision, high-damage shot |
| Gunner | Rapid-fire spray/burst, more shots for less damage each |
| Tank | Bigger and slower; fires both bullets and missiles |
Apex Dynamics
| Ship | Class | Weapon |
|---|---|---|
| Lancet | Fighter | A single, high-precision bolt of blue coherent light |
| Pulsar | Gunner | A wide, rapid-fire fan of low-damage green plasma pulses |
| Sovereign | Tank | Homing micro-missiles alongside dual heavy plasma batteries |
Inner Sphere Navy (ISN)
| Ship | Class | Weapon |
|---|---|---|
| Patriot | Fighter | A single, hard-hitting high-caliber explosive shell |
| Barrage | Gunner | A relentless quad-barrel spray of fast, low-damage light bullets |
| Behemoth | Tank | Heavy tracking torpedoes plus massive physical deck-guns |
Outer Rim Collective (ORC)
| Ship | Class | Weapon |
|---|---|---|
| Rail-Jack | Fighter | A single, heavy magnetic railgun slug |
| Scrap-Spitter | Gunner | A rotary scrap-cannon spraying rapid, low-damage metal shrapnel |
| Iron-Clad | Tank | Unguided explosive rockets plus continuous vulcan machine-gun fire |
Faction Abilities (Universal System)
Each faction has exactly one tactical ability. Every ship in that faction gets it — what changes per class is scale, not kind, so the ability reads instantly off a ship's faction regardless of which of the 3 hulls it's flying. Same energy cost and cooldown across factions; duration/impact scales with the hull:
| Class | Scaling rule |
|---|---|
| Fighter | Fast cooldown, short/light effect |
| Gunner | Baseline cooldown and effect |
| Tank | Long cooldown, largest/heaviest effect |
Apex Dynamics — Active Camouflage
Ship turns 90% transparent and disappears from radar. Firing or taking damage breaks it instantly. Fighter gets a quick, short slip; Tank's lasts longest but is riskiest to commit a slow hull to. Use: Slip past a defender in a narrow pipe, flank, or break a missile lock.
Inner Sphere Navy — Overcharged Aegis
A frontal hard-light barrier absorbs 100% of incoming damage from the front for a few seconds. Sides and rear stay exposed, turn rate drops, and the ship can't fire while it's up. Tank's barrier is wide enough to shield teammates trailing behind it; Fighter's is a narrow, quick poke. Use: Push straight through a defended choke point, soaking fire so teammates can follow.
Outer Rim Collective — Proximity Scrap-Mine
Ejects a magnetized mine that arms after ~1 second and goes dark on radar. Detonates on enemy proximity for heavy damage in a small radius plus knockback; alert enemies can shoot it from a distance to trigger it safely. Only one mine per ship at a time — dropping a second detonates the first. Tank's mine has a larger blast radius; Fighter's arms faster but hits smaller. Use: Cover a retreat down a corridor, or seed a choke point/objective before a push.
The Rock-Paper-Scissors Loop
- ORC mines counter Apex cloak — a cloaked ship blundering through a mined corridor eats the blast, which also breaks the cloak.
- ISN shield counters ORC mines — the frontal barrier absorbs a mine detonation, clearing the path for the team behind it.
- Apex cloak counters ISN shield — a slow, frontal-shielded push leaves the ISN ship's flank and engines open for a cloaked ship to slip around and punish.
No ability wins a fight by itself — it depends on the map and the moment it's used, same as a smoke/flash/molotov in CS:GO.