jeudi, avril 25, 2024

BIG NEWS : The Hand of Merlin, journal de développement 28 : rencontres

NEWS : The Hand of Merlin, journal de développement 18 : les héros*

Comme chaque semaine, on poursuit notre découverte de The Hand of Merlin, et on s’intéresse au Journal de développement n°28 qui est consacré aux rencontres. Pas simple à comprendre, mais non moins intéressant. Comme d’habitude, c’est MarkoP qui prend la parole.

(ndlr Killpower : à ne réserver qu’aux lecteurs qui ont envie de comprendre le fonctionnement interne du jeu, car il nous parle technique…). 

“La raison pour laquelle je parle parfois des systèmes internes est qu’étant sur Serious Engine, cela donne la possibilité de développer également l’éditeur. Cela permet aux moddeurs de créer leur propre contenu pour le jeu, qui comprend de nouveaux personnages et monstres, de nouvelles compétences et sorts, de nouveaux Guardian Cores et, le sujet du jour, de nouvelles rencontres.

 Dès le début, nous savions que nous voulions que chaque lieu du monde fasse l’objet d’une petite histoire de rencontre, semblable à celle de FTL (Faster Than Light). L’implémentation initiale dans l’ancien moteur utilisait Lua pour définir chaque rencontre. Elle suivait une structure arborescente ou graphique, où chaque “page” vue dans le jeu était définie par quelques chaînes de caractères : le texte lui-même et le texte des choix possibles que le joueur peut faire pour faire avancer la rencontre. Comme tout cela était écrit en lua, une partie était essentiellement du code qui dirigeait les transitions entre les différentes pages et les choix, une autre partie était du texte à afficher dans l’interface utilisateur et la dernière partie fournissait des récompenses, comme le fait de gagner ou de perdre de l’or ou des fournitures.

NEWS : The Hand of Merlin, journal de développement 28 : les rencontres

Lorsque Jonas et Verena Kyratzes ont rejoint l’équipe, nous savions que nous ne voulions pas qu’ils s’embêtent à écrire du code, nous avons donc décidé de créer un format de fichier spécial pour les rencontres où la seule chose à laquelle il fallait penser était d’écrire le contenu de la rencontre. Cela revient à écrire une liste des éléments qui définissent la rencontre : le nom de la rencontre, l’image par défaut et une liste de pages avec leurs options. Nous avons opté pour un format texte parce que c’est ce avec quoi les rédacteurs sont à l’aise, mais cela signifie aussi que la création d’un outil visuel n’est pas trop difficile car il suffit de sortir le fichier avec le même format. C’est quelque chose que j’aimerais essayer de faire un jour.

Chaque rencontre commence par une sorte d’en-tête, où l’on définit le nom, l’image par défaut, le type et la zone. Ensuite, nous commençons à lister les pages qui forment la rencontre. Chaque rencontre doit avoir une page “Intro” – c’est la première page que nous ouvrons quand une rencontre commence. Chaque page est définie par le texte qu’elle contient et par une liste d’options qui forment les choix que le joueur fait sur la page. Chaque option peut avoir une grande liste de conditions et de déclencheurs. Les conditions sont des vérifications qui contrôlent si l’option peut apparaître sur la page et, si c’est le cas, si elle est activée (cliquable). Les déclencheurs sont des effets secondaires qui se produisent après avoir cliqué sur l’option – gagner ou perdre de l’argent, recruter un héros, acquérir une relique, ou définir certaines variables de session ou de profil. Ces variables peuvent être utilisées par d’autres rencontres pour contrôler leur flux interne, comme la mise en place de récompenses à long terme. Chaque option doit être liée à une page “suivante” qui doit s’ouvrir lorsque l’on clique sur cette option. Il s’agit du nom de la page (qui peut être n’importe quelle page), ou d’une valeur spéciale de “END” qui met fin à la rencontre.

NEWS : The Hand of Merlin, journal de développement 28 : les rencontres

Nous utilisons trois types de pages : les pages normales, les pages de combat et les pages de roue. Les pages normales sont les pages génériques standard que vous pouvez voir dans n’importe quelle rencontre. Les pages de combat ne sont pas vraiment des pages que vous pouvez voir mais sont utilisées pour commencer une carte de combat. Les pages de roue sont mal nommées pour des raisons historiques mais sont utilisées pour faire apparaître des cartes afin de permettre au joueur de faire un choix aléatoire. Il y a des améliorations que nous prévoyons avec les cartes, mais c’est un sujet pour une autre fois (quand nous les ajouterons).

Beaucoup d’entre eux permettent également de randomiser les choses avec le mot-clé OR. Par exemple, la page suivante d’une option peut être choisie parmi plusieurs pages possibles – Page 1 OU Page 2 OU Page 3, etc. Les cartes définissent également leur page suivante individuelle, ce qui ouvre à nouveau une multitude de possibilités. Enfin, en utilisant des variables de session ou de profil, il est possible de commencer toute la rencontre sur une page qui n’est pas strictement la page Intro, que nous utilisons parfois pour rendre la rencontre différente en fonction du choix pour cette session.

Merci pour votre lecture ! C’était un aperçu très général de la création des rencontres. Nous avons une documentation interne à ce sujet qui sera exposée aux moddeurs quand/si l’éditeur est publié, et je serai toujours disponible pour répondre aux questions à ce sujet si les choses ne sont pas claires”.

Zemymy
Zemymy
Administratrice du site. Correctrice et rédactrice de news. The boss of the modération.
S’abonner
Notifier de
guest
0 Commentaires
Inline Feedbacks
View all comments

Derniers articles et tests

0
Envie de laisser un commentaire ? x