Commit Graph

20 Commits

Author SHA1 Message Date
Josh Creek e83bb4fa0c fix(multiplayer): revert stray match.tscn team_size, record 0.15b real-hardware results
match.tscn had picked up team_size=3 from an earlier diagnostic dry run,
which would have made every normal Match spawn 3v3 instead of 1v1 -
reverted to the scene's intended default.

multiplayer-todo.md: task 0.15b's real blocker turned out to be measuring
on a Mac (Apple Silicon's tile-based GPU architecture gave a misleading,
undifferentiated cost profile). Re-ran the same 6-ship-match profiling
harness on reference hardware (RTX 3090) via a real GPU-bound X session -
results in §5.5.2 show the game comfortably clears 500+fps with every
effect on, and SDFGI/SSIL dominate the (now tiny) effects budget as
originally expected. This closes 0.28 (physics threading) as unnecessary
- there's no frame-time variance problem on reference hardware to fix -
and reframes 0.26 (bake GI) as a real but smaller win than assumed, worth
revisiting on lower-end hardware. Also corrected two stale/inaccurate
task rows (0.13, 0.17) found while reconciling the doc against what
actually landed.
2026-08-19 23:16:21 +01:00
Josh Creek 04691aaa48 chore(multiplayer): Phase 0 refactors + graphics/perf settings groundwork
Lands the non-networked Phase 0 tasks from multiplayer-todo.md (ship/camera/
arena refactors, sim constants, background FPS handling) plus a first pass
at exposing graphics/performance settings (presets, resolution scaling,
vsync, FPS cap, perf overlay) and a GPU profiling harness for the
real-hardware follow-up in task 0.15b.
2026-08-19 22:37:17 +01:00
Josh Creek 171cd4a840 feat: add Nebula and Asteroid Field arenas
Introduce arena_02 (Nebula) and arena_03 (Asteroid Field) alongside
arena_01, listed in a new ArenaRegistry (scripts/arena_registry.gd) as
the single source of truth for available arenas. Free Play lets the
player pick an arena from the main menu; Match/Spectate each pick one
at random per session; Training keeps its own fixed arena_01.

Nebula gets an RL-style visual treatment: a near-invisible glass
boundary material shared by all arenas, a baked equirect nebula sky
texture, a drifting-dust particle system, and a Blender-modeled
station/debris/planet decoration set. GameMode gains a
_get_arena_scene_path() hook so modes can instantiate their arena in
code instead of hardcoding it in the scene.
2026-08-03 19:11:13 +01:00
Josh Creek 580222c139 feat(*): Promote curric-s6-unmask as the shipped "easy" bot 2026-07-24 09:18:53 +01:00
Josh Creek 240e362f2f feat(*): Add bot selection, score HUD, and winner reveal to matches, replace HUD text with aircraft-style flight instruments, and fix camera judder 2026-07-20 07:12:09 +01:00
Josh Creek 7777280062 feat(*): Exempt the floor from the wall-contact penalty, add a tilt penalty for non-upright flight, and double velocity-to-ball shaping 2026-07-19 15:34:34 +01:00
Josh Creek 85f96eb15e feat(*): Add self-play RL training pipeline with PPO trainer, in-game GDScript policy inference, and bot opponent support in Match mode 2026-07-18 19:32:51 +01:00
Josh Creek 328831df1f refactor(*): Restructure game into reusable Arena/GameMode architecture with controller-driven ships, adding Free Play and Match modes 2026-07-18 15:34:11 +01:00
Josh Creek c3329b3280 feat(*): Add goal 2025-07-20 20:51:24 +01:00
Josh Creek 8650995c18 chore(*): Remove redundant files 2025-07-16 23:05:32 +01:00
Josh Creek 35a23f79e3 refactor(*): Make hud more performant and maintainable 2025-07-16 19:19:58 +01:00
Josh Creek bdd0244873 fix(*): Ensure that movement vaguely works in the new area and looks vaguely at the ball 2025-07-12 20:34:03 +01:00
Josh Creek 927bbd0be7 feat(*): Add new match scene, new player scene and main menu 2025-07-12 19:20:16 +01:00
Josh Creek b7d52b7509 feat(*): Add basic 2 player splitscreen 2024-03-21 20:12:53 +00:00
Josh Creek 688b1f14e9 fix(*): Fix ball model scaling 2024-02-23 19:01:37 +00:00
Josh Creek ed01bd4846 feat(*): Add environment and colours 2024-02-23 18:58:50 +00:00
Josh Creek b2eebc9d25 feat(*): Add metallic gold model for ball from Blender 2024-02-23 18:48:26 +00:00
Josh Creek ddfd8efb71 feat(*): Add the ability to score a goal 2024-02-23 18:26:23 +00:00
Josh Creek 0fd3098f14 feat(*): Split out vehicle object 2024-02-23 18:12:59 +00:00
Josh Creek a5bcedd5b2 feat(#1): Create a match scene with a ball and a vehicle 2024-02-21 18:07:09 +00:00