Los juegos denominados procedurales, o que generan sus mapas de manera completamente aleatoria lo hacen tan r√°pidamente que el proceso parece enga√Īosamente f√°cil. En realidad, generar un nuevo mapa es un proceso bastante complejo y que requiere no pocos c√°lculos. El desarrollador Phil Dinh lo explica as√≠.

Advertisement

Dinh es el creador de un juego llamado TinyKeep, y recientemente ha explicado como funcionan sus generadores de mazmorras procedurales en Gamasutra. Todo comienza, por supuesto, con un algritmo que genera un mont√≥n de estancias aleatorias en forma y tama√Īo. Cada desarrollador establece unas dimensiones m√≠nimas y m√°ximas para dar a cada mazmorra un estilo diferente. La manera de avanzar o atacar en el juego tambi√©n influye en su distribuci√≥n.

Una vez creadas todas las estancias, hay que separarlas. Algunos desarrolladores utilizan algoritmos de separaci√≥n. Dinh se decanta por un motor de f√≠sicas. A continuaci√≥n se seleccionan autom√°ticamente las estancias principales, que son las que albergaran bosses o eventos especiales. Generalmente se seleccionan autom√°ticamente siguiendo criterios de tama√Īo.

Advertisement

El siguiente paso es triangular estas estancias y seleccionar rutas entre ellas de manera que no se comuniquen todas con todas, sino que haya que pasar de una a otra en un determinado orden. A continuaci√≥n, el sistema a√Īade pasillos por el simple procedimiento de lanzar una l√≠nea vertical u horizontal en funci√≥n de con cual conectar√≠a antes las estancias. Si la distancia vertical y horizontal es la misma, se crea un pasillo en forma de L.

Por √ļltimo, se seleccionan las estancias intermedias que conectan con esos pasillos y el mapa est√° pr√°cticamente concluido. Esta t√©cnica encaja en algunos juegos pero no necesariamente en todos. Phil Dinh explica los pasos mostrando incluso el c√≥digo que utiliza para cada uno. Es un interesante paseo entre bastidores para los entusiastas de los videojuegos o la programaci√≥n. El resultado es mapas para juegos como este. [Gamasutra v√≠a Kotaku]

Advertisement

***

Psst! también puedes seguirnos en Twitter, Facebook o Google+ :)