retro_matrix
This is a C++ apllication that runs various cellular automata and retro games on a raspberry Pi and an LED matrix. It can be controlled using a controller, I have used a PS4, and Nintendo Switch Pro controller successfully. Consider this a pre alpha version, install and play around with it if you are interested, but it doesn't function as a finished product yet. This requires a raspberry Pi, I have tested on the Pi 4 and a headless Pi zero. The Pi 4 works flawlessly, the Pi zero works alright for some of the cellular automata, but the games are too laggy to play. This was written for a 64x64 matrix, but have also tried most of it on a 32x64 matrix. This isnt officially supported right now and requires editing the code but try it if you like. It can also interface with an iPad companion app I wrote. The iPad app allows you to paint individual pixels and communicates these over a local network to the matrix.
Games
- Snake, one and two player
- Tetris
- Space Invaders
Cellular Automata
- Conway's game of life
- Rule 30
- Langton's ant
- Langton's loop
You will need
- Raspberry Pi, preferably better than a Pi zero
- LED matrix, preferably 64x64
- A Nintendo Switch Pro controller, PS4 controller or it also works with one of these cheaper controllers
- (recommended) matrix hat or bonnet, so you don't have to wire it to the GPIO pins yourself
- (optional) 3D printer to print the case
- (optional) 5v fan to prevent overheating in the case
- (very optional) iPad and Xcode if you want to try and get the paint application working
Install instructions
Note that this is a very early version and the install process is not at all streamlined. It wont be too difficult if you have some experience with compiling C++ libraries though. The binary is currently in the repository so you might not even need to compile.
- Install the dependancies below and change the Makefile to point to the libraries.
- ./setup.sh to run the compilation and a command that reduces flickering
- ./run_retro_matrix
- fix any bugs you have during this process
- (optional) 3D print the case found here https://www.thingiverse.com/thing:4605737