Un public pour les MUDs francophones??

Bonjour à tous -

Je trouve personnellement ces reflexions autour des M.U.D très interessantes, mes convictions personnelles étant que les M.U.D sont une extraordinaire forme d’expression et de construction d’un univers, peut-être ce qui se rapproche le plus d’un Jdr papier. J’ai toujours été attiré par ces derniers et j’en ai moi-même joué plusieurs, jamais très longtemps malheureusement. Pas assez de possibilités… Un code malpropre et des technologies vieille de cents ans… etc, etc.

Tout ça pour dire que si jamais un gros projet de M.U.D devrait naître sur ce sol, j’y prendrais part avec plaisir. Mes compétences pêchent un peu sur le coté on-line, mais je peux aider pour le reste et y apporter, si ce n’est une expérience réelle, un enthousiasme beau à voir.

Ca fait un moment que je m’interesse aux MUDs car j’aimerais beaucoup en monter un, mais ce m’interesse là dedans c’est justement la constitution d’un univers.
Même si (ou bien « Surtout parce que ») j’ai fait de la programmation mon métier, ça ne m’interesse pas de recoder depuis zero un moteur de MUD, ou de modifier très lourdement un vieux moteur existant. Ce que je veux, c’est prendre un moteur bien foutu et facilement expansible, et créer mes zones, mes PNJs… puis coder bien sûr, coder de nouvelles compétences, etc, mais coder du jeu de rôle, pas du technique pur (gestion de réseau et tout… très peu pour moi).
Il faudrait aussi que le moteur repose sur une licence pas trop restrictive.

Pour l’instant, je n’ai pas trouvé de moteur correspondant vraiment à mes attentes.

Bonjour,
je remonte ce topic avec ce nouvel accompte puisque mon ancien (Deidril) m’est inaccessible :confused:

Je travaille au renouvellement d’Ensimud depuis quelque mois et j’essaye d’obtenir quelque chose qui se rapproche le plus possible, au niveau rendu du texte, de l’IF. Si on met de coté les règles de jeu qui concerne essentiellement du design, le gros problème d’un mud orienté IF se résume à ceci :

A] problème d’incohérences pour les objets du scénario.

 Exemple concret : Si Aragorn ramasse la clef de la crypte sur la table de la grande salle, est ce que quand Gandalf arrive :
  1) Cette clef n'est plus là puisqu'elle est dans la poche d'Aragorn
  2) Cette clef réapparait automatiquement après X secondes/minutes ( respawn )
  3) La clef n'a jamais été visible. Elle est obtenue quand on fait 'examine table' et va se ranger directement dans les objets de quêtes
  4) Gandalg et Aragorn sont dans 2 instances différentes
  5) Les objets de scénarios sont sur les corps de monstres.
  ...

B] problème des ‹ portes › : les portes peuvent être fermées , ouvertes, cadenassées ( ou non ) , cassée. Dans une IF le problème se pose moins car il y a en général 1 solution pour franchir une porte, et on arrive souvent toujours du même coté de la porte… Dans un mud, on doit pouvoir disposer de 3 moyens pour franchir ces obstacles :

1) La méthode bourrin ( je force la porte )
2) La méthode 'talent' ( j'ai des outils de voleurs, je crochète )
3) La méthode scénario : ( J'ai la clef de la porte )

Le problème est que dans un mud, les zones sont rarement visité selon une trame/arborescence scénaristique pour la simple raison que l’exploration doit demeurer un aspect du jeu. On peut donc se retrouver devant n’importe laquelle des 3 entrées d’une pièce qui contient l’escalier pour accéder aux souterrains. Mais une fois la porte franchie, celle-ci doit demeurée (ouverte/crochetée/forcée) des deux cotés. Il faudrait donc extraire l’objet porte d’une ‹ piece › pour la situé dans un non espace qui contient toutes les portes, et faire pointer chacune des deux cotés de la porte vers cet objet.

C] problème de l’exploration : La virtualisation d’un espace en pièce c’est bien pour les zones scénarisées, mais pour l’exploration du monde dans son ensemble c’est un peu limite. Ca fait pas mal d’années que les muds sont passés au système ‹ wilderness ›, c’est à dire avec une représentation de la carte du monde en ascii art , et ou chaque déplacement génère temporairement une pièce dont le contenu dépend du terrain indiqué à cette coordonnée de la carte.

