Hace tiempo que quería hablar de la proceduralidad en los videojuegos, porque me parece que hay gente que cuando oyen esa palabra piensan en la generación rota de ciertos juegos, como podrían ser Minecraft o No Man's Sky. Sin embargo creo que se ignoran algunas de sus bondades tanto para los jugadores como para los desarrolladores.
Antes de tratar este tema, veo necesario dar la definición de proceduralidad, que es de forma resumida, la aplicación de procedimentos ya establecidos, pueden ser sencillos como V = Seed + 1, siendo S el valor de la semilla o valor predefinido y V el valor a calcular, podría poner otros ejemplos mas complejos, los cuales no me voy a molestar en intentar explicarlos, aunque con este se puede entender el funcionamiento de los procedimentos.
La proceduralidad en muchos juegos se basa simplemente en seleccionar opciones entre un conjunto, por ejemplo la mayoría de Roguelike basan su decisión de construir una sala contigua a otro con valores tomados de un calculo de numero aleatorio, que no seria aleatorio porque estaría basado en la Seed, el contenido de las salas varia, hay casos en el que las propias salas son generadas con estructuras diferentes por el propio procedimiento, como en Minecraft, en otras simplemente carga una sala preconstruida y la coloca sin modificar, y en otras hace una combinación, ya que el escenario lo precarga, pero ciertos detalles, cofres y decoraciones si que son colocados de forma procedural, como es el caso de los mapas procedurales de Warframe.
Hasta aquí es una introducción básica y muy ambigua de la generación procedural aplicada a videojuegos, así que ya podemos hablar del tema central... ¿Porque se hace así?
Lo primero en lo que alguien podría pensar es que así generan mas contenido de forma sencilla y barata, y realmente no puedo decir que eso sea falso, el problema es que ningún desarrollador con dos dedos de frente lo haría simplemente por eso. Crear un motor procedural que genere todo desde cero y contente a la gente, es caro y difícil por no decir imposible (Solamente Dwarf Fortress), por lo que para que no haya tantos fallos de generación hay que preconstruir salas, y tocaría añadir las suficientes como para no agotar a los jugadores, ya que estos se cansarían de siempre el mismo escenario. Dicho esto se nota que no les ahorra tanto trabajo, ya que en algunos casos seria mas sencillo crear 100 mapas únicos con múltiples salas que fueran rotando entre si a aplicar un método procedural.
Desde mi punto de vista los únicos motivos, 100% validos, para añadir la proceduralidad a un videojuego, es porque la visión del juego lo exige o para darle vida al mapa. La visión del juego es aquello a lo que el videojuego intenta aspirar y llegar a ser, las expectativas a cumplir de los creadores, la idea de la que germino el proyecto, Dwarf Fortess, Minecraft, No Man's Sky y Binding Of Isaac, son juegos que en su visión exigen el factor aleatorio en el entorno, a demás estos videojuegos también cumplen el motivo de darle vida al mapa, que consistiría en hacerlo mas entretenido de explorar al no saber que esperar.
La gente se hartó de oir hablar de la generación procedural durante la moda de Roguelike que empezó hace algunos años, junto con el fiasco original de No Man's Sky, pero luego de reflexionarlo, el mundo real ya es aleatorio y algo caótico e impredecible, por lo que no es raro que los desarrolladores quieran poner estas propiedades en los videojuegos, para acercarlos mas a la realidad.