Cómo creamos 5.000 niveles con una única solución perfecta

BallRoute tiene 5.000 niveles, y no los dibujamos a mano. Tampoco nos limitamos a tirar flechas al azar sobre un tablero: un tablero aleatorio casi siempre es imposible o aburrido. Así se crean los niveles de un juego de puzles como el nuestro, desde la idea hasta tu pantalla.

Paso 1: decidir cómo debe sentirse el nivel

Cada número de nivel corresponde a una receta: el tamaño del tablero, cuántas flechas de la ruta empiezan apuntando en la dirección equivocada, cuántos agujeros hay, qué mecánicas pueden aparecer (flechas doradas, portales, hielo, llaves) y, más o menos, cuántas jugadas debería tener la solución perfecta. Los primeros tableros son de 7×5. Los más grandes, de 12×8.

La dificultad no se limita a subir. Se mueve en oleadas a lo largo de cada diez niveles: un escalón hacia arriba, uno más fácil y luego otro escalón hacia arriba. Ese ritmo importa. La dificultad constante cansa, y la facilidad constante aburre.

Paso 2: cómo se crea un nivel con una ruta real

El generador primero traza una ruta desde el inicio hasta la salida y luego llena el resto del tablero con flechas, agujeros y las mecánicas del nivel. Después gira algunas flechas de la ruta en la dirección equivocada. Ese es tu puzle. Como la ruta existe antes de desordenar nada, todos los niveles tienen solución garantizada.

Paso 3: dejar que lo juegue un solucionador

Antes de aceptar un nivel, lo juega un programa solucionador. Explora todos los caminos que podría recorrer la bola, lleva la cuenta de qué llaves ha recogido y encuentra el conjunto de giros más barato que lleva la bola a la salida. Ese número se convierte en el par del nivel: las jugadas necesarias para conseguir tres estrellas.

Después, el solucionador comprueba su respuesta ejecutando de verdad el intento, con deslizamientos sobre hielo, portales y salidas cerradas, para asegurarse de que la ruta funciona realmente.

Paso 4: crear muchos y quedarse con el mejor

Para cada nivel generamos un lote de tableros candidatos y les damos una puntuación. Un buen candidato:

  • tiene una única solución perfecta, para que las tres estrellas sean un descubrimiento real y no cuestión de suerte
  • tiene un par cercano al objetivo de ese nivel
  • pone las mecánicas del nivel en la ruta, no de adorno en una esquina

Gana el tablero con mejor puntuación. En nuestras pruebas, cada uno de los primeros 600 niveles tiene una sola solución de tres estrellas.

Paso 5: el mismo nivel en todos los teléfonos

Cada nivel se genera a partir de una semilla fija, así que el nivel 347 es el mismo tablero en todos los teléfonos, sin conexión y siempre. El reto diario usa la fecha como semilla. Por eso todo el mundo tiene el mismo puzle el mismo día sin descargar nada.

Lo que una máquina no puede decidir

Algunas cosas siguen necesitando personas. Hicimos el nivel 1 a mano como tutorial, elegimos cuándo aparece cada mecánica nueva (flechas doradas en el 6, flechas bloqueadas en el 12, portales en el 17, hielo en el 21, llaves en el 31) y jugamos muchos niveles para ajustar las recetas. Si algún nivel te parece injusto, queremos saberlo en hello@ballroute.com.

¿Te interesa ver cómo son las mecánicas desde el lado del jugador? Empieza por todas las mecánicas de BallRoute, explicadas.