Le problème c'est qu'aucun mud à ce jour n'a résolu le problème de l'ennui de ce système, car voyager d'un endroit à un autre via le wilderness est profondémment ennuyeux. Soit il ne se passe rien et on met 30 mn à parcourir 300 cases qui sont les memes ( chemin / foret / chemin / chemin / foret ... ) , soit il y a un module de rencontre aléatoire et on se tape X brigands, Y gobelins qui n'ont soit que peu d'intérêt au niveau combat, soit deviennent une nuisance qui empeche à un joueur d'accéder à du contenu intéressant : une zone scénarisée. 

Pour résoudre ce problème, ainsi que pas mal d’autre j’en vient à concevoir l’univers virtuel non pas comme un graphe de pièce reliée entre elle ( qu’elle soit générée à la volée lorsqu’on parcoure une carte ou qu’elle soit scénarisée dans une zone ) mais comme un ensemble de ‹ lieux › qui peuvent former une arborescence.

Ex: La forêt est un lieu vaste, et elle comprend des sous lieux comme la cabane de Charles et la mines des gobelins qui sont visibles à une distance D. Elle comprend des ‹ sentiers › que l’on peut suivre. Le voyage se fait en indiquant une direction et une durée, ou bien en suivant un ‹ sentier ›. Le programme détermine si une rencontre aléatoire a lieu durant la durée du trajet ou si le groupe à un moment donnée repère un sous lieux ou croise une entité résidente de la forêt. Les lieux seraient symbolisés par des polygones ( ou des rectangles ). Mon problème est que je n’ai pas trouvé d’éditeur pouvant me permettre d’éditer ce genre d’arborescence de lieux. Il existe bien des éditeurs vectoriels mais aucun ne permet de les lier à une structure et d’en éditer les paramètres. ( ou tout au moins de les nommer ).

D] Pour le reste, j’ai décider que :

  • Le mud est orienté combat tactique , énigme/Exploration de lieux , simulation de vie des personnages
  • Pas de craft ou de système d’artisanat.
  • Pas d’attente de régénération: Soit on meure en explorant soit on rejoint un ‹ camp › ou on peut se régénérer contre de la nourriture.

Voilà, si vous avez vos opinions sur le sujet, elles sont les bienvenues.

Je suggère de considérer l’approche suivante : Si on met de coté les points d’expériences et qu’on considère uniquement les trésors ( objet d’équipement, livres de sorts etc ).

Les monstres lambda tombent des objets standard / faiblement magiques
Les boss tombent des objets magiques moyens
Les récompenses du scénario donnent des objets magiques puissants

Ainsi un joueur qui se tape la Moria pourra repartir avec un ensemble prit sur le corps des gobelins & orcs, voir un fouet de balrog. Mais s’il aide le campement souterrain des nains et effectuent les 8 quêtes qui l’ameneront à résoudre les 8 ‹ ailes › de la moria, alors il repart avec un set en mithril bien plus intéressant.

A partir du moment ou il est fortement intéressant pour un joueur de terminer une histoire, tu penses bien qu’il va se bouger un peu…

salut Deidril/Iria,

voici mon avis de joueur pressé qui ne prend pas toujours le temps d’explorer à fond les divers concepts de jeux qu’il a pu tester :

tes interrogations et recherches formelles me semblent justifiée. Dans beaucoup de MMORPG, ce que je déteste c’est vraiment le manque d’immersion. Dans tous ceux que j’ai pu tester, on arrivait toujours avec des joueurs qui transforment le jeu en gigantesque marché aux puces. De plus, la structure des « quêtes » (comprendre cassage de monstres ou récupération d’objets) sont généralement très répétitives et peu axées sur la collaboration (sauf pour « buter les boss »). Par contre ce que j’ai apprécié un peu plus dans planeshift.it/ c’est la volonté de roleplay de la plupart des joueurs, et quelque chose d’intéressant est la présence de MJ qui viennent jouer des rôles. Malgré tout planeshift aussi tombe dans les travers de la plupart des MMORPG avec la nécessité de faire du « levelling », ou d’attendre que les monstres se régénèrent pour gagner des XP.

