Skip to content
Pi · gpt-5.2-codexfeatureCLI & tooling5 files · +875 −202

Build a Pong-style CLI arcade game extension for Pi

Session from pi-extensions-sessions on Hugging Face by thomasmustier · MIT · condensed by Coders Talk

28msession
2interventions
GOAL

Add another classic arcade game (alongside snake and space invaders) that works well as a CLI distraction while waiting for compaction, ideally something legally safe to implement.

  1. Prompt · +0
    Add another classic arcade game to play while waiting for compaction — not copyrighted, works well in CLI, port if one exists already.
  2. Agent did · +0m
    Explored existing extensions (snake, space-invaders), checked for pong/breakout precedent, then wrote a new paddle-ball.ts extension with AI opponent, scoring, pause and save/resume, and updated README and long-task-harness tracking files.
  3. Prompt · +9m
    It's not installed yet — set it up like we did for snake and space-invaders.
  4. Agent did · +10m
    Registered paddle-ball.ts in ~/.pi/agent/settings.json, then iterated on requested tweaks: faster/snappier player paddle movement, opponent label renamed to 'AI'→'PI', and ball speed now varies depending on where it hits the paddle (center vs edge).
  5. Intervention · +14m
    Developer clarified the opponent name should be 'Pi' not all-caps 'PI'.
    Why: I said PI but meant the mixed-case 'Pi' — small naming detail I had to correct after seeing it rendered.
  6. Prompt · +15m
    Make the ball a Pi symbol, fix a 'teleport' glitch near the paddle, and rename the game to /ping (Pi-ing).
  7. Agent did · +20m
    Rendered the ball as a π glyph, fixed the scoring logic so the ball only registers a point after leaving the playfield (removing the teleport-back glitch), renamed the command to /ping with /paddle-ball kept as an alias, and later doubled the ball glyph size on request.
  8. Intervention · +28m
    Developer told the agent to ignore an unrelated change it found in space-invaders.ts and commit it separately.
    Why: There was a stray edit in space-invaders.ts I hadn't asked for — didn't want it bundled into the ping commit.
  9. Outcome · +28m
    Committed and pushed ping: 4 files changed, 675 insertions, commit cf24820 pushed to main; space-invaders.ts left uncommitted as a separate change.
VERDICT

Next time I'd specify upfront that the opponent should be labeled 'Pi' (mixed case) and that command names might change mid-session, since renaming from paddle-ball to /ping caused a few redundant edits. The correction that mattered most was catching the teleport/scoring glitch and the stray space-invaders.ts diff before committing — keeping the ping commit clean was worth the extra back-and-forth.

I tried this · 0

Discussion · 0

How Builds work