A collection of classic arcade games — Pacman, Breakout, and Asteroids, with Tetris in development — built from scratch in C++ with SDL2.
| Game | Status | Description |
|---|---|---|
| Pacman | Playable | Multiple levels with the classic maze, super pellets, and ghost AI. |
| Breakout | Playable | Three levels, each with a unique brick layout. |
| Asteroids | Playable | Space combat with power-ups and screen-shake on impact. |
| Tetris | In development | Not yet playable. |
- Animated sprites, buttons, and letter animations
- Color gradients
- Screen shake and other juice effects
The project follows a Core/App architecture, split into two subprojects generated with Premake 5:
- Core — a static library with engine code shared across all games (rendering, input, animation, etc.), built from
Core/. - Arcade — the game executable, built from
Arcade/, containing each game's scenes and assets and linking against Core.
Third-party dependencies (SDL2) live under Core/Vendor/.
Requires Premake 5 (bundled under Vendor/Binaries/Premake/).
- Clone the repository.
- From
Scripts/, runSetup-Windows.batto generate a Visual Studio 2022 solution. - Open
Arcade.slnand build theArcadeproject. - Use the Release configuration for the best performance — Debug is significantly slower.
- Clone the repository.
- From
Scripts/, runSetup-Linux.shto generate Makefiles via GNU Make (gmake2). - Build with
makefrom the repository root (addconfig=release_x64for an optimized build).
| Key | Action |
|---|---|
| Arrow keys | Move / navigate menus |
A |
Confirm / action |
S |
Cancel / back |
Released into the public domain under The Unlicense.