Je me demande s’il ne serait pas possible de mélanger un peu les deux, à savoir avoir un monde cohérent, avec des objets qui vont et qui viennent (peut-être y aurait-il moyen d’encourager leur circulation), et diverses quêtes de base pas forcément intéressantes mais qui pourraient occuper les joueurs. Et de temps en temps permettre à des modérateurs / MJ de participer et de jouer des PNJ pour ajouter des quêtes plus intéressantes et riches en événements. Les quêtes pourraient être faites en petits comités (genre 10 joueurs max par instance de jeu), un peu comme pour celles de Guild Wars, qui débloquent de nouveaux lieux. Cela serait entre un MUD, une IF (genre qques quêtes solos) et un jeu de rôle par irc… si c’était possible.

Mon opinion est qu’il faut séparer roleplay et immersion.

En ce qui concerne le roleplay, je pense que la majorité des roleplayers sont lamentables et sont guidés par leurs émotions de la vie réelle. Tu te retrouve généralement avec :

1) Le syndrome Alliance des Seigneurs, pour reprendre le nom d'une guilde présente dans la majorité des MMO: Un tas de gars/nana qui s'appelle Sire XXX et Dame XXX, qui parle en langage soutenu, et qui de temps en temps vont te dir que s'ils sont dans ce donjon c'est parceque la population a vraiment besoin d'aide... Je n'en ai jamais vu assumer le fait de tuer un dragon pour la gloire ou pour prendre son trésor pour retaper son chateau.
  1. Le syndrome evil : je pille/tue/casse tout

  2. Le syndrome ma famille a été tué par les orcs et je me venge.

Avec ça tu as 99% du roleplay … Tu ne verra pas de voleur qui jure comme des charretier, de chevalier brigand à la sandor clegarne, de prêtre corrompu etc … Je pense que le roleplay tu ne l’aura jamais sur un jeu en ligne, mais seulement sur table, avec des joueurs choisits. Et encore faut-il que ca soit autre chose que la masturbation mentale qu’on voit dans les parties de vampires tenus par des ados amoureux de leur 5 pages de background insipides et incapable de faire l’effort de jouer un combat selon les règles en prétextant que ça n’est pas du jeu de rôle mais du gros billisme…

Mais Giana le racontera mieux que moi :

http://thenoobcomic.com/daily/strip194.html
http://thenoobcomic.com/daily/strip248.html

Et d’autre part tu as l’immersion :

  • des noms de persos qui collent à un thème
  • des interactions personnages/objets développées au maximum ( s’assoir sur une chaise, prendre un bain … ) et qui sont mits régulièrement en avant dans les quêtes. ( Devoir s’assoir avant que le prêtre qui raconte la légende dans laquelle il y a l’indice ne commence son récit … )
  • des systèmes sociaux ( court du roi, guilde de voleur ) dans lequel le personnage peut évoluer et grâce auquel le personnage peut prétendre être quelque chose.

L’immersion doit correspondre aux personnages. Tu ne peux pas avoir des tueurs de dragons qui dorment systématiquement dans des auberges. Il te faut donc développer l’immersion pour que la vie d’un personnage colle au maximum avec leur rôle. En fait, je pense qu’il faudrait un programmeur dédié à cette tâche…

Pour ce qui est des quêtes avec Roleplay, tu n’as pas de souci à faire. Les joueurs font très vite le rapprochement entre ‹ un npc qui parle subitement comme un humain › et ‹ une récompense de quête bien au dessus des objets de boss de raid ›. C’est le réflexe de pavlov qu’il te faudra instaurer. Une fois ça fait, tu peux être sur que les joueurs démareront au quart de tour pour les quêtes RP. Mais tu aura souvent le niveau de roleplay décrit ci-dessus avec ton trio Seigneur/Evil/Vengeance qui couvrira l’intégralité de tes joueurs.

Bizarre, je joue pas mal à Multimud et je vois très peu de seigneurs (quelques uns mais qui assument bien leur rôle), les gens qui veulent faire les méchants ça c’est sûr on en trouve pas mal, quant au dernier, jamais vu…

