Skip to main content

Architecture et responsabilités

Unity calcule localement les déplacements, rotations, physique, collisions, tirs, détections de touches et dégâts. Les clients sont fiables dans le cadre de ce projet pédagogique ; ils transmettent les résultats de ces calculs au backend.

Le backend conserve l’état partagé et contrôle le cycle de vie : il reçoit les positions et rotations, actualise les joueurs, relaie les tirs, applique les dégâts déclarés, détecte les éliminations, détermine les vainqueurs de rounds, actualise les scores, réinitialise les joueurs et persiste les résultats. Il ne simule pas la physique Unity et ne réalise aucune détection de touche ni aucun raycasting côté serveur.

Ses contrôles restent simples : authentification, appartenance à la partie, phase et round courants, valeurs valides, cible valide et absence de double traitement d’une touche. Les mises à jour d’une partie sont traitées dans un ordre commun afin d’éviter une double élimination ou une double transition.

Voir le modèle public et la machine à états pour la représentation des données et le cycle de vie des parties.