Projet Réseau : soutenance. - Un jeu de Bomberman en multijoueur

Transcription

Projet Réseau : soutenance. - Un jeu de Bomberman en multijoueur
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Projet Réseau : soutenance.
Un jeu de Bomberman en multijoueur : specification formelle, protocole
réseau et limitations de mon implémentation.
Groupe 5 : L. Besson
V. Cohen-Addad
L. Hosseini
MPRI 1-21
ENS de Cachan
7 mars 2013
Ces slides et les sources du projet sont disponibles en lignes 1 http://perso.crans.org/besson/publis/Bomberman/.
N’hésitez pas à me contacter : mailto:lilian.besson@ens- cachan.org.
1.
Sous licence GPLv3.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
1/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Plan
1
2
3
4
5
Présentation
Règles et protocole
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
Messages échangés (rappel)
Client → Serveur
Serveur → Tous les clients (1)
Serveur → Tous les clients (2)
Détails
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Conclusion
Surtout, n’hésitez pas à m’interrompre !
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
2/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
À propos
À propos des règles
On ne re-détaille pas les choix de règles, qui sont précisés dans le sujet.
À propos des constantes
Nous avons fixé certains paramètres du jeu à des valeurs constantes :
taille de la carte et nombre de joueurs (LX = LY = 11, et K = 3) ;
nombre max. de PVs, de bombe posées en mêmes temps (3 et 1) ;
rayon d’explosion des bombes (4) ;
ordre de grandeur du nombre de boucle par seconde (10).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
3/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
À propos
À propos des règles
On ne re-détaille pas les choix de règles, qui sont précisés dans le sujet.
À propos des constantes
Nous avons fixé certains paramètres du jeu à des valeurs constantes :
taille de la carte et nombre de joueurs (LX = LY = 11, et K = 3) ;
nombre max. de PVs, de bombe posées en mêmes temps (3 et 1) ;
rayon d’explosion des bombes (4) ;
ordre de grandeur du nombre de boucle par seconde (10).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
3/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
À propos
À propos des règles
On ne re-détaille pas les choix de règles, qui sont précisés dans le sujet.
À propos des constantes
Nous avons fixé certains paramètres du jeu à des valeurs constantes :
taille de la carte et nombre de joueurs (LX = LY = 11, et K = 3) ;
nombre max. de PVs, de bombe posées en mêmes temps (3 et 1) ;
rayon d’explosion des bombes (4) ;
ordre de grandeur du nombre de boucle par seconde (10).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
3/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
À propos
À propos des règles
On ne re-détaille pas les choix de règles, qui sont précisés dans le sujet.
À propos des constantes
Nous avons fixé certains paramètres du jeu à des valeurs constantes :
taille de la carte et nombre de joueurs (LX = LY = 11, et K = 3) ;
nombre max. de PVs, de bombe posées en mêmes temps (3 et 1) ;
rayon d’explosion des bombes (4) ;
ordre de grandeur du nombre de boucle par seconde (10).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
3/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
À propos
À propos des règles
On ne re-détaille pas les choix de règles, qui sont précisés dans le sujet.
À propos des constantes
Nous avons fixé certains paramètres du jeu à des valeurs constantes :
taille de la carte et nombre de joueurs (LX = LY = 11, et K = 3) ;
nombre max. de PVs, de bombe posées en mêmes temps (3 et 1) ;
rayon d’explosion des bombes (4) ;
ordre de grandeur du nombre de boucle par seconde (10).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
3/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
À propos
À propos des règles
On ne re-détaille pas les choix de règles, qui sont précisés dans le sujet.
À propos des constantes
Nous avons fixé certains paramètres du jeu à des valeurs constantes :
taille de la carte et nombre de joueurs (LX = LY = 11, et K = 3) ;
nombre max. de PVs, de bombe posées en mêmes temps (3 et 1) ;
rayon d’explosion des bombes (4) ;
ordre de grandeur du nombre de boucle par seconde (10).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
3/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
Protocole Réseau
TCP ou UDP ?
On utilise TCP.
Économe . . .
Notre protocole est conçu pour :
être économe en nombre de message.
être économe en fréquence des messages (de l’ordre de la dizaine
par secondes tout au plus).
Moins économe . . .
Mais sans chercher à réduire la taille des messages (on pourrait les
réduire un peu).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
4/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
Protocole Réseau
TCP ou UDP ?
On utilise TCP.
Économe . . .
Notre protocole est conçu pour :
être économe en nombre de message.
être économe en fréquence des messages (de l’ordre de la dizaine
par secondes tout au plus).
Moins économe . . .
Mais sans chercher à réduire la taille des messages (on pourrait les
réduire un peu).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
4/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
Protocole Réseau
TCP ou UDP ?
On utilise TCP.
Économe . . .
Notre protocole est conçu pour :
être économe en nombre de message.
être économe en fréquence des messages (de l’ordre de la dizaine
par secondes tout au plus).
Moins économe . . .
Mais sans chercher à réduire la taille des messages (on pourrait les
réduire un peu).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
4/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
Deux types de communications
1
Client −→ Serveur ;
2
Serveur −→ Tous les clients ;
Un troisième : non utilisé
1
Serveur −→ 1 Client : pas utilisé ! a
a.
Mais on pourrait, par exemple pour que le serveur signale à un client qu’il a tenté de tricher. C’est ce qu’on désignait par un
serveur pédagogue dans le rapport initial.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
5/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Précisions sur les règles du jeu
Protocole Réseau
Types d’échanges
Deux types de communications
1
Client −→ Serveur ;
2
Serveur −→ Tous les clients ;
Un troisième : non utilisé
1
Serveur −→ 1 Client : pas utilisé ! a
a.
Mais on pourrait, par exemple pour que le serveur signale à un client qu’il a tenté de tricher. C’est ce qu’on désignait par un
serveur pédagogue dans le rapport initial.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
5/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Client → Serveur
Serveur → Tous les clients (1)
Serveur → Tous les clients (2)
Messages échangés
Client → Serveur
NEW PLAYER(nickname) Message envoyé lors de la connexion d’un
client, il contient le pseudonyme du joueur, et signifie au
serveur que le client souhaite rejoindre la partie en train
d’être construite.
MOVE {LEFT|RIGHT|UP|DOWN} Au cours d’une partie, signifie au
serveur que le joueur souhaite se déplacer.
PLANT BOMB Au cours d’une partie, signifie au serveur que le joueur
souhaite déposer une bombe
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
6/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Client → Serveur
Serveur → Tous les clients (1)
Serveur → Tous les clients (2)
Messages échangés
Client → Serveur
NEW PLAYER(nickname) Message envoyé lors de la connexion d’un
client, il contient le pseudonyme du joueur, et signifie au
serveur que le client souhaite rejoindre la partie en train
d’être construite.
MOVE {LEFT|RIGHT|UP|DOWN} Au cours d’une partie, signifie au
serveur que le joueur souhaite se déplacer.
PLANT BOMB Au cours d’une partie, signifie au serveur que le joueur
souhaite déposer une bombe
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
6/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Client → Serveur
Serveur → Tous les clients (1)
Serveur → Tous les clients (2)
Messages échangés
Client → Serveur
NEW PLAYER(nickname) Message envoyé lors de la connexion d’un
client, il contient le pseudonyme du joueur, et signifie au
serveur que le client souhaite rejoindre la partie en train
d’être construite.
MOVE {LEFT|RIGHT|UP|DOWN} Au cours d’une partie, signifie au
serveur que le joueur souhaite se déplacer.
PLANT BOMB Au cours d’une partie, signifie au serveur que le joueur
souhaite déposer une bombe
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
6/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Client → Serveur
Serveur → Tous les clients (1)
Serveur → Tous les clients (2)
Messages échangés
Serveur → Tous les clients (1)
GAME START(map, players list) Lorsque le serveur à trouvé suffisament
de joueurs pour lancer une partie (ici K = 3), il envoie la
carte à tous les participants, ainsi que la liste des joueurs
(pseudonyme, position initiale, et identifiant numérique).
GAME OVER(winner id) Lorsque la partie se termine, le serveur envoie a
chaque client l’identifiant numérique du gagnant puis
ferme la connexion. Exemple : ”GAME OVER(1)”.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
7/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Client → Serveur
Serveur → Tous les clients (1)
Serveur → Tous les clients (2)
Messages échangés
Serveur → Tous les clients (1)
GAME START(map, players list) Lorsque le serveur à trouvé suffisament
de joueurs pour lancer une partie (ici K = 3), il envoie la
carte à tous les participants, ainsi que la liste des joueurs
(pseudonyme, position initiale, et identifiant numérique).
GAME OVER(winner id) Lorsque la partie se termine, le serveur envoie a
chaque client l’identifiant numérique du gagnant puis
ferme la connexion. Exemple : ”GAME OVER(1)”.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
7/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Client → Serveur
Serveur → Tous les clients (1)
Serveur → Tous les clients (2)
Messages échangés
Serveur → Tous les clients (2)
PLANT BOMB(pos) Indique qu’une bombe a été déposée. Les positions
sont (x,y) : ligne puis colonne.
BLOW BOMB(pos, radius) Indique qu’une bombe a explosé (avec un
rayon d’action radius). Exemple : ”BLOW BOMB(7,9,3)”
une bombe en (x, y ) = (7, 9), et de rayon 3.
MOVE PLAYER(player id, pos) Indique la nouvelle position d’un joueur.
Exemple : ”MOVE PLAYER(2,11,0)” dit que le joueur
numéro 2 va en (x, y ) = (11, 0).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
8/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Client → Serveur
Serveur → Tous les clients (1)
Serveur → Tous les clients (2)
Messages échangés
Serveur → Tous les clients (2)
PLANT BOMB(pos) Indique qu’une bombe a été déposée. Les positions
sont (x,y) : ligne puis colonne.
BLOW BOMB(pos, radius) Indique qu’une bombe a explosé (avec un
rayon d’action radius). Exemple : ”BLOW BOMB(7,9,3)”
une bombe en (x, y ) = (7, 9), et de rayon 3.
MOVE PLAYER(player id, pos) Indique la nouvelle position d’un joueur.
Exemple : ”MOVE PLAYER(2,11,0)” dit que le joueur
numéro 2 va en (x, y ) = (11, 0).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
8/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Client → Serveur
Serveur → Tous les clients (1)
Serveur → Tous les clients (2)
Messages échangés
Serveur → Tous les clients (2)
PLANT BOMB(pos) Indique qu’une bombe a été déposée. Les positions
sont (x,y) : ligne puis colonne.
BLOW BOMB(pos, radius) Indique qu’une bombe a explosé (avec un
rayon d’action radius). Exemple : ”BLOW BOMB(7,9,3)”
une bombe en (x, y ) = (7, 9), et de rayon 3.
MOVE PLAYER(player id, pos) Indique la nouvelle position d’un joueur.
Exemple : ”MOVE PLAYER(2,11,0)” dit que le joueur
numéro 2 va en (x, y ) = (11, 0).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
8/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Représentation des données : la map
Représentation des données : la map
Pour les échanges, la carte est représentée par une matrice (pleine) à
coefficients dans {0, 1, 2}, où :
1
0 représente une case vide ;
2
1 représente un bloc destructible ;
3
2 représente un bloc indestructible.
Dans mon implémentation, la carte est une instance de Board.Board,
elle même étant une instance de Matrix.Matrix avec des Board.State
dans chaque case.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
9/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Messages échangés : la map
Messages envoyés par le serveur : la map
La taille de la map est fixée à 11x11.
On fixe le nombre de joueurs à 3.
Limitation
Un joueur doit se reconnaı̂tre dans ce message.
Il ne peut le faire qu’avec son pseudo.
−→ erreur si deux pseudos identiques !
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
10/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Messages échangés : la map
Messages envoyés par le serveur : la map
La taille de la map est fixée à 11x11.
On fixe le nombre de joueurs à 3.
Exemple :
GAME START(1,1,0,...,1,0 ;
nickname0,x0,y0 ;nickname1,x1,y1 ;nickname2,x2,y2 ;nickname3,x3,y3)
La première séquence de 1,0,2 a une taille 11x11.
Le seconde séquence de nickname, yi , yi a une taille 3.
Limitation
Un joueur doit se reconnaı̂tre dans ce message.
Il ne peut le faire qu’avec son pseudo.
−→ erreur si deux pseudos identiques !
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
10/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Messages échangés : la map
Messages envoyés par le serveur : la map
La taille de la map est fixée à 11x11.
On fixe le nombre de joueurs à 3.
Limitation
Un joueur doit se reconnaı̂tre dans ce message.
Il ne peut le faire qu’avec son pseudo.
−→ erreur si deux pseudos identiques !
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
10/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Encodage des données
Encodage, décodage “à la main”
Nous avons choisi d’échanger des données dans un format ad-hoc après
avoir tout d’abord considéré json et les protocol-buffers. Ceci car nos
échanges de données vont se réduire à des positions (couples d’entiers),
des entiers, et des chaı̂nes de caractères (les pseudos, au début).
Lire et écrire
J’utilise le couple classique :
printf pour écrire ;
scanf pour lire.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
11/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Sémantique du serveur
Description du serveur
Le serveur fonctionne en temps discret. Le mien est limité à faire moins
de 30 boucles par secondes.
1
reçoit une requête d’un client encore vivant ;
2
vérifie sa validité (dépend aussi du temps) ;
3
l’applique localement ;
4
et renvoie la mise à jour aux clients (messages MOVE PLAYER ou
PLANT BOMB).
Ce qui dépend du temps
Puis à chaque fin d’une unité de temps, met à jour la carte (explosion des
bombes, puis activation des bombes posées au tour précédent), et envoie
les éventuels ordres en résultant : explosion d’une bombe (BLOW BOMB)
ou fin du jeu (GAME OVER).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
12/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Sémantique du serveur
Description du serveur
Le serveur fonctionne en temps discret. Le mien est limité à faire moins
de 30 boucles par secondes.
1
reçoit une requête d’un client encore vivant ;
2
vérifie sa validité (dépend aussi du temps) ;
3
l’applique localement ;
4
et renvoie la mise à jour aux clients (messages MOVE PLAYER ou
PLANT BOMB).
Ce qui dépend du temps
Puis à chaque fin d’une unité de temps, met à jour la carte (explosion des
bombes, puis activation des bombes posées au tour précédent), et envoie
les éventuels ordres en résultant : explosion d’une bombe (BLOW BOMB)
ou fin du jeu (GAME OVER).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
12/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Sémantique du client
Description du client
Le client fonctionne en deux phases.
1
2
lancement, connection au serveur, attente de réception de la carte,
boucle infinie (limitée à moins de 10 par secondes) :
lit le clavier ;
en tire des ordres ;
les valide, et les envoie ;
reçoit des mises à jour depuis le serveur ;
les appliques ;
change l’affichage.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
13/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Sémantique du client
Description du client
Le client fonctionne en deux phases.
1
2
lancement, connection au serveur, attente de réception de la carte,
boucle infinie (limitée à moins de 10 par secondes) :
lit le clavier ;
en tire des ordres ;
les valide, et les envoie ;
reçoit des mises à jour depuis le serveur ;
les appliques ;
change l’affichage.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
13/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Sémantique du client
Description du client
Le client fonctionne en deux phases.
1
2
lancement, connection au serveur, attente de réception de la carte,
boucle infinie (limitée à moins de 10 par secondes) :
lit le clavier ;
en tire des ordres ;
les valide, et les envoie ;
reçoit des mises à jour depuis le serveur ;
les appliques ;
change l’affichage.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
13/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Sémantique du client
Description du client
Le client fonctionne en deux phases.
1
2
lancement, connection au serveur, attente de réception de la carte,
boucle infinie (limitée à moins de 10 par secondes) :
lit le clavier ;
en tire des ordres ;
les valide, et les envoie ;
reçoit des mises à jour depuis le serveur ;
les appliques ;
change l’affichage.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
13/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Sémantique du client
Description du client
Le client fonctionne en deux phases.
1
2
lancement, connection au serveur, attente de réception de la carte,
boucle infinie (limitée à moins de 10 par secondes) :
lit le clavier ;
en tire des ordres ;
les valide, et les envoie ;
reçoit des mises à jour depuis le serveur ;
les appliques ;
change l’affichage.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
13/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Sémantique du client
Description du client
Le client fonctionne en deux phases.
1
2
lancement, connection au serveur, attente de réception de la carte,
boucle infinie (limitée à moins de 10 par secondes) :
lit le clavier ;
en tire des ordres ;
les valide, et les envoie ;
reçoit des mises à jour depuis le serveur ;
les appliques ;
change l’affichage.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
13/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
La carte
Sémantique du serveur
Sémantique du client
Une IA ?
Une IA ?
Un client jouant seul ?
Je voulais faire un client automatique : qui se connecte et joue seul.
Le programme IA Bomberman.py est là pour ça.
une surcouche au client ;
pas d’heuristique très développée : tout est aléatoire !
une fréquence de prise de décision réglable (entre 1 et 30 par
secondes).
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
14/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Pour résumer
Des limitations
Quelques faiblesses, dues au protocole, qu’on a voulu le plus simple
possible.
Des améliorations encore possibles
Notamment :
le système de bonus ;
une meilleure signalisation des joueurs (empêcher l’overlapping ) ;
une IA plus maline.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
15/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Pour résumer
Des limitations
Quelques faiblesses, dues au protocole, qu’on a voulu le plus simple
possible.
Des améliorations encore possibles
Notamment :
le système de bonus ;
une meilleure signalisation des joueurs (empêcher l’overlapping ) ;
une IA plus maline.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
15/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Pour résumer
Des limitations
Quelques faiblesses, dues au protocole, qu’on a voulu le plus simple
possible.
Des améliorations encore possibles
Notamment :
le système de bonus ;
une meilleure signalisation des joueurs (empêcher l’overlapping ) ;
une IA plus maline.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
15/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Pour résumer
Des limitations
Quelques faiblesses, dues au protocole, qu’on a voulu le plus simple
possible.
Des améliorations encore possibles
Notamment :
le système de bonus ;
une meilleure signalisation des joueurs (empêcher l’overlapping ) ;
une IA plus maline.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
15/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Pour résumer
Des limitations
Quelques faiblesses, dues au protocole, qu’on a voulu le plus simple
possible.
Des améliorations encore possibles
Notamment :
le système de bonus ;
une meilleure signalisation des joueurs (empêcher l’overlapping ) ;
une IA plus maline.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
15/16
Présentation
Règles et protocole
Messages échangés (rappel)
Détails
Conclusion
Fin !
Y a-t-il des questions ?
Si oui, n’hésitez pas à les poser, c’est le moment !
Figure: Artwork Bomberman.
Lilian Besson
Projet Réseau : un jeu de Bomberman en multijoueur.
16/16