Bonjour,
Je réfléchis à un éventuel futur moteur, et bien sûr j’aimerais récolter vos idées, critiques, lettres au père noël, yeux écarquillés, …etc.
Le moteur se place quelque part à mi-chemin entre Inform, Twine, Seltani, et les MUD/MUSH. Il doit être capable de gérer le multi-joueur, et le multi-protagoniste.
Ce moteur tournera sur PHP5 et MySQL. Il doit être générique et installable facilement sur des hébergeurs gratuits type « free.fr » ou « atspace.com ».
Le front-end sera orienté mobile, probablement avec jquerymobile.
En termes d’interactions, on souhaite limiter au maximum les entrées clavier, donc on fonctionne plutôt par éléments de texte cliquables, qui font apparaître un menu contextuel pop-up permettant de choisir l’action que l’on souhaite exécuter sur l’élément cliqué. L’exception concerne les dialogues, qui se font uniquement par texte entré au clavier.
Les personnages sont laissés en libre-accès, et n’appartiennent à aucun joueur. Quand on se connecte, on choisit un personnage, on joue avec, et quand on se déconnecte, un autre joueur peut prendre ce personnage à son tour.
Pour maintenir une cohérence scénaristique, le background et l’historique des personnages sont accessibles aux joueurs qui les jouent. L’historique d’un personnage retrace ses actions passées et indique quels joueurs ont fait faire ces actions au personnage. Il est possible de « liker » certaines actions que l’on considère comme correspondant au profil du personnage, ce qui fait gagner des points aux joueurs qui ont initié ces actions. Ainsi, les joueurs ayant le plus de points sont ceux qui respectent le plus la personnalité des personnages qu’ils empruntent.
Les déplacements d’un lieu à l’autre se font d’une façon un peu différente de ce que j’ai pu voir dans d’autres systèmes. Plutôt que de rester très bas-niveau, avec un déplacement de lieu en lieu par des passages, on prend un peu de hauteur pour se rapprocher de ce qu’on peut voir dans les films ou séries TV : on ne montre pas nécessairement tous les lieux par lesquels les personnages passent. Au contraire, on se permet de passer directement d’un lieu à un autre (par exemple de la scène de crime à l’appartement miteux d’un indic’ peu fiable) selon les besoins de l’histoire. Par contre dans ce système, certains Lieux sont composés de plusieurs Endroits (hall d’entrée de la banque, bureau du directeur, salle des coffres), ce qui permet de retrouver, si l’histoire l’exige, une disposition géographique à travers laquelle on doit se déplacer. Pour résumer : de Lieu en Lieu, on va où on veut, mais dans un Lieu, d’un Endroit on ne peut aller que vers les Endroits adjacents (si on a la clef de la porte par exemple). Je me demande si je suis bien clair, là.
La syntaxe du langage utilisé pour coder le monde existe déjà, elle s’appelle Semtxt et c’est un sous-ensemble strict de XML. Un éditeur existe déjà pour cette syntaxe (construit sur nwjs). Le code ressemble à ceci :
Vous tenez dans la main [comestible le champignon] que vous venez de ramasser.
Le mot « comestible » collé au crochet ouvrant est un indicateur sémantique. Il indique que « le champignon » est de type « comestible ». L’indicateur sémantique et les crochets n’apparaissent pas dans le texte présenté au joueur, mais l’expression « le champignon » est cliquable, ce qui fait apparaitre le menu contextuel correspondant aux éléments de type « comestible ».
A suivre !