1D Mega Gaming

Pong and Chess implemented to be played on a long single strip of WS2812 LED lights. Pong is controlled locally with physical controllers and Chess is played over Meshcore. Battery powered for off-grid fun!

The Games

1D Pong

Pong collapsed onto a line. The “ball” is a strip of lit LEDs that travels along the strip and each player hits their button when it enters their end zone. Time it wrong and the other player scores. Games are played to 3 points. The ball gets faster and bigger the longer the volley.

Tips:

  • Hit the ball farther back in the end-zone to return the ball faster
  • Hold both controllers down for 10s to reset

1D Chess

Simplified 1D Chess on 8 squares, with a King, Knight and Rook per side and played over Meshcore. Runs standalone on the device, and gets visualized on the strip of lights if pong is not being played.

Playing Mesh Chess

Join the “1D Gaming” channel in meshcore here:

1D Gaming Meshcore channel

Characters on the ascii board in Meshcore chat show the position — lowercase = orange (player 0), UPPERCASE = blue (player 1), and . is an empty square, e.g the starting board is knr.....RNK.

Chess happens on the 1D Gaming mesh channel. Send messages prefixed with c (or chess):

Command What it does
c join Take a seat. Two players joining starts the game (a random side moves first).
c new Reset and start a fresh standard game.
c chaos Start a chaos game — pieces dropped on random squares!
c board Show the current board (also c status).
c <move> Make a move: a piece letter + target square, e.g. c N4.
c resign Give up the current game.
c notify Get a DM when the game ends.
c help Show the in-game help.

The pieces

  • K — King, steps one square
  • N — Knight, jumps two squares
  • R — Rook, slides

A move is just the piece letter plus the destination square, so N4 moves your Knight to square 4.

Tips:

  • If you are not seeing a response from the chess bot on meshtastic, make sure chess commands start with “c” or “chess”.
  • The chess board will be shown over the meshtastic channel but is only visualized on the LED strip if the Pong game is not active (so both can be played at once).

Under the Hood

  • WS2812B (NeoPixel) LEDs as the display (up to 160′)
  • Raspi 5 for running Meshcore bot and chess engine
  • A Raspi Pico2 for running Pong engine and driving the lights
  • Two physical push controllers for Pong
  • Battery powered!

More Project Mammoth music, art, tech & hackery on the main page.