-S4-Network-Bomberman-Game
A Bomberman network game made in Golang and SDL2 library binding for Golang by veandco for a university course about Networking. Contains client & servor.
This project aims at learning a new langage & uses the network over a game Client & a Servor following a protocol.
If you are a french speaker, I invite you to check the Report of this project & the protocol I used for more details.
If you are not a french speaker, you can still check the code comments.
Note: You can find an other implementation of this game in C++ by a classmate here.
Prerequisites
- SDL2 library binding for Golang by veandco
- Go tools
- Delete dashes (
-
) in the directory project title manualy or get the project with:
git clone https://github.com/3t13nn3/-S4-Network-Bomberman-Game.git
mv ./-S4-Network-Bomberman-Game _S4_Network_Bomberman_Game
Note that the project won't compile if there are some dashes in the title project folder.
How to use - Linux Project
Compilation
Compile the program with make
.
Utilisation
Lauch the binary as ./bomber
.
On the menu, move over modes with Up & Down Arrows
keys and select one of them with the Enter
key.
There are 2 modes into the menu:
- Create, to host the servor
- Join, to rejoin a game hosted by someone else on the same network
Next, depending on which mode you have chosen, you will have to inquire the IP servor adresse, the servor port, and then your nickname.
Lobby
Afterwards, you will be in the lobby room. You can chat with everyone who is in the lobby by writting your messages and press the Enter
key to send them.
Here are some useful commands in the lobby:
/nbplayer
to get the number of player in the lobby
/start
to start a game (you must be minimum 2 players & only if you are the host)
/start debug
to start a game in debug mode (you can lauch the game in solo & only if you are the host)
You can select maps which are stored here by using Left and Right Arrows
.
Rules
The main goal is to be the last survivor in the game. For that, you can kill other opponents by dropping bombs. If an opponent is in the explosion, he dies.
Furthermore, you can break some walls to go find adversaries.
We can notice that if a non exploded bomb is in the field of an explosion, it will explode as well
Same with bonus, if a bonus is in an explosion, it will disappear.
At least, there are some bonus:
Speed bonus which makes you gain speed
Pow bonus which makes you gain a unit on your explosion extent
Bomb bonus which enlarges your bomb reserve of 1
Gameplay
Once in the game, you will recognize your character
by you nickname above his head. Then the game starts after the countdown.
Here are game inputs:
Arrows
keys to move
Space
key to drop a bomb
R
key to end the game and return to the lobby (only if you are the host)
Clean files
Clean object files and binary by make clean
.
Exemple of Execution
Here are some pictures that illustrate execution:






Author
- Etienne PENAULT - Réseaux: modèles, protocoles, programmation - Paris VIII
Acknowledgments