UK
games/satisfying-bounce / BRIEF.md · commit 8bdd6e4
# Satisfying BounceJeu/jouet de vidéos verticales (TikTok/Shorts) avec jumphp/shorts + jumphp/physics + particles. 3-4 scènes: balle dans un cercle aux 3/4 fermé avec ouverture qui tourne (obligatoire), balles qui se multiplient, cercles concentriques qui se brisent, parcours de billes. Une note par rebond, traînées, particules, scène smoke auto-jouée, game tests, vidéos MP4 1080x1920 via bin/jumphp video:make.---## The JumPHP playgroundThis project was made on the JumPHP playground: the game's page is https://jumphp.net/satisfying-bounce(category: Démos et expériences).- The game is `games/satisfying-bounce/`. Read `AGENTS.md` (the JumPHP contract) first; replace the skeleton with the game  described above; follow the definition of done (tests, screenshots you look at, browser build).- **Develop with game tests, visually**: for each mechanic, as you write it, a test in `games/satisfying-bounce/tests/` that  extends `JumPHP\Testing\GameTestCase` and plays it ("the player jumps onto the platform", "the enemy dies  when hit"; AGENTS.md "Game tests"); `bin/jumphp test satisfying-bounce` after each change. The user watches them play live  in Claude Code (the `jumphp-live` pane) and, after a push, replays each test filmed in the studio (MCP  `run_tests`).- **Publishing**: every push to `main` is online within a minute (Git webhook). The MCP tool  `sync_project` (server `jumphp`) publishes at once and returns the errors: a commit with a PHP syntax error  is not published (the previous version stays online).- The playground loads the game file by file with its shared engine: Composer packages other than  `jumphp/engine` are not available there.- **The game's home page**: make `games/satisfying-bounce/site/` (AGENTS.md section 13: themed with the game's own graphics,  SEO, a link to `play/`); it is the game's page on the playground. Also `games/satisfying-bounce/assets/thumbnail.png`.- When the game is done: MCP `update_project` with `listed: true` shows it in the playground's directory.