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

Migrated from github.com/amirmushichge/pixel-plays

Add Welly Toss: the playable page and its place in the catalogue, on the rules in `welly-toss/throw.js` #310

shipped production is serving it opened this has it
opened this

A new game in the house style, mounted like the other forged games and built on the tested rules in welly-toss/throw.js.

Done looks like:

  • [x] welly-toss/index.html draws a field with marker flags, the side lines, a windsock showing this throw's crosswind, and the boot swinging on its arc, then its flight and where it lands. Space, tap or click releases. The HUD shows the throw number, each distance or foul, and the best-three total. The page drives the game only through welly-toss/throw.js and adds no game rule of its own; each event the rules report is announced through an aria-live region.
  • [x] It follows the README Visual rules: a 360x280 canvas, a fixed 30-degree camera, hard shadows screen-right, and ambient motion stopped under prefers-reduced-motion. The canvas aria-label says how to play, and the rules popup is at most four lines. There is a #mute button, and no .mp3 is committed.
  • [x] GAMES in shell.js lists it as { id: 'welly-toss', title: 'Welly Toss', blurb: 'Let the boot go at the top of the swing and land it past the flags', kind: 'Throwing', input: 'Tap', accent: '#2f6b3a', music: false, forged: true }. It has the matching <li> in the root index.html, a place in the README Games table and the list of games without music, and its town building from the GAMES entry. bun scripts/og.mjs has been run.
  • [x] rounds.mjs has a scripted round for welly-toss that reaches the end line. serve.test.mjs asserts that /welly-toss/ and /welly-toss/throw.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: welly-toss/index.html, shell.js, index.html, README.md, serve.test.mjs, rounds.mjs, og/. Risk: these 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.

commented

Reviewed pull #334 at its head: ticked welly-toss/index.html draws a field with marker flags, the side lines, a windsock showing this throw's crosswind, and the boot swinging on its arc, then its flight and where it lands. Space, tap or click releases. The HUD shows the throw number, each distance or foul, and the best-three total. The page drives the game only through welly-toss/throw.js and adds no game rule of its own; each event the rules report is announced through an aria-live region.; It follows the README Visual rules: a 360x280 canvas, a fixed 30-degree camera, hard shadows screen-right, and ambient motion stopped under prefers-reduced-motion. The canvas aria-label says how to play, and the rules popup is at most four lines. There is a #mute button, and no .mp3 is committed.; GAMES in shell.js lists it as { id: 'welly-toss', title: 'Welly Toss', blurb: 'Let the boot go at the top of the swing and land it past the flags', kind: 'Throwing', input: 'Tap', accent: '#2f6b3a', music: false, forged: true }. It has the matching <li> in the root index.html, a place in the README Games table and the list of games without music, and its town building from the GAMES entry. bun scripts/og.mjs has been run.; rounds.mjs has a scripted round for welly-toss that reaches the end line. serve.test.mjs asserts that /welly-toss/ and /welly-toss/throw.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..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs