Inquietudes procedurales

miércoles

La tecnología de generación procedural de elementos no es nueva. Juegos de reciente aparición (Minecraft) o próximos lanzamientos como “No man’s sky” o “Deep Down”, que generan sus  escenarios aleatoriamente, parecen haber descubierto la cura para el cáncer pero es pura fanfarronería. Esta tecnología, o esta manera de hacer las cosas, datan de finales de los años 70 y comienzos de los 80 con uno de los primeros RPG’s de la historia en formato digital: Richard Garriott 's Akalabeth que se publicaría en los ordenadores MAC de la época.


 A nivel básico, la generación procedural es un sistema de generación aleatoria de elementos que no existen físicamente en el juego, o no se han metido como tal, pero que se autogeneran de cero mediante un algoritmo cuando el juego necesita acceder a ellos. Al contrario de los juegos actuales, cuyo contenido se ha diseñado y desarrollado previamente en un ordenador, el contenido de los juegos procedurales se va desarrollando sobre la marcha mediante una serie de órdenes y pautas lógicas, con resultados diferentes cada vez que el algoritmo necesita calcular la generación de un elemento. Es decir, que el mismo juego en dos partidas diferentes no tiene porque mostrar necesariamente lo mismo.

Las fórmulas actuales para desarrollar un videojuego, junto con el aumento de la potencia de las plataformas, han desplazado en parte esta filosofía de hacer las cosas ya que las limitaciones de memoria suelen ser mínimas. Antiguamente la limitación de memoria en la que guardar un programa prácticamente exigía la no integración de los elementos físicos, tales como el mapa, los ítems o los enemigos. En su defecto, se programaban una serie de órdenes (líneas de código) que, bajo unas pautas, iban generando el mapa y el resto de elementos sobre la marcha, ocupando considerablemente menos espacio en el diskette. Un ejemplo claro lo tenemos en “The sentinel” (mediados de los 80) que presumía de tener guardados 10.000 niveles en unos pocos Kilobytes, aunque en la publicación final se redujo ese número pensando en la paciencia del usuario…

Richard Garriott 's Akalabeth

Hoy día, los juegos que dan especial importancia a la narrativa, han de ser juegos de diseño cerrado. En estos juegos, el programador ha de asegurarse que cada momento este planeado de cierta manera, así que la mayoría de las veces esta filosofía procedural de hacer las cosas no tendría mucho sentido. Ha de diseñar cada mesa, cada objeto y cada edificio uno por uno, e incluirlos en el juego con el objetivo de tenerlo todo controlado y no puedan darse paradojas entre la jugabilidad y el argumento. Otros géneros, como el de la conducción, también han experimentado en cierta medida con esta generación aleatoria, como la saga Gran Turismo, que en ciertas pruebas de rallye el mapa se iba generando sobre la marcha.

Sin embargo, en determinados géneros y dependiendo de cómo se aplique, este sistema no tiene demasiado atractivo. Por ejemplo, en simuladores de conducción, eliminar su verdadero atractivo no tiene, a priori, mucho sentido. Los trazados variables obviarían la posibilidad de poder aprenderte cada curva para poder exprimirla y alcanzar mejores tiempos, y nadie aficionado a los juego de coches quiere eso...

De todos modos, el futuro de hacer videojuegos se encuentra en esta filosofía de hacer las cosas. Pensad en la cantidad de variantes que se podrían dar en un juego que harían que cada partida fuese diferente, con la imposibilidad de dar por hecho nada ya que todo se generará aleatoriamente. Incluso si vamos a casa de un amigo que tiene el mismo juego que nosotros, el mapa, los ítems y cualquier otra entidad metida en el videojuego podrían ser radicalmente diferentes. Luego la vida útil del juego la marcaría nuestro propio aburrimiento.

The Sentinel

Pero volvamos a los dos títulos que he puesto como ejemplo al principio del post. En el caso de “Deep Down” (Capcom), y tratándose de un RPG, dicen que las típicas mazmorras tan propias de este género van a ser generadas aleatoriamente durante la partida. En el caso de “No Man’s Sky”, se trata de un juego en el que podremos explorar el universo descubriendo planetas cuya orografía, flora y fauna van a ser generados proceduralmente. Si realmente esto es así, da la impresión de que podremos tener un espacio prácticamente infinito para explorar.

Llegados a este punto, me asaltan varias dudas. Si esos planetas y esas mazmorras no están físicamente incluidas como tales en el disco del juego, ¿significa eso que una vez que las abandonemos van a dejar de existir? Por ejemplo, si en “No Man’s Sky” estoy visitando un planeta y luego lo abandono, ¿dónde queda guardada esa información? Si esa información, que no se encuentra en el disco, se ha generado en el mismo instante que yo accedo al planeta, ¿deja de existir cuando lo abandono? Si la idea es mantener esa información guardada en alguna parte del sistema para poder volver a acceder a ella, ¿Dónde queda guardada? Si en el disco es imposible porque ni la consola escribe ni el disco graba, ¿Va al disco duro de la consola? ¿Significa eso que con cada visita a un nuevo planeta el disco duro se va a ir llenando mas y mas, como si fuera un efecto de bola de nieve?

Son dudas procedurales que me quitan el sueño. Supongo que saldré de dudas cuando Capcom publique algún lustro de estos su juego y pueda comprobar si las partidas guardadas va subiendo cada vez mas y mas en volumen…

No hay comentarios:

Publicar un comentario