C'est avec ce jeu de mot lamentable que je vais vous parler d'une manière originale pour créer des formes naturelles, facilement exploitable dans un roguelike par exemple. L'algorithme a déjà été évoqué sur le newsgroup de rec.games.roguelike.development, et exploite les propriétés étonnantes des automates cellulaires.

C'est quoi ça ?

Les automates cellulaires déterminent, à partir de règles d'évolution simples, le comportement d'une colonie de cellules. Selon la configuration initiale des cellules, et les règles d'évolution utilisées, le résultat sera différent du tout au tout. Le plus connu des automates cellulaires est celui du jeu de la vie, mais bien d'autres existent.

Le jeu de la cave

Vous trouverez joint à ce billet un fichier exécutable pour concevoir les cavernes évoqués sur le newsgroup cité précédemment, ainsi que les fichiers sources en Python ayant servi à sa conception. Ce code est sous licence GPL, à user sans modération 8-).

Usage: el_cave.py taille(longueur,largeur)=(50,25) type(1,2,3,4)=1 nom=random

Avec un type de 1:

Avec un type de 4:

A chaque lancement du programme, la caverne sera affichée sous forme de caractères à l'écran, en même temps qu'un fichier image "cave.bmp" sera généré.

Inconvénient principal de la méthode: il est impossible de savoir simplement si le graphe obtenu sera d'un seul tenant. Mais l'algorithme est très rapide, et peut être une base solide pour commencer à mettre en oeuvre des souterrains.