3D Breakout (2024)

Summary

Role: Programmer
Team size: 1
Time span: 4 months
Tools:
C++
C++
OpenGL
OpenGL
Links:

3D Breakout is a circular take on the classic Breakout game, where the paddle rotates around the play area instead of moving side to side. Built in a from-scratch C++ and OpenGL game engine, it features a dynamic brick tower, power-ups, and increasing speed for an ever-growing challenge.

A fresh twist on the classic Breakout game—this time, it’s circular!
The bricks are in the center, and your paddle rotates around the play area.
Break through layer after layer, collect power-ups, and keep up as the game speeds up
!\

Can you keep up with the increasing speed and break through all the layers before losing control?

3D Breakout is a “modern” take on the arcade classic. The goal remains the same—destroy all bricks—but with a unique circular design that keeps the challenge fresh.
The game is built from scratch in a custom C++ and OpenGL game engine. Everything is built from ground up: the math library, physics, interactions, input, lighting and rendering.

Key Features

Controls

🎮 Arrow Keys — Rotate the paddle
🔴 Space — Launch a new ball
🔄 R — Restart the game
👁️ 1 & 2 — Switch between perspective and orthographic camera
⏸️ P — Pause the game

How to Play

  1. Rotate your paddle to keep the ball in play.
  2. Break all the bricks in the center—when a full layer is destroyed, the stack shifts downward.
  3. Power-ups help (or challenge) you—use them wisely!
  4. As the game progresses, the balls keep getting faster—can you keep up?

Technical details

From a technical point, the resulting game is not as important as the underlying game engine. Built completely from scratch using only C++ and OpenGL, it includes the following:

What I learned

This was one of the first larger projects I have ever done in C++. Though I struggled a lot with it in the beginning (smart pointers???), I got into it eventually and enjoyed the challenge.
On top of that - basic math (Vectors, Quaternions, Matrices, …), rendering with OpenGL and building the game engine framework.

Purpose

3D Breakout was developed as a project for Game Engine Development course at FI MUNI.