Moi je joue un sylvain qui fait tout pour défendre la zone des sylvains contre les xpeurs fous, on a des navigateurs explorateurs de l’océan et chasseurs de pirates, des maris et femmes fous amoureux qui élèvent leurs bambins… Et puis ceux qui ne font pas de RP du tout mais visitent l’univers et tuent des monstres, ce qui n’est pas spécialement mal non plus si c’est leur choix de jeu.

[Edit] En revanche on a pas de mal de gens qui méprisent ceux qui ne font pas de RP, pour moi ce sont les pires.

Dans ce cas Stormi je te souhaite de continuer à évoluer dans cet environnement.

C’est peut-être lié au fait que ce n’est pas un MMORPG mais un MORPG (max 40 connectés en simultané les jours de grande fréquentation).

En fait les pires sont souvent ceux qui veulent justement à tout prix du RP et qui te snobent si ton jeu n’est pas assez RP pour eux.

J’ai connu dans un MMORPG des moments de roleplay largement au-dessus de ce que j’ai connu avec le jeu de rôle sur table, même si ces moments furent rares. Mais bon, je comprends que le roleplay n’est pas l’objectif de ce MUD, d’autant que cet objectif aurait tendance à prendre le pas sur tous les autres. Je signale juste que ce n’est pas strictement impossible, et encore moins ennuyeux.

et par curiosité, même si l’expérience agréable n’était pas forcément causée par le jeu en lui-même, c’était quel MMORPG ?

C’était World of Warcraft.

J’ai vécu comme JL des moments très forts en RP sur internet, notamment sur La 4ème prophétie et Ultima Online. J’imagine que ça peut très bien arriver sur un MUD aussi, à condition qu’on ne force pas la main aux joueurs. Ce que dit Stormi me rappelle la malheureuse évolution des serveurs UO privés ces dernières années. La mode du RP est telle que les admins sont tres exigeants à ce sujet et que participer à certains serveurs relève désormais de la corvée pour ceux qui ne veulent que passer du bon temps entre amis.
Le RP doit être encouragé mais pas obligatoire… (et ne pas hésiter à calmer ceux qui réprimandent ceux qui ne font pas assez de RP à leur goût :wink:).

Par contre au niveau des quêtes, et même si c’est interessant car c’est là que les MUDs et les IFs se rejoignent, je me demande si ce n’est pas bcp de travail pour pas grand chose sur un MUD? C’est à faire, bien sûr, cela apporte un plus évidemment… mais j’ai du mal à imaginer un serveur qui place ses quêtes parmi ses points forts, tout simplement parce qu’il faut beaucoup plus de temps pour écrire/coder une aventure que pour la résoudre (si elle est bien faite en tout cas =).
Pour moi ça reste un point secondaire, et je mettrais beaucoup plus l’accent sur la sensation d’immersion dont parle Iria.

Dans Multimud mon clan crie « Pan » dès que quelqu’un utilise le mot RP (ce qui ne signifie pas qu’on soit contre) :slight_smile:

Je bosse sur la syntaxe des fichiers des zones de jeu.

Ma première version utilisait l’XML. Le problème est que je passais plus de temps à écrire les balises qu’à écrire le scénario. J’ai alors penser à utiliser un éditeur XML voir un éditeur en HTML. Le problème c’est que cela restreignait grandement la possibilité d’écrire du code scénaristique … ( si ouvre la porte, alors … )

Une conclusion de ce premier essai est que le format de zone doit permettre de passer plus de temps sur l’écriture proprement dit que sur le balisage et la syntaxe du langage. Elle doit être simple au possible pour permettre à un non programmeur de l’utiliser.

J’ai donc regardé la syntaxe des informs. J’ai décider de privilégier inform6 au profit du 7 car je trouve que la syntaxe en langage libre du 7 me semble

  1. cosmétique
  2. plus complexe à reprendre pour un analyseur.

Qu’en penser vous ?

Cependant, utiliser des séquences en langage libre pour clarifier l’objectif d’une section du fichier de zone m’a paru intéressant. J’en suis donc arrivé à écrire ce petit exemple.

Zone -> orphalyss_lonely_tower

     # Commentaire

     world 1 , idnum 3 ,
     name_fr "La tour abandonnée de Nardell" , 
     name_en "The lonely tower of Nardell" ,

     desc_fr "Une tour abandonnée à la sortie de Nardell. On la raconte hanté par le fantôme d'un chevalier." ,
     desc_en="An lonely tower near Nardell. It is rumored haunted by a knight ghost." ;

