Présentation globale
Le projet Zappy est le dernier projet de 2e année à Epitech
Il consiste à créer un jeu multijoueur en réseau où les joueurs sont contrôlés par une intelligence artificielle
Le but du jeu est de faire évoluer son équipe de joueurs en les faisant monter en niveau
Le jeu se déroule sur une carte de taille variable
Les joueurs peuvent se déplacer sur la carte, ramasser des ressources, les déposer, les manger, les échanger, etc...
Le jeu se termine quand une équipe atteint le niveau maximum (niveau 8)
Le projet est à réaliser en 5 semaines
Le projet est à réaliser en équipe de 4 à 6 personnes
Nous étions 4 pour ce projet
Le projet se divise en 3 grandes parties
Le serveur
Le serveur est à réaliser en C
Le serveur est le programme qui gère le jeu
Il gère les connexions des clients, les commandes des clients, les ressources, les joueurs, les équipes, etc...
En bref, il gère tout ce qui se passe dans le jeu
Il gère aussi la génération de la carte et de ressources
Il gère également le temps du jeu

Le Graphique
Le graphique est à réaliser en C++
Le Graphique est le programme qui permet aux utilisateurs de voir ce qu'ils se passent dans le jeu
Il permet de voir la carte, les joueurs, les ressources, les équipes, etc...
Nous avons fait le choix de le réaliser en isométrique (effet 3D tout en restant en 2D)
Dans la partie supérieure gauche de l'écran, nous avons les informations sur la case actuellement sélectionnée (la case marron)
Nous pouvons voir le nombre de ressources sur la case, le nombre de joueurs sur la case, etc...
Ainsi que la fréquence du serveur (le nombre de tours par seconde)
Dans la partie supérieure droite de l'écran, nous avons les informations sur le joueur actuellement sélectionné
Nous pouvons voir son niveau, son inventaire, son équipe, etc...
Chaque joueur est représenté par un personnage
Chaque niveau est représenté par une couleur différente
Lorsqu'un joueur a une bulle au-dessus de sa tête, cela signifie qu'il est en train de parler
Lorsqu'un joueur a des particules de couleur sur lui, cela signifie qu'il est en train de faire une incantation (pour montée de niveau)
Les ressources sont représentées par des cristaux de couleur différente en fonction de la ressource
La nourriture est représentée par une banane

Le client
Le client est à réaliser avec le langage de notre choix
Nous avons donc choisi de le réaliser en Python
Le client est le programme qui permet aux joueurs de jouer
Notre joueur va donc se connecter au serveur et va jouer à notre place
Il va chercher à récupérer suffisamment de nourriture pour ne pas mourir
Puis il va chercher à récupérer suffisamment de ressources pour montée de niveau
Une fois les ressources récupérées, il va appeler les autres joueurs pour qu'il le rejoigne afin d'évoluer
Et ceux jusqu'à atteindre le niveau maximum

Présentation vidéo
Voici une vidéo de présentation du projet Zappy que nous avons réalisé face au parent de tous les groupes d'étudiants d'Epitech ayant réalisé ce projet