Skip to content

💣 A cross-platform and 3D Bomberman game using the Raylib library

License

Notifications You must be signed in to change notification settings

Studio-17/Indie-Studio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Indie Studio (Bomberman) 💣

$\color{green}{Grade: A}$

About the project

The aim of the Indie Studio is to implement a cross-platform 3D video game with real-world tools.

A more detailed video is available here

gameplay

Bomberman is a well known game, where the player embodies a bomber, the goal being to explode the opponents/enemies to win.

Our gameplay reference is Neo Bomberman, released on the Neo Geo and MVS systems in 1997.

Library

We used the Raylib library to create the game, which is a simple and easy-to-use library to enjoy videogames programming.

Features

Mini view of all the menus and the gameplay

schema

Gameplay

These are the features we implemented:

  • Local multi-player with the possibility to play with a friend + AI’s controlled bots
  • Some menus:
    • loading menu (all the assets are loaded in the background)
    • main menu
    • pause menu
    • settings menu
    • game over menu
    • victory menu
    • map selection menu
    • loading map/game menu
    • game mode selection menu
    • bind keys menu (all the players can play with controllers)
    • volume menu
    • framerate menu
    • credits menu
    • select player menu
    • etc...
  • A game with 3D graphics but a 2D gameplay
  • Procedurally generated maps (random obstacles, random bonus...)
  • Save/Load a game
  • Animation and sounds to give life to the game (especially during various interactions)
  • Some Power-ups:
    • Bomb Up / Bomb Down
    • Speed Up / Speed Down
    • Fire Up / Fire Down

Getting Started

Setup

$ bash .github/scripts/setup.sh

Build & Execute

$ cd build
$ cmake ..
$ cmake --build .
$ cd ..

$ ./build/bomberman

Generate Doxygen

$ cmake -DDOXYGEN=ON ..

Run Unit Tests

$ cmake -DUNIT_TEST=ON ..

$ ./build/unit_tests

Project realised by: