It's gaming and retro tech month here at Hackster, so you know what that means: time for a retro gaming roundup! We sifted through all of the fantastic projects uploaded by our brilliant users and selected a handful of the best projects to inspire and amaze you. Have your best friend ask his mom if he can spend the night, order a pizza, grab your favorite controller, and dive in.
We can’t discuss retro gaming without immediately thinking of RetroPie. This is a modern operating system built specifically for retro gaming on single-board computers (SBCs). While it is most common to run RetroPie on a Raspberry Pi, it does work on several other SBCs. RetroPie comes loaded up with a huge selection of emulators, so all you need to do is download a bunch of ROMs (legally, of course) and start playing.
You can simply connect your Raspberry Pi to a TV and plug in a USB gamepad, but bartop arcade cabinets are popular projects. This tutorial from ericBcreator provides detail on how to build a miniature arcade cabinet complete with sets of controls for two players. It looks beautiful and is perfect for playing just about any game from the fourth generation or earlier.
RetroPie includes emulators for just about every console up to the SNES and Genesis, as well as several retro computers. But it is built on Linux for Arm, which means it can’t natively run Windows games. That’s a drag when you have a hankering for a visit to Tristram in Diablo.
Luckily for us all, there is a workaround. ExaGear Desktop is software than runs Arm systems (like the Raspberry Pi), but that emulates an x86 system. That lets it run Wine, which is a Windows emulator. They heard you like emulation, so they put in an emulator in your emulator so you can emulate while you emulate. You can then install your games in Wine and launch them from the RetroPie interface.
ExaGear’s developer, Eltechs, went out of business last year. But rumor has it that you can find everything you need to get it running if your Google-Fu is strong. If you want to go a more legit — but less streamlined — route, there are open source x86 emulators available for the Raspberry Pi that you can install Wine within.
Light guns, like the famous Nintendo NES Zapper, were designed to work with CRT (cathode-ray tube) TVs and they don’t function properly on modern LCD screens. More importantly, the Zapper’s NES plug doesn’t fit in a USB port no matter how hard you shove it. But don’t fret! With some hacking skill, you can convert a light gun to work with modern computers — including a Raspberry Pi running RetroPie.
Those light guns worked by sensing a brief flash of light on the TV screen, but this hack changes everything. It is more like a Wiimote, in that a DFRobot IR positioning camera next to the screen tracks an IR LED inside of the gun. This SAMCO kit is meant for PS1 Namco light guns and works with an Arduino Micro board, alongside a special PCB and the aforementioned DFRobot IR camera. If you’re willing to get your hands dirty, you could do a similar hack on other light gun models.
After performing this modification, the light gun will act like a standard USB HID mouse. Moving the gun will move the mouse cursor and pulling the trigger will click the mouse. That makes it easy to use the light gun in any emulated retro game.
Speaking of the PlayStation, this project will walk you through how to make a wireless PS2 controller talk to an Arduino Uno board. This should work with both first party and third party controllers. It also doesn’t require any modification of the controller, so you don’t have to worry about damaging your original hardware.
All you need is your controller, the Arduino, and a handful of jumper wires. The instructions explain where to connect each wire. The provided code is already setup to read the inputs coming from the controller. The Arduino sketch won’t do anything on its own, but it is a stepping stone. Because this is an Arduino, you can use the controller for all sorts of things. You can even use it as a USB adapter so that you can use your PS2 controller to play PC games.
Going back even further into the retro gaming past, we find the classic Commodore Amiga computer. Like most computers from that era, the Amiga was built with gaming in mind. It had a nine-pin port for connecting joysticks. The problem is that those joysticks are hard to find in working order today. That’s why Alessio developed this Raspberry Pi adapter.
“Adapter” is a bit of a misnomer, because it isn’t necessarily acting as a medium between the Amiga and a joystick — though it can. Instead, the Raspberry Pi connects to the nine-pin port and digitally emulates a joystick. With a software command on the Raspberry Pi, the Amiga will respond as if the corresponding button or movement on the joystick occurred.
The fun part is that you can then connect any modern gamepad to the Raspberry Pi, which will then pass signals to the Amiga. So you could, for instance, connect an Xbox One controller to the Raspberry Pi and use it to play Bubble Bobble on the Amiga. It also works with other Commodore computers, including the Commodore 64.
Text-based adventure games give many of us the retro gaming nostalgia hit we crave and Zork is the undeniable king of the text-based hill. Over the years, Zork got a port for just about every computer in existence. But as it turns out, it can also run on devices that aren’t computers.
This guide from Tal O explains how to run — and play — Zork on an ESP32-based development board. The ESP32 is not an SBC like the Raspberry Pi (running Zork on one of those is easy); it is a microcontroller with built-in WiFi and Bluetooth. But this project takes advantage of the FabGL library to make it act like a computer.
The FabGL library lets you connect a keyboard, mouse, and VGA monitor to the ESP32. An SD card, connected through an SD breakout board, acts as a hard drive for storage. With all of those pieces in place, you can load up a Z-Machine interpreter to play Zork (or any other Z-Machine game).
Going back even further in time (we’re trying to keep a theme going here) and you’ll land on the granddaddy of all consoles: the Atari 2600. Sure it is garbage by all modern standards, but its bright blocks of interactive color started a revolution. One way to make the 2600’s boring old games fun again is to play them with gestures instead of blister-inducing plastic rectangles.
Eran Feit’s guide explains how you can accomplish that. The idea is pretty similar to the Atari joystick Raspberry Pi adapter we already covered. But the signals that the Raspberry Pi passes onto the Atari 2600 are based on gestures.
The system runs on a Raspberry Pi 4 Model B (you need performance for this project) and peers at the player through a webcam. It uses OpenCV computer vision software to recognize when the player makes a gesture and then sends the corresponding control signal to the Atari through the controller port. We think this would be especially fun at parties if you can convince your friends to battle Space Invaders by taking shots.
Finally we land at a point in history before game cartridges. A time when the world was still trying to figure out these newfangled video game things. A time when manufacturers had the audacity to sell “consoles” that could only play a single game. We’re talking about Tennis for Two.
Depending on who you ask (specifically, wrong people), Tennis for Two was the first video game and it was basically just Pong. This TeleBall retro handheld lets you experience the exhilaration of Tennis for Two for yourself on simple hardware. If you prefer other games, sy2002 also programmed Breakout and you can code your own games, as well.
The primary components are an Arduino Nano board and an Adafruit 8x8 LED matrix. The 64 “pixels” of that matrix are all you get for graphics. All control is through a rotary knob. An nRF24L01+ 2.4GHz chip lets two TeleBall devices talk to each other, which is how a second player can control their paddle in Tennis for Two. The handheld’s shell is 3D-printable for a polished final product.
And that’s all we’ve got for you. What are you favorite retro games? What are you favorite ways to enjoy those retro games? Let us know in the comments!