J'avais bien aimé le jeu "spaceman 8", un petit jeu d'arcade pour Pico8 consistant à ramasser des gemmes dans des dédales en micro-gravité. Kometbomb, le développeur, a écrit dernièrement un assez sympatique article sur son blog pour expliquer le fonctionnement du générateur aléatoire de niveaux. Contrairement à un générateur de labyrinthe, il n'est pas souhaitable ici d'utiliser l'entièreté de l'espace, et contrairement à un générateur de donjons, les longs corridors ne sont pas franchement un plus.
I loved roughly as much reading kometbomb's blog post on the random level generator they used. It had to be simple, and yet it does a great job at hiding items on a network of interconnected galleries by emulating dwarves digging dirt and stealing each others' treasures.
Le concept de base est d'avoir N objets à cacher dans le labyrinthe, et de les placer initialement tous dans la seule case vide (au centre de la "mine"). On va ensuite jouer aux nains creuser:
- à son tour, chaque nain choisit un trésor et le vole;
- il une dalle non-creusée voisine d'au moins une (et au plus 2) dalles déjà creusée, creuse et y dépose son trésor.
kometbomb rajoute une contrainte supplémentaire sur la présence de cellules creusées en diagonale de la cellule choisie (au plus une). Une sorte d'heuristique, j'imagine.
Je serais curieux de savoir si ce genre de mécanisme peut s'adapter pour remplacer les nains par ... disons ... des Bilous ?
1 comment:
Note that the sawtooth pattern on "ground" tiles isn't random or pure aesthetics: it will maximize the friction with carried gems and will give a timing penalty for one who picks an approximate trajectory.
Since the time spent in each level is limited and running out of time means a game over ...
Post a Comment