PROJECT DOSSIER // [ARCADE]VIEW SOURCEBACK TO PROJECTS →

01 // PROJECT AT A GLANCE

ARCADE

C++

A platform where you switch game and graphics engine mid-play, without restarting.

An arcade cabinet able to launch several retro games and to switch from one display to another — graphical window, ASCII art in the terminal — at the press of a key, without leaving the program or losing the game in progress. The core of the subject is not the games but the architecture: every game and every display lives in a separate file that the main program does not know about and discovers at launch.

An application core dynamically loading graphics libraries and games through dlopen, behind abstract interfaces; five games and three display engines.

PRIMARYC++
DELIVERYTEAM RECORD
VERIFICATIONmake
SOURCEINSPECTOR READY
MEDIA ATTACHMENTS (Images, Photos, Videos)

03 // KEY OUTCOMES

  • Three display technologies and five games, all hot-swappable
  • Adding a game requires no recompilation of the core
  • Interfaces negotiated with another group, to run our games in their launcher and vice versa

BEYOND THE BRIEF

  • Five games instead of the two required
  • Three graphics libraries instead of the two required
  • A conformance check of the loaded libraries before use (LoadHandling.cpp), which cleanly refuses an incomplete .so instead of crashing
  • A score file shared between the games

04 // SOURCE TREE

READING SOURCE…