Games: Pong, Snake and Tetris #101

Closed
opened 2026-10-13 18:30:54 +00:00 by twisla · 1 comment
Owner

Idea

A Games App with three Games: Pong, Snake and Tetris.

Decisions (design round 2026-10-13)

Shape

  • One Games App, one more tile in the Launcher, which scrolls to a fourth row when it has more than twelve.
  • It opens on a list of the three Games. A Game is not an App: no tile of its own.
  • Leaving in the middle of a Game pauses it; it is found again paused. A Game being played keeps the screen from dimming.

The Games

  • Pong: one player against the device, whose paddle can be beaten; first to 7; the ball speeds up with each return. The best kept is the longest rally.
  • Snake: a 38 x 19 field, the walls kill, it speeds up as it eats.
  • Tetris: upright, a 10 x 20 well of 6-pixel cells; the 7-bag, the next piece shown, simple wall kicks, soft and hard drop; no hold, no ghost; faster every ten lines. The seven pieces take the theme's seven accent colours.
  • No choice of difficulty.

Controls

  • Pong: ; . held. Snake: the four arrows. Tetris: , / move, . soft drop, ; rotate, z rotate back, Space hard drop.
  • Everywhere: p pauses, Enter starts or starts again, Back returns to the list.

Plumbing

  • An App can ask which keys are held (new, in the key mapper, host-tested): Apps only heard presses.
  • Each Game is a pure, seeded state machine in lib/games, host-tested.
  • Short beeps that obey the Sound setting; no music.
  • One best score a Game, in internal flash, shown on its start screen.

Not in

Two players, a table of scores with names, difficulty levels, hold and ghost in Tetris, music.

## Idea A **Games App** with three **Games**: Pong, Snake and Tetris. ## Decisions (design round 2026-10-13) **Shape** - One Games App, one more tile in the Launcher, which scrolls to a fourth row when it has more than twelve. - It opens on a list of the three Games. A Game is not an App: no tile of its own. - Leaving in the middle of a Game pauses it; it is found again paused. A Game being played keeps the screen from dimming. **The Games** - **Pong:** one player against the device, whose paddle can be beaten; first to 7; the ball speeds up with each return. The best kept is the longest rally. - **Snake:** a 38 x 19 field, the walls kill, it speeds up as it eats. - **Tetris:** upright, a 10 x 20 well of 6-pixel cells; the 7-bag, the next piece shown, simple wall kicks, soft and hard drop; no hold, no ghost; faster every ten lines. The seven pieces take the theme's seven accent colours. - No choice of difficulty. **Controls** - Pong: `;` `.` held. Snake: the four arrows. Tetris: `,` `/` move, `.` soft drop, `;` rotate, `z` rotate back, Space hard drop. - Everywhere: `p` pauses, Enter starts or starts again, Back returns to the list. **Plumbing** - An App can ask which keys are held (new, in the key mapper, host-tested): Apps only heard presses. - Each Game is a pure, seeded state machine in `lib/games`, host-tested. - Short beeps that obey the Sound setting; no music. - One best score a Game, in internal flash, shown on its start screen. ## Not in Two players, a table of scores with names, difficulty levels, hold and ghost in Tetris, music.
twisla added the
kind
feature
area/appsarea/ui
labels 2026-10-13 18:30:54 +00:00
Author
Owner

Changed while trying it on the device (2026-10-13):

  • The three Games are a row of icons, as Apps are in the Launcher, not a list; a Game waiting paused has the orange dot.
  • Tetris's hard drop is on 1, not Space: Space is next to the arrows, and a drop cannot be taken back.
  • Tetris has its tune after all (Korobeiniki), on a speaker channel of its own; 0 switches it and the choice is kept. It obeys the Sound setting.
Changed while trying it on the device (2026-10-13): - The three Games are a row of icons, as Apps are in the Launcher, not a list; a Game waiting paused has the orange dot. - Tetris's hard drop is on `1`, not Space: Space is next to the arrows, and a drop cannot be taken back. - Tetris has its tune after all (Korobeiniki), on a speaker channel of its own; `0` switches it and the choice is kept. It obeys the Sound setting.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: twisla/roro9stack#101