Raylib Bubbles
C++11 Raylib bubble shooter game.
|
An early demo build showing some main mechanics.
Raylib Bubbles is a compact puzzle game following the classic bubble shooter game concept. It relies on the Raylib library for rendering and input handling.
The game is written in C++11 and is built with CMake. It is intended to be a well structured example of a game written with Raylib.
To get started, follow these steps:
git clone https://github.com/magnetrwn/raylib-bubbles.git
.sudo apt install raylib
../build.sh
, and check the build
directory for the built executable, or the zipped bundle dist/bubbles_build[timestamp].zip
../bubbles
to start the game.INSTRUCTIONS.md
file.
The game is structured in a way that allows for easy modification and extension.
The following libraries are used in the project:
To summarize the structure of the project, here is a short description of each header file, in alphabetical order:
Include Header | Description |
---|---|
src/animation/action.hpp | Acts as a list for animations to be applied concurrently and detached to the game state, while keeping track of their action state and referencing the board. |
src/animation/lissajous.hpp | Provides state object for Lissajous curves. |
src/game/board.hpp | Provides a way to build an hexagonal grid of bubbles and to manipulate it through a straightforward API. |
src/game/game.hpp | TODO |
src/raylib/window.hpp | Manages the window and contains the Raylib game loop. **This is the only header that interacts with Raylib, all others are independent and repurposable. |
src/utility/util.hpp | Contains static utilities. |
The static
folder contains all files to bundle with the compiled executable. After running ./build.sh
, which will run cmake
among things, the executable will be placed alongside resources and files to include with it:
res/
: Contains the fonts and textures used in the game.bubbles
: The compiled executable.bubbles.ini
: The configuration file for the game.INSTRUCTIONS.md
: A file containing instructions on how to play the game.LICENSE
: The license file for the game, same as the project license.dist
project directory, with the name bubbles_build[timestamp].zip
. It contains all necessary files to run or distribute the game.
Please make sure to read the contributing docs for relevant information on how to contribute to the project. When contributing, adhere to the code style and Gitflow branching guidelines outlined in the file.
If you wish to discuss contributions or talk about the project in a more detached manner, please use the Discussions tab.