bomberman [42 project]
A 3d remake of the classic game Bomberman.
The project is fully written in C++ with the OpenGL framework.
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.
You can see and update all controls in the in-game settings 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 and load your progress:
You can enter cheatcode by pressing the / key.
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 |
Bomberman is compatible with OSX🍎 and Linux🐧.
If you are on OSX🍎 you can directly download the dmg build here.
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
To uninstall the project, and remove app, settings and saves's games
make uninstall
If you need to generate a .dmg
for osx
make create_dmg
ℹ️ To get more infos about the makefile commands
make help
Check the documentation here
All 3d models are made by us with blender, some are animated using Mixamo, Inspect 3d models here.
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details