Arcade
A retro-gaming platform with hot-swappable graphics libraries.
Developer (Epitech academic project, 2nd year)

Arcade is a C++ retro-gaming platform where both the graphics libraries and the
games are hot-swappable shared libraries (.so), loaded dynamically at runtime. An
Epitech 2nd-year software-architecture project.
The platform menu for choosing a graphics backend and a game.
The idea
A graphics-agnostic core talks only to a set of object-oriented interfaces, so:
- Graphics backends are interchangeable. It ships with SFML, SDL2 and ncurses, switchable live at the press of a key.
- Games are plugins too, loaded the same way.
Snake running through the abstract display interface.
Pac-Man using the same core to drive a different game.
The interfaces were standardised with other teams so libraries could be shared across projects. It was a real exercise in abstraction, dynamic loading and clean design.
My role
Developer (Epitech academic project, 2nd year). Core architecture, interfaces and dynamic library loading.
Tech
C++ · SFML · SDL2 · ncurses · dlopen
Team

Alexis Belmonte
LinkedIn

