L’une des spécificités du jeu est sa génération procédurale. Comme un certain nombre de jeux d’exploration de donjons, ceux-ci sont générés par ordinateur, chaque fois qu’un joueur commence un nouveau niveau. Pour que le niveau soit réalisable (par exemple, qu’il existe bien un chemin de l’entrée au boss final), il faut imposer une série de contraintes sur la génération de niveau. Les choses sont encore plus complexes quand on inclut des éléments narratifs dans la génération de donjons : c’est exactement ce que fait Children of Morta.
Un niveau est représenté de la manière la plus simple possible : il s’agit d’un certain nombre de pièces, connectées par des portes. Certaines pièces contiennent des hordes d’ennemis à battre, d’autres des personnages à aider (ce qui lance une quête annexe), d’autres encore des clés ou d’autres objets. Un niveau contient forcément un chemin entre le début et la fin, ainsi qu’une série de culs de sac connectés à ce chemin central. Générer un tel niveau n’est pas tellement complexe jusqu’au moment où l’on ajoute des contraintes : par exemple, le joueur peut récupérer un objet, mais la pièce le contenant doit être dans la première moitié du donjon ; la clé doit se trouver avant la porte.
Cette définition du donjon est assez abstraite : elle ne précise par exemple pas la position des pièces. On pourrait très bien avoir un donjon qui ressemble à l’image précédente qu’un donjon entièrement circulaire : toutes ces formes respectent le schéma global du donjon. C’est donc un deuxième niveau où la génération procédurale s’applique.
Ensuite vient la narration. En effet, le jeu tente de raconter une histoire, de présenter des quêtes annexes pour donner de la profondeur au monde. Cette étape peut imposer de créer une ou plusieurs pièces dans le donjon, dans le chemin principal ou en tant que culs de sac. Le joueur peut ainsi obtenir une quête dans une pièce R1 : il doit récupérer un objet qui se trouve dans R2. Ou peut-être doit-il récupérer un objet qui se trouve dans un autre donjon. Bien sûr, il est possible que le joueur trouve les éléments qui achèvent une quête précédente pendant qu’il cherche à terminer la nouvelle.
Une fois le niveau ainsi schématisé, il est temps de passer à la génération du contenu que l’utilisateur verra. Différents systèmes s’occupent de la gestion des connexions entre scènes, de la création des ennemis et des objets à récupérer, du positionnement des éléments de l’environnement et des cinématiques — chaque fois avec des paramètres propres, qui dépendent du donjon à générer.
Comment doivent agir les personnages de ce niveau ? C’est à ce moment qu’intervient la phase de génération narrative. Elle est notamment en charge de déterminer les paramètres à envoyer à la génération des niveaux et dépend de l’interaction du joueur auparavant. Par exemple, l’un des premiers niveaux contiendra un louveteau qui défendra la dépouille de sa mère. Si le joueur décide de l’aider, il pourra trouver, dans un des niveaux à venir, des médicaments pour ce louveteau. Le système de génération narrative maintient l’état d’un grand nombre de pistes narratives en parallèle et les fait avancer simultanément.
Source et images : Children of Morta: Bringing order to the chaos of procedural generation.
Voir aussi : d’autres détails sur l’implémentation du jeu avec Unity.