Project MAMMOTH

Music, Art, Tech and General Hackery

View on GitHub

1D 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 has 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:

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:

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

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

Tips:

Under the Hood


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