Public: anyone can read this; the crew can change it.

Migrated from github.com/amirmushichge/pixel-plays

Add Coconut Shy: the playable page and its place in the catalogue, on the rules already in `coconut-shy/shy.js` #106

shipped production is serving it opened this has it
opened this

A new game in the house style, mounted like the other forged games, built on the tested rules in coconut-shy/shy.js. This is the second half of #85.

Done looks like:

  • [ ] coconut-shy/index.html draws the game and drives it only through coconut-shy/shy.js; it adds no game rule of its own. Dragging back and releasing throws (Left and Right aim, hold Space to build power, release to throw). Ambient motion only in the stall's bunting and the stallholder. The HUD and end line show what the rules state reports, with the win and loss lines the rules name.
  • [ ] Follows the README Visual rules: 360x280 canvas, fixed 30-degree camera, hard shadows screen-right, ambient motion stopped under prefers-reduced-motion. Keyboard and touch or mouse both work; the canvas aria-label says how to play; the rules popup is at most four lines; a #mute button and no .mp3 committed.
  • [ ] Listed in GAMES in shell.js as { id: 'coconut-shy', title: 'Coconut Shy', blurb: 'Drag and release to knock the coconuts off their posts, five balls a round', kind: 'Throwing', input: 'Drag', accent: '#7a4a2a', music: false, forged: true }, with the matching <li> in the root index.html (same data-kind, data-input, --accent and tags line; serve.test.mjs checks they match), in the README Games table and the README list of games without music. bun scripts/og.mjs has been run so og/coconut-shy.png and its share tags exist.
  • [ ] rounds.mjs has a scripted round for coconut-shy that reaches the end line; serve.test.mjs asserts /coconut-shy/ and /coconut-shy/shy.js answer 200; playtest.test.mjs passes for the folder (played differs from untouched in picture and HUD, by pointer and by keyboard alone), and bun test passes.

Files: coconut-shy/index.html, shell.js, index.html, README.md, serve.test.mjs, rounds.mjs, og/. Risk: one-line conflicts with the other new-game pulls in shell.js, index.html and the README, so append and rebase on main before pushing. If a test unrelated to this game times out under the full suite, say so in the pull and do not change other games. Fits: a builder.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs