Reimplementation of the classic 3D puzzle game Blockout, built from scratch with a custom engine.
- Custom game engine with state machine architecture
- OpenGL-based 3D rendering pipeline
- Modular mesh building and rendering system
- Camera system for 3D perspective
- Input handling abstraction
- Collision detection for 3D blocks
- Grid-based world representation
- CMake 3.20+
- C++23 compatible compiler
git clone https://github.com/floofyplasma/Reblocked
cd Reblocked
mkdir build && cd build
cmake ..
make./ReblockedCore gameplay and engine systems are functional. The game is playable but lacks menus, and the ability to restart after finishing a round. Development paused to work on other projects.
The engine is built around a state machine pattern that manages game flow. Each state (menu, playing, etc.) implements a common interface for update, render and input handling, making it easy to add new game modes or screens.
The renderer uses OpenGL with a custom vertex/mesh system. The MeshBuilder provides a fluent API for constructing geometry, while the Renderer handles draw calls and shader management. Separation between game logic (Grid, Piece) and rendering (GridRenderer, PieceRenderer) keeps concerns cleanly divided.
Built with CMake and CPM for dependency management.
This project is licensed under the MIT license. See the LICENSE for more info.