#
# Section de description des pièces
#

In orphalyss_lonely_tower, Rooms are

   Room -> entree
   
    idnum 1 ,
    name_fr "Devant une vieille tour" ,
    name_en "in front of an old tower" ,
    desc_fr "Une vieille tour de pierre s'élève en bordure du chemin. Elle s'élève à une dizaine de mètre au dessus du sol."
            "La construction est dans un état de délabrement avancé. De nombreux débris des étages supérieurs jonchent le sol."
            ,
    desc_en "An old stone tower has been built along the path. It rise about 10 meters above the floor."
            "The building is in poor shape. Several stones fallen from the upper floors lie here."
            "The entrance is an heavy and massive door."
            ,

    Exit -> entree_de_la_tour
      
      door use instancied orphalyss_lonely_tower.porte_entree ,
      actions_fr "est, entrer [[dans] [la] tour], passer [la] porte" ,
      actions_en "east, enter [[the] tower]" ,
      
      to_room 2 ;

   ;

   Room -> hall

     idnum 2 ,
     name_fr "Hall de la tour" ,
     name_en "Tower Hallway" ,

     desc_fr "L'entrée de la tour occupe toute la base de la construction formant ainsi une large pièce."
             "Les peintures des murs sont maintenant délavées mais laissent suggérées que la pièce fut autrefois décorée avec soins."
             "Trois escaliers sur les cotés mènent à trois portes de pierres." ,

     Exit -> sortie de la tour

      # c'est une sortie type 'porte' et son descriptif est dans l'objet porte_entree
       use as door instancied orphalyss_lonely_tower.porte_entree ,
       actions_fr "ouest, sortie [de [la] tour], passer [la] porte" ,
       to_room 1 ;

     Scenery -> peintures  # partie intégrante de la pièce avec la quelle on peut interagir

        already_in_desc , # deja dans la description
        use orphalyss_lonely_tower.peintures_hall
     ; 

    Scenary -> chevalier_dans_la_peinture

        already_in_desc , hidden , # l'objet n'est pas accessible à l'interaction tant qu'il n'est pas révélé
        use orphalyss_lonely_tower.peintures_hall ,
    ; 

        
       
        

;

In orphalyss_lonely_tower, items are

    Door -> porte_entree ,
        idnum 1 ,
        closable ,  # la porte peut être fermée        
        
        dc_break 30 ,
    
         name_fr "une massive porte de bois"
      ;

    Scenery -> peintures_hall

       name_fr "des peintures" ,
       desc_fr "Les peintures sont délavées, et par endroit, ont totalement disparues. "
               "Cependant, vous comprenez qu'elles représentent des scènes de batailles mettant en scène"
               "les forces du bien et du mal. Parmi les combattants, un chevalier attire particulièrement votre attention." ,

       Scenery -> chevalier_dans_la_peinture    # un sous objet de l'objet peintures_hall

         name_fr "un chevalier" ,
         desc_fr "Ce chevalier en armure porte l'antique blason de Nardell. Ce doit être le chevalier de la tour. "
                 "En dessous, brodé dans un encart, vous lisez un nom: 'Siegnurd'"

        after_exa [
            execute actor.quests.lonely_tower.know_the_name ;   # execute le script know_the_name de la quete lonely_tower 
        ]

   

    ;
;

When orphalyss_lonely_tower is instancied

     CreateDoor -> la_porte_entree  # nom de l'instance de la porte

        use porte_entree ,
        as entree.entree_de_la_tour identified as inside , # cette porte correspond a l'entree de la tour dans la piece 1 
        as hall.sortie identified as outside , #et a la sortie dans la pièce 2 
        
        closed ,
    ;
;

Mes conditions sont:

  • pouvoir mettre des commentaires
- permettre d'inclure la description en anglais ( ou autre langue ) , donc que les chaînes de caractères doivent supporter des suffixes _fr, _en, etc ...
  • les idnums sont nécéssaire pour les sauvegardes de positions. Comme le monde est dynamique ( patch, ajout de zones), je ne peux pas faire un dictionnaire identifiant => numéro qui sera assuré de ne jamais changé.

