A classic Breakout arcade game implementation using GTK and Cairo graphics.
- Polished gameplay with physics-based ball movement
- Colorful bricks with shadow effects
- Advanced paddle with custom drawing and realistic movement physics
- Multiple levels with increasing difficulty
- Score tracking and level progression
- Clean, modern UI with gradient background
- Left/Right Arrow Keys or A/D Keys: Move the paddle
- Escape Key: Exit the game
- GCC compiler
- GTK3 development libraries
On macOS:
brew install gtk+3On Ubuntu/Debian:
sudo apt-get install libgtk-3-devThe game can be built using the provided Makefile:
makeAfter compilation, run the executable:
./widget_breakout- Move the paddle to bounce the ball
- Break all the bricks to advance to the next level
- Each level increases in difficulty with:
- Bricks requiring multiple hits
- Faster ball movement
- Higher potential score
This game showcases several GTK and Cairo features:
- Custom Cairo drawing for the paddle
- CSS styling for UI elements
- GTK widget management and layout
- Event handling for keyboard input
- Animation using GLib timers
This project is free to use and modify for personal and educational purposes.
