G03 : Scénario d’utilisation et répartition des tâches

Scenario de déroulement d’une partie :

Lancer une partie à plusieurs :

  • L’appli Surface est lancée on y voit une “salle d’attente” sur laquelle il y a un QR Code,
  • Chacun des joueurs disposant d’un smartphone scanne le QR Code pour rejoindre la partie,
  • Lorsque le serveur a enregistré le téléphone, le profil du joueur apparait sur la table,
  • Le bouton de commencement de la partie se dégrise lorsque 4 joueurs sont présents

Jouer une partie :

  • La partie commence avec 4 joueurs, chacun disposant de 2 pions taggués.
  • Partie 1 : Prise des territoires
    • Une zone est attribuée aléatoirement à chacun des joueurs,
    • Chaque joueur répond à un série de questions afin de conquérir un maximum de zones,
    • En fonction de la justesse / rapidité des réponses aux questions, 0, 1 ou 2 territoires sont choisis par les joueurs méritants, dans l’ordre.
  • Partie 2 : Déploiement des armées
    • Chacun des joueurs place ses pions taggués sur ses zones contrôlées.
  • Partie 3 : Conquête du monde
    • Chacun leur tour, les joueurs déplacent un de leurs pions sur les zones adjacentes au pion. Ce déplacement peut être un mouvement du pion sur une zone contrôlée ou une attaque sur une zone ennemie.
    • L’attaque d’une zone donne lieu à une même question qui est posée à assailant et au défenseur, le joueur répondant le mieux à la question (plus juste et plus rapide) gagne le contrôle de la zone disputée.
    • Si un joueur perd une zone sur lequel était stationné un pion, le pion est retiré du jeu.
    • Si un joueur ne réussit pas l’attaque d’une zone, son pion est remis sur sa position précédente.
    • Un joueur qui n’a plus de pions peut continuer à jouer pour défendre les zones qu’il lui reste. Il ne peut cependant plus attaquer.
  • Partie 4 : Fin
    • La partie s’arrête au bout de N tours de jeu ou quand un joueur possède toutes les zones.
    • Chaque zone a une valeur en points, le score de chaque joueur est égal à la somme des valeurs des zones qu’il contrôle.

 

Répartition du travail :

  • Gwenn -> Table surface
  • Jérôme -> application iOS
  • Aurélien -> application Android
  • Bastien -> Serveur

Specifications du projet :

Table Surface

  • Affichage de la salle d’attente initiale
  • Affichage de la carte
    • Affichage de la carte de fond
    • Coloration des zones en fonction de l’appartenance aux joueurs
  • Affichage d’une mini-UI (score, message personnel, GRavatar, meilleur score, classement…)
    • Gestion de la vitesse/physique de l’UI
    • Rotation de l’UI pour etre face au joueur
  • Selection (tactile) des zones que l’on veut controler en début de partie
  • Reconnaît la position des joueurs sur la carte (quadrillage de la carte/zone)
    • Etablissement d’une matrice des zones en utilisant la couche alpha des textures pour déterminer la zone
  • Affiche les zones que le joueur en cours peut attaquer (en fonction de la position de ses pions)
    • Systéme de fléches indicatives
    • Etablissement de la liste des zones mitoyennes a chaques zones
  • Detecte le déplacement de pion sur la table et envoi l’information de déplacement au serveur.
  • Affichage d’un avertissement si un joueur déplace un pion alors que ce n’est pas son tour
  • Affichage d’un avertissement si un joueur fait un déplacement sur une zone non adjacente.
  • Affiche les zones possédées par chaque joueur (une couleur par joueur)
  • Affichage d’UI circulaire affichant les réponses de chaque joueurs à une question
  • Rotation de l’UI de jeu pour faire face au joueur en cours
  • Animation/jolitude sur les objets tangibles(Optionnel)
  • Animation/jolitude sur les attaques/défenses (Optionnel)
  • Textures et animations des soldats (Optionnel)

Smartphone :

  • Ecran d’accueil : Gestion du profil / Commencer une partie (Android, iOs)
    • Gestion du profil : Nom d’utilisateur et photo (Android, iOs)
    • Commencer une partie : Affiche l’écran d’appareil photo pour scanner un QRCode (Android, iOs)
  • Au commencement d’une partie, on envoie les infos profil au serveur via le QRCode (Android, iOs)
  • On s’abonne aux évènements serveur afin de reçevoir les questions (Android, iOs) En fait on récupére les questions émises par  le serveur
  • On envoie la réponse selectionnée et le temps de réponse au serveur (Android, iOs)
  • On peut éventuellement afficher des infos sur les autres joueurs et sur le nombre de terrains conquis (Android, iOs)
  • Ecran de fin ?  (Android, iOs)

Serveur :

  • Gère la connexion de la table et génère un QR Code.
  • Renvoie le QR Code à la table pour qu’elle l’affiche.
  • Gère la connexion des joueurs et ouvre une socket avec chacun d’eux.
  • Si assez de joueurs sont présents, a la table le signal que la partie peut commencer
  • Si la table demande le début de la partie, renvoie le message de début de partie à la table et aux joueurs
  • Envoie les questions aux joueurs concernés (avec un ID de question) et reçoit les réponses + Renvoie les réponses des joueurs à la table et le résultat de leur réponse à chacun des joueurs.
  • Reçois les informations de déplacement des joueurs/sélection de zone de la table et envoie les questions (retour spécification 5).
  • Enregistre les données relatives aux pays possédés par chaque joueur ainsi que la position de ses pions.
  • Base de données de questions
  • Base de données des zones adjacentes a chaques zones
  • Logique de jeu :
    • Contexte de l’application (dans quel mode de jeu on est (phase 1, 2 …)
    • Joueur qui joue
    • zones controllées par chacun
    • score de chacun
    • Quelles zones sont adjacentes à un pion

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *