There are two basic characteristics that every maker possesses: a desire to create something new and a deep love of learning. The reason for the former is obvious, and the latter is necessary because there is always something new to learn if you want to push yourself and make something that feels like an accomplishment. For many makers, that need to learn is actually the true motivation behind a project. That was certainly the case for Niek de Wit when he built this four-player arcade game from scratch — all without any prior experience using electronic hardware.
de Wit is a software developer, but he had virtually no familiarity with hardware beyond what any other computer user would have. As he points out, modern programming languages and development environments exist on top of so many layers of abstraction that it isn’t necessary to really understand the hardware your code is running on. But de Wit wanted to understand the hardware, and so when he quit his job in November of 2019 he decided he would set a lofty goal for himself: to build a four-player arcade game entirely from scratch. He didn’t just accomplish that goal with Arcadable, he built something that would be impressive coming from any experienced maker.
The Arcadable machine is a large square table and each of the four players gets their own set of controls on the side of the square they’re standing at. The surface of the table is the display for the game graphics. The display was created with a 42 x 42 pixel grid made up of individually-addressable RGB LEDs. Window blind slats were used to separate each LED into its own little compartment to eliminate light bleed, and a sheet of clear polystyrene was sanded to make it opaque enough to work as a diffuser. The controls fit into custom cut faceplates on each side of the table.
That will all sound pretty straightforward to most makers, but the programming approach de Wit took is definitely unusual. He’s using a Teensy 4.0 board for control, but wanted to load new game code via EEPROM chips. There are a few ways one can accomplish that, but de Wit decided to write his own programming language and interpreter called ArcadableScript. That handles all of the game logic, which can be quickly loaded from EEPROM. It seems to work very well for simple games like a Pong-clone. This project was very ambitious and de Wit spent nearly a thousand hours on it, but the result and the skills he learned along the way were definitely worth the effort.