Skip to content

timnicolas/bomberman

Repository files navigation

bomberman [42 project] Build Status

logo

💣 The project

A 3d remake of the classic game Bomberman.

The project is fully written in C++ with the OpenGL framework.

📚 Rules

Bomberman is a series of video games from Hudson Soft where the player plays a bomber, the aim being to use bomb to protect yourself from opponents and exit the level.

View the full game rules in the in-game help menu.

demo gif

⌨ General controls

You can see and update all controls in the in-game settings menu.

control menu

Some hidden debug controls:

Key Description
F1 Show the menu navigation shortcuts
F3 Show debugs infos (fps, nb of entities, ...)
C Enable Free Flight Camera (only available with the DEBUG flag)
WASD Move the camera (only available if Free Flight Camera is enabled)

💾 save & load system

Save and load your progress:

save menu

👩‍💻 Cheatcodes

You can enter cheatcode by pressing the / key.

cheatcode menu

Command Description
/help [ command, ... ] Get general help or help on a command.
/clear [ history | all | lines ] Clear lines or/and history.
/log <type> <message> Log a message in the system console, /log list to get the list of types.
/tp <x> <y> Teleport player to a given position (if possible). Use relative position with ~ (~-1, ~3, ...)
/tp ~3 ~: Tp the player 3 blocks right to you.
/getbonus <bonus ...> Get a bonus effect, /getbonus list to get the list of bonus.
/loop <nb> <commands ...> Execute commands nb times, example:
/loop 3 "/clear" "/getbonus life"
/exec <commands ...> Execute multiples commands, example:
/exec "/clear" "/log info \"cleared\""
/summon <typename> <x> <y> Summon an entity at specified location, /summon list to get the list of entities
/unlock <levelId ...> Unlock specified level
/rmbonus <bonus ...> Remove a bonus effect /rmbonus list to get the list of bonus
/restart Restart the current level
/debug [ show | hide | reset ] <elem ...> Show/Hide/Reset debug element, /debug list to get the list of elements, example:
/debug show collider
/volume [ master | music | sound ] <value> Change master/music/sound volume. /volume list to get the list of volumes's type

💻 Installation

Bomberman is compatible with OSX🍎 and Linux🐧.

If you are on OSX🍎 you can directly download the dmg build here.

👷 Manual installation

Clone the repository and install the dependencies

git clone https://github.com/tnicolas42/bomberman
cd bomberman
make install

Compile the project

make -j8
make -j8 DEBUG=1  # to compile in debug mode

Execute the game

usage: ./bomberman [-u] [--reset] [--reset-settings] [--reset-history] [--reset-saves]
   --reset --reset-all: reset all users data (settings, history and saves) before starting
   --reset-settings: reset all users settings before starting
   --reset-history: reset commands history before starting
   --reset-saves: reset all users saves before starting
   -u, --usage: show usage

🗑 Uninstall projet

To uninstall the project, and remove app, settings and saves's games

make uninstall

🗜 Makefile and Build

If you need to generate a .dmg for osx

make create_dmg

ℹ️ To get more infos about the makefile commands

make help

📖 The code is fully documented with doxygen

Check the documentation here

🍩 3d models

All 3d models are made by us with blender, some are animated using Mixamo, Inspect 3d models here.

🦄 Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

3d remake of the classic game Bomberman in C++ with OpenGL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •