Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Que faire si un joueur quitte définitivement la partie ? #3

Open
gabrielvv opened this issue Apr 7, 2020 · 3 comments
Open

Que faire si un joueur quitte définitivement la partie ? #3

gabrielvv opened this issue Apr 7, 2020 · 3 comments
Assignees

Comments

@gabrielvv
Copy link
Collaborator

gabrielvv commented Apr 7, 2020

Pour le moment si un joueur quitte la page avant que le jeu soit lancé il est normalement bien supprimé des joueurs. Si un joueur recharge la page pendant le jeu elle est automatiquement envoyée au serveur (mais cela ne semble pas fonctionner sur github pages...).

Par contre si un joueur quitte définitivement la partie, il faut décider des mesures à prendre.

@gabrielvv
Copy link
Collaborator Author

@Lucieo est ce que le problème c'est ;

  • que faire si un joueur quitte la partie ?
  • comment détecter qu'un joueur a quitté la partie ?
  • les 2 ?

@Lucieo
Copy link
Owner

Lucieo commented Apr 9, 2020

Les deux en effet

-> Si un joueur quitte la partie avant qu'elle ne commence c'est assez simple on détecte le changement de page, on le supprime de la liste des joueurs de la partie active et on supprime son sketchbook liée à la partie de la base de données. Si il se reconnecte après sur la même partie avant qu'elle commence il reverra le bouton rejoindre la partie / après il verra un message lui indiquant que la partie a déjà commencé pour ne pas perturber le déroulement du jeu. Mais si en pleine partie quelqu'un part je ne suis pas sûre de l'effet qu'il faudrait donner, car en supprimant son sketchbook on perd une partie du travail de groupe et on perturbe les tours mais sans cette personne pour jouer ça ne marche pas non plus... Doit-on arrêter le jeu pour tous? Mais en ces temps de connexion instables c'est pas très fiable ni juste pour les autres. En tout cas en ce moment ça bloque la partie si quelqu'un part car le server attend d'avoir reçu toutes les réponses pour passer au tour suivant... Il faudrait peut être au moins une routine qui nettoie les jeux en attente pour éviter de bloquer tout le monde et supprimer le travail de la personne quitte à bousculer le jeu? On peut en informer les joueurs en front

-> La détection d'un joueur qui quitte la partie était pour moi plus en front, mais est peut être aussi encore un peu bancale je ne sais pas si on peut faire mieux. Je me base sur le useEffect du composant principal de la page Jeu (ConnectedPages/Game/index) en bidouillant avec une fonction cleanup je pense qu'il y a surement quelque chose de plus propre à faire mais je ne trouve pas de méthode à ce sujet.

-> ça me fait aussi penser à la problématique du rechargement de page mais c'est plus front là encore. Je mets une issue à ce sujet en front alors

@gabrielvv
Copy link
Collaborator Author

cf. Lucieo/esquisse-front#1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants