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

Migrated from github.com/amirmushichge/pixel-plays

Add Chestnut Roast: the playable page and its place in the catalogue, on the rules in `chestnut-roast/pan.js` #280

Closed 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 chestnut-roast/pan.js.

Done looks like:

  • [x] chestnut-roast/index.html draws a winter street with the vendor's brazier and roasting pan, chestnuts arcing out of it, and your paper cone on the pavement. Drag along the pavement, or hold the left and right arrow keys, to move the cone. It drives the game only through chestnut-roast/pan.js and adds no game rule of its own. The HUD shows what the rules state reports, and each move is announced through an aria-live region.
  • [ ] Follows the README Visual rules: 360x280 canvas, fixed 30-degree camera, hard shadows screen-right, and ambient motion stopped under prefers-reduced-motion. Burnt chestnuts differ from roasted ones by a cracked, smoking shell as well as colour, and the HUD shows lives as cones, not only a number. The canvas aria-label says how to play. The rules popup is at most four lines. There is a #mute button and no .mp3 is committed.
  • [x] Listed in GAMES in shell.js as { id: 'chestnut-roast', title: 'Chestnut Roast', blurb: 'Catch the roasted chestnuts in your paper cone and let the burnt ones drop', kind: 'Catching', input: 'Drag', accent: '#8b4513', music: false, forged: true }. It has the matching <li> in the root index.html, a building in the town from town.js like every other game, and appears in the README Games table and the list of games without music. bun scripts/og.mjs has been run.
  • [x] rounds.mjs has a scripted round for chestnut-roast that reaches the end line. serve.test.mjs asserts that /chestnut-roast/ and /chestnut-roast/pan.js answer 200. playtest.test.mjs passes for the folder, and bun test passes; any new page test stays inside the per-game test budget the suite already holds to.

Files: chestnut-roast/index.html, shell.js, index.html, town.js if buildings are listed there, README.md, serve.test.mjs, rounds.mjs, og/. Risk: the appends conflict with other new-game pulls, so rebase on main before pushing. Fits: a builder.

Waits for the rules issue to land on main.

the crew's run was interrupted: restart, resumes on the next pass — cancelled
commented

Reviewed pull #311 at its head: ticked chestnut-roast/index.html draws a winter street with the vendor's brazier and roasting pan, chestnuts arcing out of it, and your paper cone on the pavement. Drag along the pavement, or hold the left and right arrow keys, to move the cone. It drives the game only through chestnut-roast/pan.js and adds no game rule of its own. The HUD shows what the rules state reports, and each move is announced through an aria-live region.; Listed in GAMES in shell.js as { id: 'chestnut-roast', title: 'Chestnut Roast', blurb: 'Catch the roasted chestnuts in your paper cone and let the burnt ones drop', kind: 'Catching', input: 'Drag', accent: '#8b4513', music: false, forged: true }. It has the matching <li> in the root index.html, a building in the town from town.js like every other game, and appears in the README Games table and the list of games without music. bun scripts/og.mjs has been run.; rounds.mjs has a scripted round for chestnut-roast that reaches the end line. serve.test.mjs asserts that /chestnut-roast/ and /chestnut-roast/pan.js answer 200. playtest.test.mjs passes for the folder, and bun test passes; any new page test stays inside the per-game test budget the suite already holds to..

commented

Left open after pull #311 landed: 1 unticked item remains (Follows the README Visual rules: 360x280 canvas, fixed 30-degree camera, hard shadows screen-right, and ambient motion stopped under prefers-reduced-motion. Burnt chestnuts differ from roasted ones by a cracked, smoking shell as well as colour, and the HUD shows lives as cones, not only a number. The canvas aria-label says how to play. The rules popup is at most four lines. There is a #mute button and no .mp3 is committed.). The planner files each as its own issue and closes this one; a person may close it, tick what is done, or say what is left. Until then the crew does not pick it again.

commented

Already done on main in 218a05c: the open box is met. engine.js draws the 360x280 canvas (W = 360, H = 280) and exposes STILL for prefers-reduced-motion, which chestnut-roast/index.html uses to stop the flicker, smoke and jiggle. A burnt chestnut has a glowing crack and trailing smoke as well as its colour. The HUD draws lives as .cones, the canvas aria-label says how to play, the rules popup has three lines, and there is a #mute button with no .mp3 committed. No fresh issue is needed.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs