Construisez un jeu d'exploration de grottes original avec un petit graphe de salles et une graine reproductible. Dans les fictives Grottes de la Lanterne, une graine place un danger sur la branche de gauche et un trésor sur celle de droite. Une autre les inverse, tandis qu'un itinéraire sûr vers la sortie reste ouvert.
Commencez par des déplacements discrets entre les salles et un point de vie. Une graine visible, un journal des déplacements et une vérification du chemin sûr rendent le niveau facile à rejouer et à diagnostiquer avant d'ajouter des sauts ou des cartes plus grandes.
Commencez par une grotte reproductible

La fiche de Spelunky de Mossmouth décrit un jeu de plateforme avec des niveaux aléatoires, des pièges et des trésors. Utilisez l'idée générale d'exploration d'une grotte changeante pour concevoir vos propres salles, dangers et identité visuelle.
Pour ce prototype, utilisez une grille de salles de 3 par 3. Les coordonnées sont écrites sous la forme (colonne, ligne), en commençant par zéro en haut à gauche. Le joueur commence à S, la sortie est E et les deux salles de branche peuvent contenir un danger ou un trésor.
Construisez le graphe des salles
| Ligne | Colonne 0 | Colonne 1 | Colonne 2 |
|---|---|---|---|
| 0 | S (0,0) | Ouvert (1,0) | Mur (2,0) |
| 1 | Branche (0,1) | Ouvert (1,1) | Branche (2,1) |
| 2 | Mur (0,2) | Ouvert (1,2) | E (2,2) |

Connecter chaque salle ouverte à ses voisines ouvertes orthogonales. Un déplacement entre dans une salle adjacente et coûte un tour. Rejeter un déplacement vers un mur, hors de la grille ou en diagonale, en laissant la position et le nombre de tours inchangés.
L'épine dorsale garantie est S → (1,0) → (1,1) → (1,2) → E. Ces cinq salles restent sûres dans les deux dispositions. Les salles de branche aux positions (0,1) et (2,1) créent un petit choix sans rompre l'itinéraire vers la sortie.
Comparer deux graines
Pour une graine entière paire, placer le danger à (0,1) et le trésor à (2,1). Pour une graine impaire, les échanger. Commencer avec une santé de 1 et un trésor de 0. Entrer dans un danger réduit la santé à zéro et met fin à la partie. Entrer dans un trésor le collecte une fois et vide la salle. Entrer dans E termine la partie, que le trésor ait été collecté ou non.
| Graine | Danger | Trésor | Descendre depuis S |
|---|---|---|---|
| 8 | (0,1) | (2,1) | La partie se termine après un seul déplacement. |
| 9 | (2,1) | (0,1) | Collecter un trésor ; la santé reste à 1. |

Pour l'une ou l'autre graine, la structure principale atteint E en toute sécurité en quatre déplacements. Avec la graine 8, le chemin droite, bas, droite atteint le trésor en trois déplacements. Un déplacement supplémentaire vers le bas atteint E. Lors d'un réinitialisation avec la même graine, restaurez le même contenu de la salle, la santé et le nombre de trésors.
Vérifier l'itinéraire généré
Avant d'autoriser une partie, recherchez dans le graphe de salles de S à E en considérant la salle de danger comme bloquée. N'acceptez la disposition que si un chemin existe. Une recherche en largeur peut enregistrer les salles visitées et ajouter chaque voisin sûr non visité à une file d'attente jusqu'à ce qu'elle atteigne E ou épuise la file.
Si la recherche échoue, affichez une erreur de génération et rejetez la disposition. Si la même graine produit des positions de danger différentes après réinitialisation, inspectez la règle de la graine et assurez-vous que la réinitialisation ne tire pas silencieusement une nouvelle graine. Ce sont des vérifications pour le modèle de salle créé, et non des mesures issues d'un jeu terminé.
Donnez à l'IA le fixture de grotte complet
Créez un jeu de grotte original pour navigateur intitulé Lantern Caves.
Utilisez une grille de 3x3 avec des coordonnées (colonne, ligne), indexées à partir de zéro depuis le coin supérieur gauche.
Départ S=(0,0) ; sortie E=(2,2).
Salles ouvertes : (0,0), (1,0), (1,1), (1,2), (2,2), (0,1), (2,1). Toutes les autres cellules sont des murs.
Reliez les salles ouvertes adjacentes orthogonalement. Un déplacement valide entre dans une salle ouverte adjacente et coûte un tour.
Rejetez les murs, les déplacements hors grille et les déplacements diagonaux sans modifier la position ni le nombre de tours.
Une graine entière paire place un danger (0,1) et un trésor (2,1). Une graine entière impaire les inverse.
Santé initiale 1, nombre de trésors 0. Entrer dans le danger met la santé à 0 et met fin à la partie.
Entrer dans un trésor le collecte une fois et vide la salle. Entrer dans E termine la partie, avec ou sans trésor.
Avant le jeu, effectuez une recherche dans le graphe de S à E en considérant le danger comme bloquant. Rejetez une disposition si aucun chemin sûr n'existe.
L'axe principal (0,0), (1,0), (1,1), (1,2), (2,2) est sûr pour les graines 8 et 9.
Avec la graine 8, se déplacer une fois vers le bas met fin à la partie. Avec la graine 9, ce déplacement collecte un trésor et laisse la santé à 1.
Avec la graine 8, droite, bas, droite collecte un trésor ; puis bas atteint E.
Attribuez un ID à chaque déplacement. Ignorez un événement répété avec le même ID.
Réinitialiser avec la même graine restaure le contenu des salles, la santé, les trésors, le nombre de tours et les IDs des actions.
Affichez la graine, la salle actuelle, le nombre de tours, la santé, les trésors et un journal de déplacements lisible.
Utilisez des arts de grotte originaux et des contrôles accessibles au clavier.
Testez l'axe principal sûr avec les deux graines. Puis répétez le premier déplacement vers le bas sous chaque graine et comparez les résultats. Essayez un déplacement contre un mur et un ID d'événement en double. Consultez le guide de première construction pour adapter le fixture.
Créez Lantern Caves dans SEELE AI Game Maker et vérifiez le comportement du graphe et de la réinitialisation avant d'ajouter plus de dangers.
Questions fréquentes
Quelle doit être la taille d'un premier niveau de grotte ?
Commencez par un petit graphe de salles que vous pouvez inspecter entièrement. Une grille de trois par trois suffit pour montrer un itinéraire garanti et deux salles de branches variables. Une fois que les vérifications de réinitialisation et de chemin fonctionnent, étendez le générateur en conservant les mêmes règles de validation.
Pourquoi garder la graine visible ?
Une graine visible vous permet de reproduire un agencement de salles particulier et de le signaler en cas de problème. La réinitialisation de la disposition de la graine fictive 8 doit restaurer le danger et le trésor dans les mêmes salles. Une nouvelle graine peut être introduite délibérément après que la rejouabilité a été validée.
Comment vérifier qu'une grotte générée est soluble ?
Recherchez un chemin du point de départ à la sortie en utilisant uniquement les salles sûres et connectées. Traitez le danger comme bloqué pour cette vérification et rejetez une disposition si aucun itinéraire n'existe. Le jeu de données « Lantern Caves » maintient un tronc principal de cinq salles sûr pour les deux graines d'exemple.
Que doit faire un mouvement invalide ?
Laissez la position du joueur et le nombre de tours inchangés si un mouvement cible un mur, le bord de la grille ou une salle diagonale. Expliquez pourquoi l'entrée a été rejetée. Cela permet de distinguer les erreurs de déplacement d'un mouvement valide vers une salle dangereuse.


