Construye un juego de exploración de cuevas original con un pequeño grafo de salas y una semilla repetible. En las ficticias Cuevas de la Linterna, una semilla coloca un peligro en la rama izquierda y un tesoro en la derecha. Otra los intercambia, mientras que una ruta segura hacia la salida permanece abierta.
Comienza con movimientos discretos entre salas y un punto de vida. Una semilla visible, un registro de movimientos y una comprobación de ruta segura hacen que el nivel sea fácil de reproducir y diagnosticar antes de añadir saltos o mapas más grandes.
Comienza con una cueva repetible

La ficha de Spelunky de Mossmouth describe un plataformas con niveles aleatorizados, trampas y tesoros. Utiliza la idea general de explorar una cueva cambiante para diseñar tus propias salas, peligros e identidad visual.
Para este prototipo, utiliza una cuadrícula de salas de 3 por 3. Las coordenadas se escriben como (columna, fila), comenzando en cero en la esquina superior izquierda. El jugador comienza en S, la salida es E y las dos salas de rama pueden contener un peligro o un tesoro.
Construye el grafo de salas
| Fila | Columna 0 | Columna 1 | Columna 2 |
|---|---|---|---|
| 0 | S (0,0) | Abierto (1,0) | Muro (2,0) |
| 1 | Rama (0,1) | Abierto (1,1) | Rama (2,1) |
| 2 | Muro (0,2) | Abierto (1,2) | E (2,2) |

Conecta cada sala abierta con sus vecinas abiertas adyacentes ortogonalmente. Un movimiento entra en una sala adyacente y cuesta un turno. Rechaza un movimiento hacia un muro, fuera de la cuadrícula o en diagonal, dejando la posición y el recuento de turnos sin cambios.
La columna vertebral garantizada es S → (1,0) → (1,1) → (1,2) → E. Esas cinco salas permanecen seguras en ambos diseños. Las salas de rama en (0,1) y (2,1) crean una pequeña elección sin romper la ruta hacia la salida.
Compara dos semillas
Para una semilla entera par, coloca el peligro en (0,1) y el tesoro en (2,1). Para una semilla impar, intercámbialos. Comienza con salud 1 y tesoro 0. Entrar en un peligro reduce la salud a cero y termina la partida. Entrar en el tesoro lo recoge una vez y limpia la sala. Entrar en E completa la partida, con o sin haber recogido el tesoro.
| Semilla | Peligro | Tesoro | Moverse hacia abajo desde S |
|---|---|---|---|
| 8 | (0,1) | (2,1) | La partida termina tras un solo movimiento. |
| 9 | (2,1) | (0,1) | Recolecta un tesoro; la salud permanece en 1. |

Para cualquiera de las semillas, la estructura principal llega a E de forma segura en cuatro movimientos. Con la semilla 8, el camino a la derecha, abajo y a la derecha llega al tesoro en tres movimientos. Un movimiento más hacia abajo llega a E. En un reinicio con la misma semilla, restaura el mismo contenido de la sala, la salud y el recuento de tesoros.
Comprobar la ruta generada
Antes de permitir una partida, busca en el grafo de salas desde S hasta E, tratando la sala de peligro como bloqueada. Acepta el diseño solo si existe un camino. Una búsqueda en anchura puede registrar las salas visitadas y añadir cada vecino seguro no visitado a una cola hasta que llegue a E o agote la cola.
Si la búsqueda falla, muestra un error de generación y rechaza el diseño. Si la misma semilla produce posiciones de peligro diferentes tras el reinicio, inspecciona la regla de la semilla y asegúrate de que el reinicio no genere silenciosamente una nueva semilla. Estas son comprobaciones para el modelo de salas creado, no mediciones de un juego terminado.
Proporciona a la IA el fixture completo de la cueva
Construye un juego de cuevas original para el navegador llamado Lantern Caves.
Usa una cuadrícula de 3x3 con coordenadas (columna, fila), con base cero desde la esquina superior izquierda.
Inicio S=(0,0); salida E=(2,2).
Salas abiertas: (0,0), (1,0), (1,1), (1,2), (2,2), (0,1), (2,1). Todas las demás celdas son muros.
Conecta las salas abiertas adyacentes ortogonalmente. Un movimiento válido entra en una sala abierta adyacente y cuesta un turno.
Rechaza los muros, los movimientos fuera de la cuadrícula y los movimientos diagonales sin cambiar la posición ni el recuento de turnos.
Una semilla entera par coloca un peligro (0,1), un tesoro (2,1). Una semilla entera impar los intercambia.
Salud inicial 1, recuento de tesoros 0. Entrar en el peligro establece la salud en 0 y termina la partida.
Entrar en un tesoro lo recoge una vez y limpia la sala. Entrar en E completa la partida con o sin tesoro.
Antes de jugar, realiza una búsqueda en el grafo desde S hasta E tratando el peligro como bloqueado. Rechaza un diseño si no existe una ruta segura.
La columna vertebral (0,0), (1,0), (1,1), (1,2), (2,2) es segura para las semillas 8 y 9.
Con la semilla 8, moverse hacia abajo una vez termina la partida. Con la semilla 9, ese movimiento recoge un tesoro y deja la salud en 1.
Con la semilla 8, derecha, abajo, derecha recoge un tesoro; abajo luego alcanza E.
Asigna un ID a cada movimiento. Ignora un evento repetido con el mismo ID.
Reiniciar con la misma semilla restaura el contenido de las salas, la salud, los tesoros, el recuento de turnos y los IDs de acción.
Muestra la semilla, la sala actual, el recuento de turnos, la salud, los tesoros y un registro de movimientos legible.
Usa arte de cuevas original y controles accesibles por teclado.
Prueba la columna vertebral segura con ambas semillas. Luego, repite el primer movimiento hacia abajo bajo cada semilla y compara los resultados. Prueba un movimiento contra un muro y un ID de evento duplicado. Consulta la guía de primera construcción para adaptar el fixture.
Construye Lantern Caves en SEELE AI Game Maker y verifica el comportamiento del grafo y la reinicialización antes de añadir más peligros.
Preguntas frecuentes
¿De qué tamaño debe ser el primer nivel de cueva?
Comienza con un pequeño grafo de salas que puedas inspeccionar por completo. Una cuadrícula de tres por tres es suficiente para mostrar una ruta garantizada y dos salas de rama variables. Una vez que las comprobaciones de reinicio y de ruta funcionen, amplía el generador manteniendo las mismas reglas de validación.
¿Por qué mantener la semilla visible?
Una semilla visible te permite reproducir una disposición de salas específica e informarla cuando algo sale mal. Reiniciar la disposición de la semilla ficticia 8 debería restaurar el peligro y el tesoro en las mismas salas. Se puede introducir una nueva semilla deliberadamente después de que la reproducción pase.
¿Cómo puedo comprobar que una cueva generada es resoluble?
Busca desde el inicio hasta la salida utilizando solo salas conectadas seguras. Trata el peligro como bloqueado para esta comprobación y rechaza una disposición si no existe ninguna ruta. El fixture Lantern Caves mantiene un esqueleto de cinco salas seguro para ambas semillas de ejemplo.
¿Qué debe hacer un movimiento inválido?
Deja la posición del jugador y el recuento de turnos sin cambios cuando un movimiento apunta a una pared, al borde de la cuadrícula o a una sala diagonal. Explica por qué se rechazó la entrada. Esto hace que los errores de movimiento sean distinguibles de un movimiento válido hacia una sala peligrosa.


