Back to projects

Foundations / C++ architecture

Tetris, one component at a time.

A C++ learning project separating the board, pieces, timing and player commands.

Collaborative academic projectLearning project
Original conceptual falling-block game illustration.
Original conceptual falling-block game illustration.

01 / The challenge

The question behind the system.

Keep game mechanics and player interaction understandable as state and timing change.

This collaborative implementation explores modern C++ through the familiar mechanics of Tetris. Board state, collision, rotation, scoring and levels are organised into separate components with an MVC-inspired structure.

02 / The approach

From architecture to implementation.

  1. 01

    Divide the model into board, piece, bag, position, level and timer components.

  2. 02

    Handle movement, rotation, collision and line clearing through a separate controller.

03 / Outcomes

What the work shows.

  • A command-driven game with configurable board and victory conditions, scoring and level progression.

04 / Scope & next steps

Where the work stands.

  • The documented interface is command-driven; graphical presentation is an extension rather than a completed feature.

Developed by Alec Waumans and Giuliano Taurone. Inspired by Tetris, created by Alexey Pajitnov.

Start a conversation

A system to build.
A problem to solve.