Le Spectre

Le Spectre fait partie des applications informatiques de l’association. Il s’agit d’un programme dont le but est de venir seconder, assister, épauler les organisateurs de Murder Party, et de les décharger d’une partie des tâches fastidieuses, pour qu’ils puissent d’une part se concentrer sur les points les plus importants en veillant au plaisir des joueurs et au bon déroulement de la murder party, et d’autre part pour leur permettre de gérer au mieux ce genre de divertissement même en nombre réduit.

I) Objectifs

Le Spectre ne doit pas être spécifique à une murder party. De ce fait, il doit être suffisamment générique pour s’adapter à différents types de MP.
A terme, il devra décharger les organisateurs

  • de la gestion des indices
  • de la gestion des actions
  • de la gestions des éventuels pouvoirs

Il doit laisser néanmoins la main aux organisateurs pour se tenir informés de tout ce qui se passe, mais également pour modifier en temps réel certaines informations.

II) Fonctionnalités

Module de connexion

Trois pistes sont envisagées, les trois présentant un intérêt.

  1. Un système de login / mot de passe avec un formulaire de saisie
    Il s’agit tout bêtement d’un formulaire d’accès comme on en voit sur la plupart des applications.
    L’avantage : aucun coût en matériel, applicable dans n’importe quel contexte.
    L’inconvénient : nécessite une saisie manuelle à chaque connexion, risque d’erreur de saisie, d’oubli éventuellement…
  2. Un système de reconnaissance d’images au dos d’un badge
    L’idée serait d’utiliser une image au dos des badges des personnages. Une webcam intégrée au portable utilisé capturerait l’image du badge, l’analyserait, et donnerait automatiquement accès à la page réservée au joueur associé au badge. L’idée de base est celle du code barre, ou plus récemment des codes insérés dans les affiches publicitaires.
    L’avantage : pas de saisie, accès rapide.
    L’inconvénient : nécessite de disposer d’une webcam, et de développer un module performant en reconnaissance d’image.
  3. Un système de badge électronique
    Il s’agit là d’utiliser des petits badges ou des cartes magnétiques, avec un lecteur qui permettrait de connecter le joueur à la page qui lui est réservée.
    L’avantage : accès rapide, pas de saisie, pas de gestion compliquée ni de traitement d’images.
    L’inconvénient : nécessite d’investir dans du matériel ( badges + lecteur ), rend dépendant au bon fonctionnement du matériel, obligation de reconfigurer systématiquement les badges.

On peut envisager de proposer les trois solutions éventuellement.

Eléments de base

  • Le joueur
    – Code ( unique )
    – Nom
    – Prénom
  • Le personnage
    – Code ( unique )
    – Nom
    – Prénom
    – Liste de pouvoirs ( par leur code )
    – Liste d’actions ( par leur code )
    – Nombre de points spéciaux
    – Nombre de points d’actions
    – Liste d’indices de départ ( j’insiste sur le départ, il ne sera pas géré l’échange d’objets entre joueurs pour éviter d’alourdir le processus. Supposons qu’un joueur, sans pouvoir ou sans action, donne un de ses objets à un autre, cela doit se faire sans passer par l’ordinateur. L’objet aura un statut Hors lieu pour indiquer qu’il est en possession d’un joueur, mais c’est tout ).
    On notera que la liste des pouvoirs et des actions doit pouvoir contenir une partie masquée, en cas de déblocage de pouvoirs ou d’actions en cours de Murder Party
  • Le lieu
    – Code ( unique )
    – Intitulé
    – Etat ( caché ou non )
    – Liste d’indices ( par leur code )
  • L’indice
    – Code, ( unique )
    – Intitulé
    – Etat ( accessible, spécial, caché )
    – Descriptif
  • Le pouvoir
    – Code ( unique )
    – Intitulé
    – Descriptif
  • L’action
    – Code
    – Intitulé
    – Descriptif

A cela s’ajoutent
– une table de correspondance ( Pouvoir – Personnage ) => coût en PS et/ou éventuellement nombre d’utilisation
– une table de correspondance ( Action – Personnage ) => coût en PA et/ou éventuellement nombre d’utilisation

Page d’accueil du joueur une fois logué

Un joueur lambda accèdera à sa page, lui permettant :

  • d’accéder à son dossier
  • éventuellement d’accéder à un résumé d’informations importantes ( gens connus, objectifs, dates importantes… )
  • de savoir de combien de points d’action il dispose si les PA sont utilisés
  • de savoir de combien de points spéciaux il dispose si les PS sont utilisés
  • de savoir combien de fois il peut encore utiliser ses actions
  • de savoir de combien de fois il peut encore utiliser ses pouvoirs
  • d’utiliser une action ( le nombre de PA / d’utilisation décroit en accord avec les règles établies )
  • d’utiliser un pouvoir ( le nombre de PS / d’utilisation décroit en accord avec les règles établies )

En cas d’utilisation de pouvoirs ou d’actions, le joueur sera notifié du résultat, ou sera renvoyé vers l’organisateur. Un éventuel code ou une preuve écrite à imprimer pourra permettre de gérer les ordres de priorité, et de signaler à l’organisateur que la tâche a bien été validée.

  • de donner éventuellement des PA / PS à un autre joueur si cela est autorisé par les règles
  • d’avoir un historique de ses opérations
  • de fouiller une pièce
    Cette dernière opération propose plusieurs options
    – Prendre connaissance d’un indice
    L’indice en question s’affichera à l’écran.
    – Récupérer un indice
    On proposera au joueur de récupérer l’indice ( avec impression éventuelle en cas de document écrit ou non matérialisé ). Dans ce cas, le lieu associé à l’indice deviendra “Hors Lieu”, autrement dit ” possédé par un des joueurs” comme tous les accessoires dont les personnages sont équipés en début de partie.
    – Déplacer un indice
    On propose au joueur de le déplacer à un autre endroit.

Page d’accueil des organisateurs

La page des organisateurs offre un grand nombre d’options à ces derniers.

* Une partie back office permettant de configurer la murder party

Cette phase de configuration doit pouvoir se faire :
– Par import d’un fichier xml correctement formaté, éventuellement produit par un autre outil de l’association ( l’Encrier, ou le Spectre lui-même ), et qui permettra de peupler la base de données avec les informations de démarrage
– Par saisie manuelle des paramètres, qui doivent produire à la fois des datas stockées en base de données, et le fameux fichier XML de démarrage, qui pourra être utilisé lors d’une autre session. Attention toutefois, il doit y avoir une option pour ne pas enregistrer la saisie d’un nouvel élément dans les datas officielles de démarrage : un joueur peut décider d’avoir sur lui un indice de son cru, non prévu, mais signalé au briefing, et on pourra souhaiter l’inclure dans cette session sans pour autant vouloir modifier le XML de démarrage de la murder en question pour les sessions futures )
On définit lors de cette étape :

  1. Les actions et les pouvoirs, avec leurs coûts
  2. Les lieux
  3. Les indices et les lieux dans lesquels ils se trouvent au départ ( à noter que les indices possédés par les joueurs sont Hors lieu )
  4. Les personnages, avec la liste de leurs pouvoirs, de leurs actions, et les indices qu’ils possèdent au départ
  5. Les règles du jeu
    Cette partie est encore un peu confuse, cela va se définir au fur et à mesure, mais les règles peuvent comprendre :
    La diminution ou l’augmentation des PA / PS à une heure donnée, ou à délai donné ( toutes les heures, par exemple ). Il peut s’agit d’un nombre donné, ou d’un nombre variable dont la valeur suit une règle pré-établie ( augmentation de n où n est le nombre d’heures écoulées, par exemple ).
    L’activation de certains lieux, de certains pouvoirs, de certaines actions suivant une condition facile à paramétrer ( heure fixe, délai, nombre de points qui atteint un seuil, action ou pouvoir utilisé… )

* Une partie gestion qui permet de garder le contrôle de la murder party

L’objectif est cette fois de pouvoir effectuer des opérations pendant la murder party. Cela inclut notamment :
– Un lien d’accès à tous les dossiers
– Un lien vers le rendu de chaque interface de joueurs ( possibilité de voir ce qu’un joueur donné voit en accédant à sa page – avec possibilité d’interagir à sa place, en notifiant – par défaut – ou non sur son historique le détail de l’opération )
– La possibilité de rajouter manuellement un élément de jeu ( indice, action, pouvoir, personnage, lieu… ) ou d’en changer les propriétés ( déplacement d’un indice, par exemple, ou autorisation d’accès à un lieu )
– Une option de recherche pour savoir où se trouve un indice donné
– Un historique de toutes les opérations enregistrées par le Spectre
– La possibilité de sélectionner un certain nombre de personnages ( ou tous ) et de leur appliquer une opération ( perte de PA, perte de PS, gain de PA, gain de PS, en absolu ou en relatif )

Les informations d’historique du Spectre doivent pouvoir être sauvegardées pour les études ultérieures, les modifications à apporter à la murder party, etc…

Voilà, pour l’instant, c’est ce que je vois. Ce document sera updaté en fonction des besoins qui pourront se faire sentir.
Ce serait pas mal de mettre en place un système de partage du code si on travaille à plusieurs dessus, et de mettre en place une base de bugs ( au hasard, mantis me semble pas mal… ). Je peux m’occuper de la seconde partie. Surtout que le Spectre ne sera pas notre seul atout informatique 😉