A fun publicity demo — classic Snake game where everything is controlled by OpenDecree config values that update live mid-game.
Config fields:
game.speed — snake speed (integer, 1-10)
game.color — snake color (string, enum: green/blue/red/purple/rainbow)
game.board_theme — board theme (string, enum: dark/light/retro/neon)
game.grid_size — board size (integer, 10-30)
game.wall_mode — walls kill or wrap (bool)
The magic: Open the admin panel side-by-side with the game. Change game.speed from 3 to 8 — the snake speeds up instantly. Switch game.board_theme to "neon" — the whole look changes mid-game. No restart, no refresh.
Stack: Vanilla HTML/JS + WebSocket (like the payroll demo dashboard). No game framework needed — Snake is ~200 lines of canvas code.
Why: Visual, shareable, fun. People screenshot/record config-driven games. Good for Twitter/HN/Reddit posts. "We made Snake but the config is managed by a gRPC config service" is a hook.
Not informative — purely a publicity stunt. Low priority, high fun.
A fun publicity demo — classic Snake game where everything is controlled by OpenDecree config values that update live mid-game.
Config fields:
game.speed— snake speed (integer, 1-10)game.color— snake color (string, enum: green/blue/red/purple/rainbow)game.board_theme— board theme (string, enum: dark/light/retro/neon)game.grid_size— board size (integer, 10-30)game.wall_mode— walls kill or wrap (bool)The magic: Open the admin panel side-by-side with the game. Change
game.speedfrom 3 to 8 — the snake speeds up instantly. Switchgame.board_themeto "neon" — the whole look changes mid-game. No restart, no refresh.Stack: Vanilla HTML/JS + WebSocket (like the payroll demo dashboard). No game framework needed — Snake is ~200 lines of canvas code.
Why: Visual, shareable, fun. People screenshot/record config-driven games. Good for Twitter/HN/Reddit posts. "We made Snake but the config is managed by a gRPC config service" is a hook.
Not informative — purely a publicity stunt. Low priority, high fun.