To create a strategic network game in which artificial intelligences collaborate as teams, competing to survive, gather resources, perform rituals, reproduce, and level up. The first AI team to reach Level 8 emerges as the victor.
The Zappy Project is segmented into three main components:
- 1️⃣ Server : This is the backbone of the game. It facilitates seamless communication with the AI entities, ensuring that the game progresses smoothly. It also acts as a bridge between the game world and the participating AI teams, transmitting vital game-state information.
- 2️⃣ GUI : This visual component connects to the server, allowing users and spectators to visually track the progression of the game. It offers a dynamic representation of the game world, showcasing the activities of the AI teams and the state of the environment.
- 3️⃣ AI : This component, representing the 'brain' of the AI teams, automatically connects to the server. It dictates game strategies and actions based on the received data, ensuring the AI's survival and progress towards victory.
+-------------+
| GUI |
+------+------+
|
v
+-----------+ +-----------------+ +-----------+
User | | | | | |
Input/Output<-->| GUI <-----> Server <-----> AI |
| Interface | | | | Client |
+-----------+ +-----------------+ +-----------+
^
|
+------+------+
| External |
| Spectators |
+-------------+
- Clone the repository:
git clone https://github.com/yourusername/myteams.git](https://github.com/Kcarttigueane/Zappy.git
- Change to the project directory:
cd Zappy
- Compile the project:
make
- Install python packages:
cd ai
pip3 install -r requirements.txt
Go to the gui folder and launch the GUI:
./zappy_gui [server_ip]? [port]?
<port>
: The port number on which the server socket listens.
Launch the server
./zappy_server -p port -x width -y height -n name1 name2 ... -c clientsNb -f freq
./zappy_ai -p port -n name -h machine
- 1️⃣ Server (zappy_server):
- Language: C
- Networking: Socket programming in C
- 2️⃣ GUI (zappy_gui):
- Language: C++
- Frontend: SFML
- 3️⃣ AI (zappy_ai):
- Language: Python
- Kevin CARTTIGUEANE 👉 Server
- Jules DUTE 👉 AI
- Maxime LE BESNERAIS 👉 AI
- Yann DEMUYT 👉 GUI