Arcade
About this project
Mar 2026 – Apr 2026 · Core, menu and two graphics libraries · team of 3
A retro game console in C++ where games and screens are plug-in libraries: swap the game or the graphics (terminal, SDL, SFML) while it runs.
Arcade is a console for classic games with a twist: the program itself contains no game and no graphics. The games (Snake, Nibbler, Flappy Bird) and the ways to display them (in the terminal, or in a window with two different libraries) are plug-ins found at startup, and any game works with any display.
How it works
In the middle of a game, one key swaps the display (from a window to the terminal, say) and another swaps the game, without losing a beat. A plug-in compiled while Arcade is open shows up in the menu straight away. Each plug-in carries its own icon and pictures inside it, so nothing goes missing on someone else’s machine. We even shared our plug-in format with another group, so the two projects could run each other’s games.
What I took from it
- A stable shared contract lets people work without talking to each other, as long as they respect it.
- Making a plug-in carry its own files removes a whole category of “works on my machine”.