Chest · Games & worlds
Arcade
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.
archived
- Period
- Mar 2026 – Apr 2026
- Role
- Core, menu and two graphics libraries
- Party
- 3 people
- Status
- archived
- Last touched
- April 2026
Contents
Demo
Transcript (final screen)
demo:arcade$ ./arcade lib/arcade_ncurses.so demo:arcade$
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”.