Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mathusanm6/c-network-bomberman
C-Network-Bomberman is a multiplayer Bomberman game written in C, with a network mode. 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.
https://github.com/mathusanm6/c-network-bomberman
bomberman c chat client game ncurses network network-programming protocol server
Last synced: 20 days ago
JSON representation
C-Network-Bomberman is a multiplayer Bomberman game written in C, with a network mode. 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.
- Host: GitHub
- URL: https://github.com/mathusanm6/c-network-bomberman
- Owner: mathusanm6
- Created: 2024-05-21T15:56:18.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-22T17:38:39.000Z (8 months ago)
- Last Synced: 2024-05-22T18:46:52.965Z (8 months ago)
- Topics: bomberman, c, chat, client, game, ncurses, network, network-programming, protocol, server
- Language: C
- Homepage:
- Size: 4.42 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Authors: authors.md
Awesome Lists containing this project
README
# C Network Bomberman
[![Build](https://github.com/mathusanm6/C-Network-Bomberman/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/mathusanm6/C-Network-Bomberman/actions/workflows/build.yml) [![Tests and memory checks](https://github.com/mathusanm6/C-Network-Bomberman/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/mathusanm6/C-Network-Bomberman/actions/workflows/test.yml) [![Format](https://github.com/mathusanm6/C-Network-Bomberman/actions/workflows/format.yml/badge.svg?branch=main)](https://github.com/mathusanm6/C-Network-Bomberman/actions/workflows/format.yml)
## 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](sujet.pdf) (in French).
The project was developed within 8 weeks.
## Own contributions
- [x] Implemented the view for the game using `ncurses`.
- [x] Chat feature
- [x] Implemented chat model
- [x] Implemented chat communications through tcp sockets- [x] End game feature
- [x] Implemented end game communications through tcp sockets
- [x] Implemented end game view- [x] 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](https://youtu.be/4hkg7EBgfLI)
## 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:
```bash
git clone [email protected]:mathusanm6/C-Network-Bomberman.git
cd bomberman-gyt
make
```To compile just the server, run the following command:
```bash
make server
```To compile just the client, run the following command:
```bash
make client
```## Usage
To run the server, run the following command:
```bash
./server
```To run the client, run the following command:
```bash
./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.