Skip to content

Cahier des charges

Fleury Malik edited this page Apr 2, 2019 · 4 revisions

But du projet

Réaliser un party-game multijoueurs en ligne en temps réel qui, à l'image d'un blindtest, vise à faire deviner aux utilisateurs connectés la source d'un média quelconque. Les utilisateurs sont dans un salon commun qu'ils peuvent créer et répondent aux mêmes questions en même temps. Un classement est établi en fonction de la vitesse de réponse de chacun.

Logique de jeu

Lorsqu'une partie démarre, une citation, une phrase ou un média est affiché à l'écran, les joueurs ont donc un certain temps (15 secondes par défaut, peut-être paramétrable pour le salon) pour trouver de quelle source provient cette phrase/image/etc :

Le joueur entre sa réponse sous forme de texte dans un champ prévu à cet effet :

La réponse fournie par l'utilisateur sera analysée et sera légèrement permissive sur l'orthographe. Par exemple, la casse, les déterminants et les espaces ne seront pas pris en compte et la phrase sera tout de même acceptée si une ou deux lettres diffèrents.

Questions posées

Le jeu de questions posées aux utilisateurs est défini à l'avance selon une catégorie (un thème) liée au salon lors de sa création. À chaque manche, une question est piochée au hasard dans la liste de questions sélectionnées en s'assurant qu'elle n'a pas été posée auparavant (dans la même partie).

Début d'une partie

Une partie commence lorsque le créateur du salon le décide. Lorsque que le salon est créé, les utilisateurs peuvent le rejoindre tant que le créateur du salon ne démarre pas la partie. Lorsque la partie est démarrée par le créateur, les joueurs ne peuvent pas rejoindre la partie avant le prochain tour. De manière générale, les joueurs rejoignant le salon en cours de partie devront attendre le tour suivant pour émettre une première réponse.

Fin de partie

Une partie se termine lorsqu'un joueur a atteint le score maximal définit par le créateur du salon.

Durée d'une partie

La durée d'une partie dépend du nombre de points maximum à atteindre pour gagner, du niveau des joueurs et du temps alloué aux joueurs pour répondre aux questions. Elle est de fait directement paramétrable par les joueurs directement.

Spécifications

Fonctionnalité du jeu

  • Afficher les gains de point à chaque tour.
  • Afficher le classement des joueurs

Gestion du contenu

  • Ajout de questions par les utilisateurs
  • Signalement de questions
  • Page admin qui répertorie les signalements

Question

  • Sous forme de texte (citation)
  • Sous forme d'image

Fonctionnalité salon

  • Création de salon
  • Choisir la difficulté
  • Définir un nom de salon
  • Définir un score de fin de partie.
  • Création de salon publique/privé (bonus)
  • Minimum 2 joueurs dans un salon pour lancer une partie.
  • Définir la catégorie

Bonus :

  • Création de salon non-répertorié (ID random mais accessible, non listé)
  • Multi-langues
  • Difficulté des questions
  • Question sous forme de son
  • Question sous forme de vidéo
  • Chat textuel dans le salon
  • Possibilité de définir un maximum de joueurs

Partie technique

  • Utilisation du framework Django
  • Utilisation de bootstrap pour le frontend
  • Pas d'utilisation d'autre framework particulier (sauf si besoin spontané)
  • Une relations n-n. Ici plusieurs questions peuvent correspondre à plusieurs catégories.