vendredi 7 septembre 2012

Le level design de Dungeons of Londree: un système semi-aléatoire et semi-statique!

Dans Dungeons of Londree, les niveaux sont générés aléatoirement. Un des défis auquel nous avons fait face était de devoir élaborer la manière dont le système de donjons aléatoire allait fonctionner. On voulait notamment pouvoir permettre à notre artiste 2d de peindre les backgrounds à la main, ce qui restraint l'utilisation des tuiles. Nous voulions aussi un système qui conserve l'aspect unique d'un level design fait à la main.

Notre solution fut un système hybride mi-aléatoire et mi-statique. Certaines zones d'un donjons sont statiques, c'est-à-dire que l'architecture est toujours identique, alors que d'autre sont variables. Ces zones variables sont constitués de tuiles très grandes. Lorsque les joueurs entre dans un niveau, le système choisit une tuile aléatoire dans chaque bloc des tuiles possibles.

Exemple de donjon. Le grand rectangle à gauche contient les 3 sections possibles qui peuvent remplacer la tuile dans la map. Même chose pour le grand rectangle à droite, qui contient 3 sections possible. Cet exemple permettrait de générer 3x3, c'est-à-dire 9, donjons différents.

Nos niveaux contenaient donc en moyenne 4-5 zones statiques et 3-4 zones aléatoires. En alternant les zones statiques et les zones aléatoires, cela permettait notamment de nous assurer que les jonctions entre les tuiles étaient toujours aux mêmes endroits sur les tuiles. Et comme les tuiles étaient vraiment grande, cela réduisait de beaucoup le nombre de jonction entre les tuiles, ce qui facilitait la tâche à notre artiste 2d.

L'autre avantage, c'est que chacune des tuiles et des sections ont été créées à la main, ce qui nous assure une cohérence entre les sections. Cela permet aussi de nous assurer que les zones sont toujours «intéressantes» d'un point de vue de level designer. Il aurait évidemment été possible de faire un algorithme entièrement automatique qui génèrerait des salles aléatoires et intéressante à tout coup (pensons notamment à Binding of Isaac ou Spelunky qui réussissent sur ce point), mais cela aurait complexifié de beaucoup le design, ce qui aurait pris plus de temps. Et, comme on le sait, le temps nous faisait défaut puisqu'il s'agissait d'un projet de seulement 10 semaines.

Au final, je suis très content du résultat. Le mélange de zones aléatoires et de zones statiques permet au joueur d'être capable de reconnaître et de se situer dans le niveau tout en laissant beaucoup de place aux surprises et à la découverte. En combinant ce système de salles aléatoire avec notre système de spawnpoints semi-aléatoire et d'événements naratifs aléatoire, cela donnait des donjons qui sont toujours un peu familier mais toujours un peu différents aussi.

Aucun commentaire:

Publier un commentaire

Pensez à signer votre commentaire. C'est plus apprécié! :)