Cette étape me semble la plus importante dans la réalisation d’un mud IF car c’est le format qui donnera les possibilités du jeu en terme d’immersion.

Si vous avez des opinions sur le sujet …

Qu’entends tu par « cosmétique » ?
Sinon, pour le coté plus complexe à reprendre par un analyseur, je suis tout à fait d’accord ! Malgré tout, selon le type d’interpréteur, inform 6 pourrait bien se prêter à l’écriture de MUDs, les points communs entre MUD et IF étant nombreux. Toutefois, l’exemple que tu proposes n’est pas mal non plus. Inform 6 ne permet pas, à ma conaissance, de mélanger deux langues différentes. C’est ensuite une question de logiciel et d’interprétation pour la mise en ligne…

je pense qu’il veut dire par cosmétique que cela peut être un peu superflu si on compare la syntaxe avec inform6, qui est plus concise. Je suis d’accord aussi que cela ne doit pas être de la tarte à analyser. Si les sources d’inform 7 sortent, peut-être que cela serait plus facile de réutiliser cette syntaxe ?

C’est une bonne idée de permettre la traduction de chaînes de texte dans la source. La syntaxe n’est pas mal, par contre je me demande si c’est bien nécessaire d’utiliser ces virgules et points virgules de cette manière. J’ai tendance maintenant à préférer les syntaxes plus marquées, par exemple dans I7 il est possible de créer des genres de rubriques pour les objets importants (chapter 1 - Tools etc), et avec la coloration syntaxique et les raccourcis avec l’explorateur de code, cela va bien pour passer d’une section à l’autre (juste une petit suggestion, mais sinon ta syntaxe va sans doute aussi bien que du code Inform 6)

Par cosmetique je veux dire que la syntaxe en langage naturelle n’apporte pas plus ou moins de liberté que la syntaxe formelle d’un langage de programmation puisque la documentation d’inform 7 explique bien qu’il faut utiliser tel ou tel construction de phrases plutot que tel ou tel qui ne seront pas comprise ou mal interprété.

En ce qui concerne la syntaxe des zones, nous sommes arrivés à une syntaxe plus marquée et très libre possible quand à la tabulation. Je posterai un exemple en revenant des vacances et des que nous sommes arrivés à une première version fonctionnelle.

la liberté tout de même c’est de pouvoir organiser son code comme on veut, par exemple dans I7, je peux écrire l’organisation des lieux avant leur description, permettant de tout grouper dans un bloc et d’avoir une meilleure vue d’ensemble :

[code]Section 1 - Plan des rues

RuePavee11 is west from RuePavee12.
RuePavee12 is west from RuePavee13.
RuePavee14 is east from RuePavee13.
RuePavee15 is east from RuePavee14.

RuePavee23 is south from RuePavee13.
PlaceFontaine33 is south from RuePavee23.

RuePavee21 is south from RuePavee11.
Place31 is southwest from RuePavee21 and west from RuePavee32.
RuePavee32 is west from PlaceFontaine33.
RuePavee34 is east from PlaceFontaine33.
RuePavee43 is south from PlaceFontaine33.

PlaceSudVillage is south from RuePavee43.
RuePavee41 is west from RuePavee43.

MaisonMagicien is inside from Place31.
MaisonMagicien is north from Place31.

MairieVillage is northwest from Place31.

Section 2 - Descriptions des rues

The printed name of RuePavee is « Ruelle pavée ». [note : c’est une classe ici]
The description of RuePavee is « Une rue pavée. ».
Understand « rue/ruelle/pavee/pave/paves » as RuePavee.

The description of RuePavee11 is « Un angle de rue, allant au sud vers une place, et à l[‹ ]est en direction de l[ ›]auberge. Une ruelle étroite au nord-ouest donnait sur l[']extérieur de la ville. ». [note : c’est une surcharge de classe pour la description, en remplacement de celle de base]

The description of RuePavee12 is « La ruelle se prolongeait à l[‹ ]ouest vers une bifurquation, et à l[ ›]est vers l[']auberge. »

/…/

[/code]

bien sûr c’est à double tranchant car cela peut être plus organisé, ou plus fouilli :slight_smile:

Pourquoi les apostrophes entre crochets ?