Skip to content

About

This project is a game inspired by the classic Arkanoid game, developed in C++ using the Allegro graphics library.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

397 Commits

Folders and files

Repository files navigation

Raquette Baballe

Logo Raquette Baballe

A modern twist on the classic Arkanoid game, crafted with C++ and Allegro.

Open Source

📜 Description

Raquette Baballe is a game inspired by the classic brick-breaking arcade game Arkanoid. Developed in C++ using the Allegro graphics library, it adheres to the Model-View-Controller (MVC) design pattern for clear separation of logic, rendering, and control. The project is fully open-source.


🌟 Supported Platforms

Linux macOS Windows

🎮 Features

  • ✅ Dynamic Gameplay: Racket movement using the mouse, with responsive ball physics.
  • ✅ Challenging Levels: Multiple levels loaded from `.txt` files, featuring unique designs.
  • ✅ Score Tracking: Tracks your score and saves the best score locally.
  • ✅ Diverse Bricks: Various brick colors with different point values.
  • ✅ Special Bricks: Silver and gold bricks with unique properties.
  • ✅ Game Bonuses: Collect bonuses to gain extra lives, expand the racket, and more.

🔧 Prerequisites

  • 🔹 C++20
  • 🔹 g++
  • 🔹 make
  • 🔹 cmake

🚀 Installation

🐧 Linux (Debian-based)

  1. Install dependencies:

    sudo apt install g++ make cmake
  2. Compile the project:

    make

🐧 Linux (Arch Linux)

  1. Install dependencies:

    sudo pacman -S gcc make cmake
  2. Compile the project:

    make

🪟 Windows

  1. Install MinGW:

    • Download from MinGW-w64 or use MSYS2.
    • Ensure g++, make, and cmake are installed and in your system PATH.
  2. Compile the project:

    make

🎲 Usage

After compiling, run the game:

  • Linux/macOS:

    ./raquette-baballe
  • Windows:

    raquette-baballe.exe

🎮 Controls

  • r : Reset the best score and current score.
  • ← : Move to the previous level.
  • → : Move to the next level.
  • a : Replay the current level.
  • q : Quit the game.
  • Spacebar : Shoot lasers or release the ball when stuck to the racket.

🎁 Bonuses

Collect bonuses by catching them with your racket. Each bonus is marked with a letter inside the corresponding brick:

  • S: Slow down the ball.
  • E: Gain an extra life.
  • W: Expand the racket width.
  • L: Shoot lasers.
  • T: Make the ball stick to the racket.
  • B: Split the ball into three.

🛠️ Create Your Levels

Design custom levels in the ressources/levels directory using .txt files. Name your files numerically (e.g., 1.txt, 2.txt). Format each line as follows:

  • X-coordinate: Horizontal position of the brick.
  • Y-coordinate: Vertical position of the brick.
  • Color: Brick color (e.g., red, blue).
  • Bonus: (Optional) Specify a bonus (SlowDown, ExtraLife, etc.).

🔧 Project used in

This project use cpp-make-cmake-template (by @Evr5) that provides a cross-platform CMake + Make integration, a support for static and dynamic linking and a modular structure.


📖 Documentation

For detailed guides and insights, visit the Raquette Baballe Wiki.


Developed with ❤️ by LuxySs and Evr5.

About

This project is a game inspired by the classic Arkanoid game, developed in C++ using the Allegro graphics library.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages