Concevoir un jeu et le mettre en ligne apporte un énorme plus à son mécanisme... J'en imagine déjà certains faire les gros yeux à cette remarque...
Bon allez je me lance... j'avais envie de faire profiter d'une anecdote et peut-être donner des idées à de nouveaux créateurs... pas spécialisé dans la mise en page sur tric trac... je vais faire ce que je peux...
C'est quelque chose que je remarque souvent... le fait de programmer un jeu me fait changer la règle originelle...
Pourquoi?
Tout simplement par ce qu'en ligne on peut se placer dans la situation de mettre une partie en attente ou alors d'observer une partie ... En la reprenant, ou en l'observant il faut pouvoir savoir à quel moment de la partie on est situé...
De nombreux classiques ont ce problème si on ne leur ajoute pas le matériel adéquat, prenons par exemple les échecs: vous êtes en face de deux joueurs qui jouent sur une table dans un centre commercial et ils sont tous les deux en train de réfléchir... Sans situation "d'échec", sans pendule, à un point avancé de la partie, à moins d'être un mathématicien de génie, dans la plupart des cas le joueur lambda ne sait pas à qui c'est le tour! Rajoutons la pendule et cette vision semble résolue... mais non, le joueur peut avoir positionné sa pièce et il lui reste à appuyer sur la pendule pour valider son coup... et là notre observateur lambda sait bien à qui est le tour, mais ne connait pas finalement la position réelle...(certains joueurs mettent un certain temps, même une fois la pièce lâchée pour valider quand ce n'est pas du blitz).
Pour palier à ce manque, il y a enfin la petite fiche qui retrace l'ensemble de la partie, et qui nous permet de voir si effectivement le coup est validé ou non.
Cet exemple classique nous montre que pour partager sa partie avec des observateurs autours afin 'un peu' de les impliquer, nécessite que le "jeu d'échecs" soit fourni avec pendule et fiche.
C'est un peu comme ca, que je vois l'émergence d'un jeu pour les passionnés (par opposition aux occasionnels). Il se doit d'être aussi, mais pas seulement évidemment, conçu de façon à reprendre une partie, sans se demander à qui est le tour et à quel moment du tour on se place. Ces questions font que du matériel et des règles viennent s'ajouter aux règles initiales. A cela est ajouté, qu'un bon jeu de passionné laisse peu de place au hasard et que toute action du joueur doit être guidée par une volonté de construire une stratégie (ce qui signifie que même le premier coup ne vous induit pas à choisir dans le brouillard, mais que vous avez déjà plusieurs choix décisifs qui s'offrent à vous).
Et c'est là que vient la magie de mettre le jeu en ligne: mettons nous dans le cas d'une reprise de situation de partie.
Lorsque l'on fait un "Refresh" du navigateur, l'ensemble des données de 'situation' sont récupérées du serveur et toutes les variables locales sont réinitialisées... Il faut donc penser à pouvoir remettre en branle ces variables locales grâce au visuel existant (entr'autre)… cela parce qu'on allège le serveur (l'ordinateur lointain qui va contrôler que vous ne trichez pas) … On a pour cela bien sûr un automate qui correspond 'à peu près' aux phases et sous phases de notre jeu, mais bien souvent dans une même sous pĥase d'un bon jeu, on a plein de possibilités (un bon jeu c'est souvent plusieurs choix pour les passionnés… je pense ne pas me tromper en affirmant que la bataille classique des 52 cartes ne rentre pas dans cette catégorie)… et sans des indications du genre 'pion premier joueur', 'positions du matériel',… la recherche devient une usine à gaz.
Dans mon dernier jeu, par exemple, je stipule que le joueur ayant conquis le dernier objectif récupère un bonus de points. Je n'avais pas prévu de matériel pour cela en me disant qu'on se souvient aisément lors du dernier tour qui a conquis ce dernier objectif. Cet événement par contre au niveau informatique nécessite une variable de stockage « c'est lui le dernier joueur a avoir conquis un objectif ». Et bien evidemment , si elle n'est pas stockée dans la base de donnée du serveur (on ne stocke pas tout en base de donnée car les accès sont lents), à un moment de refresh du navigateur détruisant l'historique (équivaut dans la vie réelle à 'je reprends ma partie plus tard sans plus trop me souvenir de ce qui c'était passé avant'), on ne sait plus qui parmi les postulants (c'etait moi… non moi… non moi!) a raison…
du coup… j'en suis venu à ajouter un pion « dernier objectif conquis » avec le bonus indiqué dessus.
... et comme ce n'est pas la première fois que ca m'arrive... je me suis dit... allez... un article !