WIP: Add multiplayer Snake game

N-player (2-8) real-time Snake game alongside Connect 4.
Lobby has tabs to switch between games. Players join via
invite link with 10-second countdown. Game loop runs at
tick-based intervals with NATS pub/sub for state sync.

Keyboard input not yet working (Datastar keydown binding
issue still under investigation).
This commit is contained in:
Ryan Hamamura
2026-02-02 07:26:28 -10:00
parent a6b5a46a8a
commit 7e78664534
18 changed files with 2289 additions and 40 deletions

View File

@@ -0,0 +1,13 @@
-- +goose Up
ALTER TABLE games ADD COLUMN game_type TEXT NOT NULL DEFAULT 'connect4';
ALTER TABLE games ADD COLUMN grid_width INTEGER;
ALTER TABLE games ADD COLUMN grid_height INTEGER;
ALTER TABLE games ADD COLUMN max_players INTEGER NOT NULL DEFAULT 2;
CREATE INDEX idx_games_game_type ON games(game_type);
-- +goose Down
DROP INDEX IF EXISTS idx_games_game_type;
ALTER TABLE games DROP COLUMN max_players;
ALTER TABLE games DROP COLUMN grid_height;
ALTER TABLE games DROP COLUMN grid_width;
ALTER TABLE games DROP COLUMN game_type;