Back
2023
# Game Development

Arcade

A modular C++ gaming platform with dynamic library loading, supporting multiple games and graphics libraries through a well-defined architecture.

~/Tags

C++Architecture & Plugins

~/About

Arcade is a third-year school project built in C++ that demonstrates advanced software architecture. The platform allows users to choose from multiple games and graphics libraries at runtime, all loaded dynamically as plug-ins. The core program never references graphics libraries directly everything is handled through generic interfaces and dlopen/dlsym. I implemented Snake and Nibbler as game libraries, along with three graphics backends (NCurses, SDL2, and SFML). Built with a strict modular architecture, the system allows any compatible library to be hot-swapped during execution.

~/Gallery

view
Arcade 2
view
Arcade 3
view

~/Key features

Dynamic library loading (.dll/.so)
Three graphics libraries: NCurses, SDL2, SFML
Two games: Snake and Nibbler
Runtime library switching (games and graphics)
Plug-in architecture with generic interfaces
Score tracking and player registration
Complete separation: game logic vs rendering
Tested with other teams' games and graphics libraries