Bringing Snake to your coffee table
Snake is a classic game — more a genre of games — that dates all the way back to 1976 with the release of the Blockade arcade game. Many consoles and devices have received variations of Snake, putting it in the same league as Tetris and block breakers. Now Ty and Gig Builds have used an Arduino to construct a giant coffee table version of the game.
One of the reasons that so many variations of Snake exist is because it runs well on very low-resolution screens. That also made it perfect for this project, since an LED matrix makes for a great low-res display. Ty and Gig originally built that matrix for an interactive coffee table project and they were able to repurpose it for this game.
WS2811 individually-addressable RGB LEDs form that matrix. They shine through holes drilled into a sheet of plywood mounted underneath the coffee table glass. An Arduino Mega controls those LEDs, but any Arduino board would work for the job. The only other hardware components are a 5V power supply and an analog joystick module.
The joystick is comprised of two potentiometers, so the Arduino simply checks those to determine which direction to move. Programming was a small challenge, because the 1D array of LEDs had to be translated to the 2D display. With that figured out, programming the game was straightforward. Players direct the LED snake to collect as many apples as possible without colliding with itself, like they have done for the past four decades.