Break It Out is not just a classic Breakout game. It's a story about a soul that couldn't move on.
Once upon a time, the main character died. Not tragically. Not heroically. He simply didn't finish his thought. And because of this, his soul didn't leave.
It was compressed into the shape of a perfect sphere — because a sphere has no corners, meaning it cannot latch onto reality.
This sphere is you.
You're not in space and not in another dimension. You're inside the Containment Circuit — a system created by consciousness itself to hold souls that are "not yet ready."
🟦 Paddle (The Anchor) — The last thought the soul clings to, preventing it from disintegrating. It moves only horizontally because you can no longer move forward or backward in time. You can only react.
⚪ Ball (The Soul) — Bright. Excessively bright. It shouldn't fit into this 8-bit world. This is an error in the system. Too much light for such a simple structure. It reflects guilt, memory, and the desire to understand why it's still not the end.
🧱 Blocks (Memories) — Regular blocks represent unimportant but persistent memories: faces without names, conversations that led nowhere, days you lived "normally." They break easily because the mind is always ready to let them go.
🟥 Strong Blocks (Anchors) — Things that won't let go: one wrong decision, one missed chance, one unanswered question. They require multiple hits because the soul doubts each time whether it's worth letting go.
🧱 Walls (Boundaries) — Walls aren't physical objects. They're how you've learned to think. You can't go beyond them because you've never tried.
"I'll be out soon."
The first stage of awareness. The soul doesn't yet accept its fate.
"Once, I could think."
Memories of a time when thoughts were clear and simple.
"I could have changed that."
Anchors appear — strong blocks symbolizing regrets and missed opportunities.
"What I have done."
The more complex level structure reflects the acceptance of a complicated past.
"I just need peace..."
The final level. The soul is ready to release the last anchors and find peace.
✅ Menu Screen — Starting screen with animated logo and options:
- Start Game — begin the game
- Settings — volume settings
- Exit — quit the game
✅ Game Screen — Main gameplay with paddle control via A/D keys or left/right arrows
✅ Pause Screen — Pressing ESC pauses the game with options:
- Resume — continue playing
- Restart Level — restart current level
- Settings — adjust settings
- Main Menu — return to main menu
✅ Victory Screen — After completing all levels, a particle animation plays with the message:
"Your soul is calm, now you are free"
✅ 5 unique levels, each with its own name and philosophical description
✅ Strong Blocks — Require two hits to destroy. Visually distinct texture symbolizing important memories.
✅ Ball Visual Effects — Multi-layered glowing effect with:
- Trail of previous positions
- Gradient glow from center
- Translucent aura
✅ Victory Animation — Special animation for the final level:
- Smooth ball movement to screen center
- Music fade-out
- Particle explosion with physics
- Explosion sound effect
✅ Level Transition System — 3-second screen with information about the next level
✅ PvP Mode (Secret) — Hidden Pong mode for two players (details below)
✅ Defeat Screen — When losing the ball:
"Your soul is lost"
- Press ENTER to Restart Level
- Press M to Return to Menu
✅ 6 sound effects:
win.wav— game victorylose.wav— defeatbounce.wav— bounce off walls/blockspick.wav— block destructionlevel_transition.wav— level transitionsexplosion.wav— final explosion in victory animation
✅ 3 music tracks:
background.wav— main menu musicgameplay.wav— gameplay musicpvp.wav— PvP mode music
All tracks automatically switch depending on game state.
✅ Volume Settings System — 5 volume levels (0-4), adjusted with left/right arrows
✅ Smooth Paddle Physics — Realistic movement with acceleration and friction
✅ UI Elements — Counter for remaining blocks ("MEMORIES")
✅ Menu Animation — Pulsating game logo
The game has a secret mode for two players!
Enter the Konami Code in the main menu:
↑ ↑ ↓ ↓ ← → ← → B A
After correct input, a message appears:
"PvP Mode Unlocked! Press P to play"
Player 1 (bottom paddle):
- ← → or A/D — move left/right
Player 2 (top paddle):
- A/D — move left/right
- First player to score 10 points wins
- Ball launches from center after each goal
- Points awarded when opponent misses the ball
- ESC — return to main menu
- ↑/↓ — Select option
- Enter — Confirm
- P — Launch PvP mode (after unlocking)
- A/D or ←/→ — Move paddle
- ESC — Pause / Resume
- ←/→ — Adjust volume
- ESC — Return
- CMake 3.22 or higher
- C++20 compatible compiler
- raylib (installed via vcpkg or package manager)
- glfw3
.
└── breakout/
├── data/ # Game resources
│ ├── fonts/ # Fonts
│ │ └── GothicByte.TTF
│ ├── images/ # Textures and sprites
│ │ ├── ball/ # Ball animation
│ │ ├── wall.png
│ │ ├── block.png
│ │ ├── strong_block.png
│ │ ├── paddle.png
│ │ └── paddle2.png
│ ├── music/ # Music tracks
│ │ ├── background.wav
│ │ ├── gameplay.wav
│ │ └── pvp.wav
│ └── sounds/ # Sound effects
│ ├── win.wav
│ ├── lose.wav
│ ├── bounce.wav
│ ├── pick.wav
│ ├── level_transition.wav
│ └── explosion.wav
├── breakout.cpp # Main file with game loop
├── game.h # Game state and level definitions
├── assets.h/cpp # Resource loading and management
├── graphics.h/cpp # Rendering and visual effects
├── level.h/cpp # Level management
├── ball.h/cpp # Ball logic
├── paddle.h/cpp # Paddle logic
├── sprite.h/cpp # Sprite animation system
├── CMakeLists.txt # Build configuration
├── LICENSE # MIT License
└── Readme.md # This file
- Structured Programming — Code organized into separate modules by functionality
- Procedural Decomposition — Functions separated by responsibility
- State System — Game uses enums to manage different screens
- Physics and Collisions — Realistic bounce system with edge case handling
- Memory Management — Proper allocation and deallocation of memory for levels
- raylib — Graphics library for 2D games
- C++20 — Modern C++ standard
- CMake — Build system
Al-Timur Kanybekov
- GitHub: @AlTimur
- raylib community for the excellent library
- Course instructors for support and feedback
- Everyone who tested the game
- My nervous system
- Nescafe for excellent coffee
Remember: Every block you break is a memory you release. Every level is a step toward peace.
Your soul is calm. Now you are free.






