Children of Morta : un jeu narratif 2D d'exploration de donjons sans fin
Rendu possible grâce à la génération procédurale

Le , par dourouc05, Responsable Qt & Livres
Children of Morta est un jeu narratif 2D d’exploration de donjons. La famille Bergsons doit défendre le mont Morta contre la corruption, qui a complètement transformé la montagne autrefois paisible en un lieu peuplé de créatures monstrueuses et dangereuses.


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.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de LittleWhite LittleWhite - Responsable 2D/3D/Jeux https://www.developpez.com
le 26/12/2018 à 9:26
Bonjour,

Toutefois, un jeu sans fin n'en fait pas un jeu bien, ou un jeu intéressant à jouer sur la longueur.
Avatar de Mat.M Mat.M - Expert éminent sénior https://www.developpez.com
le 26/12/2018 à 13:15
merci Dourouc05 pour ce qui est de la génération procédurale des niveaux d'un jeu c'est une technique qui peut être très intéressante.

Tout bêtement je n'y avais jamais pensé il faut dire que dans une grande majorité de jeux que ce soit des AAA ou des jeux "indépendants" les niveaux sont préconçus à l'avance donc quasi statiques,exception faites des entités animées du jeu bien sûr
Avatar de abriotde abriotde - Membre éprouvé https://www.developpez.com
le 26/12/2018 à 13:23
un jeu sans fin n'en fait pas un jeu bien
Cela y contibue. Ce qui rends intéressant une partie de carte (quelque soit le jeu, pocker par exemple), une partie d'échec ou de n'importe quel jeu classique c'est le côté quasi-infini des scénari possible. Ainsi même le meilleur joueur peu perdre. C'est ce qui fera que même si l'on a gagné au jeu on a envie de rejouer. Pour beaucoup de de jeu vidéo une fois le "niveau" terminé, on a pas grand chose a apprendre à y rejouer 50 ou 100 fois. Je ne connais pas Children of Morta mais s'ils arrivent ainsi à susciter l'intérêt c'est toujours un plus.
Avatar de Kannagi Kannagi - Expert éminent https://www.developpez.com
le 26/12/2018 à 13:48
Je vois rien d'exceptionnel en faite
Les dungeon-RPG était déjà procéduraux et c'était d'un chiant pas possible (heureusement qu'il était pas sans fin )

Sinon il y'a Disgaea qui avait des map procédurale ,et une durée de vie très très longues pour vous faire un idée , déjà mettre son équipe au level 9999 (et ça prend pas mal de temps vous imaginez bien ) et aussi mettre tout ces objet au lvl 100 pour cela il faut aller dans le monde des objets (qui est procédural) et chaque niveau fait augment d'un niveau l'objet et comme chaque perso à 4 item et que si on joue avec 10 perso ça ait euh 100*4*10 soit 4000 niveau à faire
Avatar de defZero defZero - Nouveau membre du Club https://www.developpez.com
le 26/12/2018 à 22:20
Début de réflexion intéressant sur la génération procédurale de niveau.
En tout cas pour moi qui n'y connait rien .
Avatar de Musk4 Musk4 - Futur Membre du Club https://www.developpez.com
le 26/12/2018 à 22:54
Je trouve la génération procédurale vraiment incroyable.
Vraiment hâte de la voir évoluer avec l'arrivée du machine learning facile d'accès !
Avatar de Steinvikel Steinvikel - Membre éclairé https://www.developpez.com
le 28/12/2018 à 10:30
Dungeon of the Endless (Rogue-Like & Dungeon-Defense) tire également partie de ce système il me semble... et est, je suppose, partie intégrante de son succès.
Parce que ya rien de pire dans un rogue-like, que de parcourir toujours les mêmes niveaux rush après rush.
Avatar de Tonton Nico Tonton Nico - Membre confirmé https://www.developpez.com
le 28/12/2018 à 11:56
Bonjour tout le monde

Citation Envoyé par LittleWhite Voir le message
Bonjour,

Toutefois, un jeu sans fin n'en fait pas un jeu bien, ou un jeu intéressant à jouer sur la longueur.
Personnellement je pense qu'un jeu avec une fin mais avec une génération infinie de map pour continuer d'xp est le mieux.
Je préfère un jeu sans fin qu'un jeu qui renvoie à l'écran de départ une fois le boss de fin tuer

Tout le monde doit avoir un avis différent je pense selon ses envies

TontonNico
Avatar de onilink_ onilink_ - Membre éprouvé https://www.developpez.com
le 30/12/2018 à 19:18
Citation Envoyé par abriotde Voir le message
Cela y contibue. Ce qui rends intéressant une partie de carte (quelque soit le jeu, pocker par exemple), une partie d'échec ou de n'importe quel jeu classique c'est le côté quasi-infini des scénari possible. Ainsi même le meilleur joueur peu perdre. C'est ce qui fera que même si l'on a gagné au jeu on a envie de rejouer. Pour beaucoup de de jeu vidéo une fois le "niveau" terminé, on a pas grand chose a apprendre à y rejouer 50 ou 100 fois. Je ne connais pas Children of Morta mais s'ils arrivent ainsi à susciter l'intérêt c'est toujours un plus.
Le mot procédural c'est juste du marketing et de la poudre aux yeux pour vendre aux gens quelque chose dont ils ne comprennent pas la signification.
On peut avoir un jeu non procédural avec plus de contenu à découvrir qu'un jeu procédural, qui se contentera de faire redécouvrir le même contenu encore et encore, avec quelques variations inutiles.

Le principe des jeux dits "d'arcade" est justement la re-jouabilité.
Refaire les niveaux plus vite, les connaître par cœur... pouvoir faire des speedruns, et prendre plaisir à bien connaître les niveaux.
Le côté procédural sera pas forcément un avantage, ça dépend de beaucoup de choses.

Ça me fait penser a Chasm, qui fait parti de ces jeux qui datent de la hype du procédural.
L'idée sur le papier était simple: un metroidvania procédural. Tout le monde a trouvé l'idée géniale.
Pourtant le jeu est un échec, les ventes sont relativement mauvaises et il est mal noté.
De nombreuses raisons bien entendu, une génération procédurale plutôt mal pensée pour un jeu du genre, un gameplay assez faible pour un metroidvania... mais bizarrement, ce qui est souvent ressorti est, le manque de rejouabilité, car au final seul le monde est modifié, mais le but/scénar/mécaniques sont toujours identiques.

C'est plutôt ironique quand on y pense. Mais beaucoup de jeux dits procéduraux tombent dans ce travers.
Car autant générer un monde procédural est une tache relativement aisée, autant générer un scénario, voir des mécaniques procédurales, c'est une tout autre affaire.
Se contenter de mélanger des salles et les stats de loots ne va pas rendre le contenu plus intéressant.
A ce jour je ne connais que dwarf fortress qui s'en sorte plutôt bien sur ces points la.

Bref, la qualité de ce jeu dépendra avant tout de comment est fichu le gameplay et du réel contenu, pas de son côté procédural...
Responsable bénévole de la rubrique 2D - 3D - Jeux : LittleWhite -

Partenaire : Hébergement Web