Chipgrid / Documentation / Guides

Multiplayer

Up to ten people on one big shared grid, on a laptop and the room's Wi-Fi, with a view for the projector.

The multiplayer version of Chipgrid puts a whole room on one grid. Everyone types on their own laptop or phone; everyone hears the same music and sees the same picture.

It does not run on this website. It runs on one laptop in the room, and the others connect to it over the local Wi-Fi: no internet needed, nothing sent outside the room. The multiplayer folder is not online yet: ask for it.

Starting it

  1. On the workshop laptop (Linux), in the multiplayer folder: bash start.sh. A port can be given: bash start.sh 9000. If Node.js 18 or newer is missing, the script downloads the official build into a .node folder next to it, without admin rights; delete that folder to uninstall. With Node.js already installed, node server.js works too.
  2. It prints addresses like http://192.168.1.38:8080. Everyone on the same Wi-Fi opens that address, types a name and presses Join.
  3. On the projector, open the same address with ?stage at the end. It shows the shared screen, the whole grid and who is playing. The code shows faintly over the picture; press C to hide it.

Tip: http://…:8080/?name=Lea joins directly, which is handy as a QR code on each table.

No internet at the venue? Prepare beforehand: bash install.sh --portable, then copy the folder to the workshop laptop (same kind of processor).

Devices can’t reach the laptop? Some school and hotel networks isolate devices from each other. Use a phone hotspot or a small router of your own.

How it plays

  • The grid is 128 × 64, with 10 player slots. More people can join to watch.
  • Each player has a colour, and the cells you type are underlined in it.
  • The program runs on the laptop, so everyone sees and hears the same thing. Each player’s voices play on their own 4-voice chip: ten chips in all, so nobody steals anybody’s voices.
  • Every device plays the sound about 120 ms after the server, in sync. ♪ on/off mutes a device, for example to let only the projector play.
  • Examples are inserted at your cursor: find an empty area first. clear mine erases only your cells. Undo only takes back your own edits.

Playing together

  • There is one tempo for the room. ! sets it from the grid, and the last ! typed, edited or banged through a gate holds it. Same for the palette, V.
  • There is one picture. A K wipes it for everyone, a Z mirrors everyone’s drawing. Your [ and ] only apply to your own code.
  • - silences only your chip. To play a break together, share a bang.
  • Shared links: a link with an uppercase name is shared with the whole room. One player sends on @B, anyone can receive with &B, anywhere on the grid. Lowercase names stay private. A drummer sending each beat on @B gives the room a common pulse.
  • It is all one program: an output can overwrite anyone’s cell, on purpose or by accident.

The tutorial chapter Playing together introduces this: read it.

Saving and restarting

  • The grid saves itself to grid-save.json every few seconds. After a crash or a restart, it comes back.
  • To start a session on an empty grid: bash start.sh --new. The old grid is kept in a dated file.
  • reset puts the arrows back and clears the picture for the whole room; everyone’s code stays.
  • If someone’s Wi-Fi drops, they reopen the page and get their own slot and colour back.
Esc