/C-Network-Bomberman

C-Network-Bomberman is a multiplayer Bomberman game written in C. Place bombs strategically and face your opponents in dynamic arenas. Chat functions are also included. You can even whisper messages in team mode with your teammates.

Primary LanguageC

C Network Bomberman

Build Tests and memory checks Format

Description

As part of the L3S6 course "Programmation Réseaux" (Network Programming), we were tasked with developing a network game in C. The aim of this project is to implement a server and a client for a network game of Bomberman. The server will be able to handle multiple clients, and the clients will be able to play the game in real-time. The user interface will be implemented using ncurses.

The project requirements are stated in the pdf file sujet (in French).

The project was developed within 8 weeks.

Own contributions

  • Implemented the view for the game using ncurses.

  • Chat feature

    • Implemented chat model
    • Implemented chat communications through tcp sockets
  • End game feature

    • Implemented end game communications through tcp sockets
    • Implemented end game view
  • A lot of bug fixes :)

Visuals


Setting up the server for the game.

Players are ready to start.

In-game action taking place.

General in-game chat.

Players discussing strategy.

Players whispering in-game.

Player has lost the game.

Player has won the game.

Demo

Demo Video on Youtube

Installation

You will need the following dependencies:

  • gcc compiler
  • make build system
  • ncurses library (for the user interface)

To install the project, run the following commands:

git clone git@github.com:mathusanm6/C-Network-Bomberman.git
cd bomberman-gyt
make

To compile just the server, run the following command:

make server

To compile just the client, run the following command:

make client

Usage

To run the server, run the following command:

./server

To run the client, run the following command:

./client

The client program has some flags :

  • -p PORT to connect the client to the server with the port PORT.
  • -m MODE to choose the mode between 0 for SOLO and 1 for TEAM.

Authors and acknowledgment

This project was developed by a group of students from Université Paris Cité, as part of the L3S6 course "Programmation Réseaux" (Network Programming). The group members are Gabin Dudillieu, Yago Iglesias Vázquez, and Mathusan Selvakumar.