I love retro games, arcade machines and anything 16-bit! Theres a certain humbleness and honesty they have which takes me back to a time of simplicity, resourcefulness and lateral thinking. Nostalgia aside retro games are fun for every one. It's not just me who just look at the recent success of Minecraft, Dead Cells, Stardew Valley, Enter The Gungeon, Hotline Miami 2, The Binding of Isaac and many more.

I'm working on a project at work which requires a desktop arcade machine and a custom 16-bit video game for a client. I wanted to share some learnings.

The arcade machine of choice is the Picade running RetroPie.

The software of choice is a binary app built with OpenFrameworks which can be played as a game in the RetroPie though a custom platform which triggers the binary app. Instructions can be found here on the RetroPie repo.

How to add a Custom Platform

RetroPie is a Raspberry Pi and Linux based arcade machine and ARM7  Operating System. It has a series of emulators organised by platforms. The platforms are designed to run old games such as Nintendo Entertainment System, Sega Megadrive, Playstation and more. Adding a new platform is easy. You can modify the es_systems.cfg file found in the emulationstation directory on the Raspberry Pi and add you own system as such:

/etc/emulationstation/es_systems.cfg
<system>
    <name>mygames</name>
    <fullname>My Games</fullname>
    <path>/home/pi/RetroPie/roms/mygames</path>
    <extension>.bin .zip .BIN .ZIP</extension>
    <command>./%ROM%</command>
    <platform></platform>
    <theme></theme>
</system>

Update the path extension and command. Platform and theme you can leave blank. Copy your binary arcade game(s) to the path and restart. After restarting your Picade you will see the new platform in the main menu. Choose the game(s) to launch and you will be able to play your custom arcade game.

Hope this helps those out there with the same obsession I have with arcade machine games. Now go buy a bunch of them and open a custom arcade parlour. Happy arcading.