stringtranslate.com

Generación procedimental

Un ejemplo de generación procedimental, en el que se utilizan sistemas L para generar modelos de árboles de aspecto realista. Se pueden generar distintos modelos modificando tanto los parámetros deterministas como una semilla aleatoria.

En informática , la generación procedimental (a veces abreviada como proc-gen ) es un método de creación de datos algorítmicamente en lugar de manualmente, generalmente a través de una combinación de contenido generado por humanos y algoritmos junto con aleatoriedad generada por computadora y potencia de procesamiento. En gráficos de computadora , se usa comúnmente para crear texturas y modelos 3D . En videojuegos, se usa para crear automáticamente grandes cantidades de contenido en un juego. Dependiendo de la implementación, las ventajas de la generación procedimental pueden incluir tamaños de archivo más pequeños, mayores cantidades de contenido y aleatoriedad para una jugabilidad menos predecible.

Descripción general

Un paisaje procedimental renderizado en Terragen

El término procedimental se refiere al proceso que calcula una función particular. Los fractales son patrones geométricos que a menudo se pueden generar de manera procedimental. El contenido procedimental común incluye texturas y mallas . El sonido también se genera a menudo de manera procedimental y tiene aplicaciones tanto en la síntesis de voz como en la música. Se ha utilizado para crear composiciones en varios géneros de música electrónica por artistas como Brian Eno, quien popularizó el término " música generativa ". [1]

Texturas generadas procedimentalmente

Aunque los desarrolladores de software han aplicado técnicas de generación procedimental durante años, pocos productos han empleado este enfoque de forma extensiva. Los elementos generados procedimentalmente han aparecido en videojuegos anteriores: The Elder Scrolls II: Daggerfall se desarrolla en un mundo generado principalmente por procedimientos, lo que le da un mundo de aproximadamente dos tercios del tamaño real de las Islas Británicas . Soldier of Fortune de Raven Software utiliza rutinas simples para detallar los modelos enemigos, mientras que su secuela presentó un modo de nivel generado aleatoriamente . Avalanche Studios empleó la generación procedimental para crear un grupo grande y variado de islas tropicales detalladas para Just Cause . No Man's Sky , un juego desarrollado por el estudio de juegos Hello Games , se basa en elementos generados por procedimientos.

La demoscene moderna utiliza generación procedimental para empaquetar una gran cantidad de contenido audiovisual en programas relativamente pequeños.

Anualmente se presentan nuevos métodos y aplicaciones en conferencias como la Conferencia IEEE sobre Inteligencia Computacional y Juegos y la Conferencia AAAI sobre Inteligencia Artificial y Entretenimiento Digital Interactivo. [2]

En particular, en la aplicación de la generación procedimental en videojuegos, que se pretende que sean altamente rejugables, existe la preocupación de que los sistemas procedimentales puedan generar una cantidad infinita de mundos para explorar, pero sin la suficiente guía humana y reglas para guiarlos. El resultado se ha denominado "avena procedimental", un término acuñado por la escritora Kate Compton, ya que, si bien es posible generar matemáticamente miles de cuencos de avena con la generación procedimental, el usuario los percibirá como iguales y carecerá de la noción de singularidad percibida que un sistema procedimental debería buscar. [3]

Aplicación contemporánea

Juegos de rol de mesa

El uso de la generación procedimental en los juegos tiene sus orígenes en el ámbito de los juegos de rol de mesa (RPG). [4] El sistema de mesa líder, Advanced Dungeons & Dragons , proporcionó formas para que el "dungeon master" generara mazmorras y terrenos utilizando tiradas de dados aleatorias, ampliadas en ediciones posteriores con complejas tablas procedimentales de ramificación. Strategic Simulations bajo licencia de TSR lanzó Dungeon Master's Assistant , un programa de computadora que generaba mazmorras basadas en estas tablas publicadas. Tunnels & Trolls , publicado por Flying Buffalo , [5] fue diseñado principalmente en torno al juego en solitario y utilizó una generación procedimental similar para sus mazmorras. Otros juegos de rol de mesa tomaron prestados conceptos similares en la generación procedimental para varios elementos del mundo. [6]

Muchas herramientas en línea para Dungeon Masters ahora utilizan la generación de procedimientos en distintos grados. [ cita requerida ]

Juegos de vídeo

Historia temprana

Un mapa de mazmorra generado por procedimiento en el videojuego NetHack

Antes de los videojuegos orientados a los gráficos, los juegos roguelike , un género inspirado directamente en Dungeons & Dragons adoptado para el juego en solitario, utilizaban en gran medida la generación procedimental para producir mazmorras aleatoriamente, de la misma manera que lo habían hecho los sistemas de mesa. Entre estos primeros juegos se encuentran Beneath Apple Manor (1978) y el homónimo del género, Rogue (1980). El sistema de generación procedimental en los roguelikes creaba mazmorras en ASCII (o sistemas regulares basados ​​en mosaicos) y definía habitaciones, pasillos, monstruos y tesoros para desafiar al jugador. Los roguelikes, y los juegos basados ​​en los conceptos de roguelike, permiten el desarrollo de una jugabilidad compleja sin tener que dedicar demasiado tiempo a crear el mundo de un juego. [7]

En 1978, Maze Craze para Atari VCS utilizó un algoritmo para generar un laberinto aleatorio de arriba hacia abajo para cada juego. [8]

Algunos juegos usaban generadores de números pseudoaleatorios . Estos PRNG se usaban a menudo con valores de semilla predefinidos para generar mundos de juego muy grandes que parecían estar prefabricados. The Sentinel supuestamente tenía 10,000 niveles diferentes almacenados en solo 48 y 64 kilobytes. Un caso extremo fue Elite , que originalmente se planeó para contener un total de 248 ( aproximadamente 282 billones) galaxias con 256 sistemas solares cada una. Sin embargo, el editor temía que un universo tan gigantesco causara incredulidad en los jugadores, y ocho de estas galaxias fueron elegidas para la versión final. [9] Otros ejemplos tempranos notables incluyen el juego de 1985 Rescue on Fractalus (que usaba fractales para crear procedimentalmente, en tiempo real, las escarpadas montañas de un planeta alienígena) y River Raid (el juego de Activision de 1982 que usaba una secuencia de números pseudoaleatorios generados por un registro de desplazamiento de retroalimentación lineal para generar un laberinto de obstáculos en movimiento).

Uso moderno

Textura procedimental mediante teselación de Voronoi

Aunque los juegos de computadora modernos no tienen las mismas restricciones de memoria y hardware que tenían los juegos anteriores, el uso de generación procedimental se emplea con frecuencia para crear juegos aleatorios, mapas, niveles, personajes u otras facetas que son únicas en cada partida. [10] [11]

En 2004, un grupo de demostración alemán lanzó un juego de disparos en primera persona para PC llamado .kkrieger . Está contenido íntegramente en un ejecutable de 96 kilobytes para Microsoft Windows que genera cientos de megabytes de datos 3D y de texturas cuando se ejecuta. Según uno de los programadores, "fue un completo fracaso en lo que respecta al aspecto del juego (principalmente porque a nadie de los involucrados le importaba realmente ese aspecto)". [12]

RoboBlitz de Naked Sky utilizó la generación procedimental para maximizar el contenido en un archivo descargable de menos de 50 MB para Xbox Live Arcade . Spore de Will Wright también hace uso de la síntesis procedimental.

La generación procedimental se utiliza a menudo en sistemas de botín de juegos basados ​​en misiones, como juegos de rol de acción y juegos de rol multijugador masivos en línea . Aunque las misiones pueden presentar recompensas fijas, se pueden generar otros botines, como armas y armaduras, para el jugador en función del nivel del personaje del jugador, el nivel de la misión, su desempeño en la misión y otros factores aleatorios. Esto a menudo lleva a que el botín tenga una calidad de rareza aplicada para reflejar cuándo el sistema de generación procedimental ha producido un artículo con atributos mejores que el promedio. Por ejemplo, la serie Borderlands se basa en su sistema de generación procedimental que puede crear más de un millón de armas únicas y otros equipos. [13]

Una mesa generada procedimentalmente en el videojuego Vintage Story

Muchos juegos de mundo abierto o de supervivencia crean procedimentalmente un mundo de juego a partir de una semilla aleatoria o una proporcionada por el jugador, de modo que cada partida es diferente. Estos sistemas de generación crean numerosos biomas basados ​​en píxeles o vóxeles con distribución de recursos, objetos y criaturas. El jugador con frecuencia tiene la capacidad de ajustar algunos de los parámetros de generación, como especificar la cantidad de cobertura de agua en un mundo. Algunos ejemplos de estos juegos incluyen Dwarf Fortress , Minecraft y Vintage Story .

La generación procedimental también se utiliza en los juegos de exploración y comercio espacial. Elite: Dangerous , al utilizar las 400 mil millones de estrellas conocidas de la Vía Láctea como base mundial, utiliza la generación procedimental para simular los planetas de estos sistemas solares. De manera similar, Star Citizen utiliza la tecnología para crear planetas perfectamente cargados entre su universo hecho a mano. I-Novae Infinity presenta una gran cantidad de planetas que se generan procedimentalmente entre los cuales el jugador puede viajar a través de naves espaciales. Outerra Anteworld es un videojuego en desarrollo que utiliza generación procedimental y datos del mundo real para crear una réplica virtual del planeta Tierra a escala real.

No Man's Sky , que utiliza la generación procedimental, es el videojuego más grande de la historia, con un universo de 18 trillones de planetas en galaxias enteras, que se pueden explorar en vuelo o a pie. Todos los planetas tienen su propio terreno, clima, flora y fauna únicos y diversos, así como una serie de especies alienígenas que viajan por el espacio. El mismo contenido existe en los mismos lugares para todos los jugadores (gracias a un único número de semilla aleatorio en su motor determinista), lo que permite a los jugadores encontrarse y compartir descubrimientos. [14] [15] [16]

Otras aplicaciones

Al igual que en los videojuegos, la generación procedimental se utiliza a menudo en el cine para crear rápidamente espacios visualmente interesantes y precisos. Esto se aplica a una amplia variedad de aplicaciones.

Una de las aplicaciones se conoce como fábrica imperfecta , en la que los artistas pueden generar rápidamente muchos objetos similares. Esto explica el hecho de que, en la vida real, nunca hay dos objetos exactamente iguales. Por ejemplo, un artista podría modelar un producto para una estantería de un supermercado y luego crear una fábrica imperfecta para generar muchos objetos similares para llenar la estantería.

MASSIVE es un paquete de software de inteligencia artificial y animación por computadora de alta gama que se utiliza para generar efectos visuales relacionados con multitudes para películas y televisión. Fue desarrollado para crear automáticamente ejércitos de combate de cientos de miles de soldados para las películas de El Señor de los Anillos de Peter Jackson . [17]

El ruido coherente puede ser extremadamente importante para el flujo de trabajo procedimental en el cine. El ruido simplex suele ser más rápido y tiene menos artefactos, aunque también se puede utilizar una función más antigua llamada ruido de Perlin . El ruido coherente, en este caso, se refiere a una función que genera una pseudoaleatoriedad suave en n dimensiones.

Véase también

Referencias

  1. ^ Brian Eno (8 de junio de 1996). "Charla pronunciada en San Francisco el 8 de junio de 1996". Revista inmotion . Consultado el 7 de noviembre de 2008 .
  2. ^ "Inteligencia artificial y entretenimiento digital interactivo". AIIDE.org . Consultado el 12 de junio de 2016 .
  3. ^ Cook, Michael (10 de agosto de 2016). «Lenguajes alienígenas: cómo hablamos de generación procedimental». Game Developer . Archivado desde el original el 9 de mayo de 2024. Consultado el 9 de mayo de 2024 .
  4. ^ Brown, Joseph Alexander; Scirea, Marco (2018). "Generación procedimental para juegos de mesa: enfoques impulsados ​​por el usuario con restricciones en los recursos computacionales". SEDA 2018: Actas de la 6.ª Conferencia internacional sobre ingeniería de software para aplicaciones de defensa . Conferencia internacional sobre ingeniería de software para aplicaciones de defensa. Roma, Italia. págs. 44–54.
  5. ^ ""Una charla con Ken St Andre, parte 1"". YouTube.com . Consultado el 6 de noviembre de 2021 .
  6. ^ Smith, Gillian (2015). Una historia analógica de la generación de contenido procedimental (PDF) . Fundamentos de los juegos digitales 2015. Pacific Grove, California . Consultado el 7 de octubre de 2019 .
  7. ^ Hatfield, Tom (29 de enero de 2013). "Rise Of The Roguelikes: A Genre Evolves". GameSpy . Consultado el 24 de abril de 2013 .
  8. ^ "La locura del laberinto". Atari Mania .
  9. ^ Francis Spufford (18 de octubre de 2003). "Amos de su universo". The Guardian.
  10. ^ Moss, Richard (1 de enero de 2016). «7 usos de la generación procedimental que todos los desarrolladores deberían estudiar». Game Developer . Archivado desde el original el 9 de mayo de 2024. Consultado el 1 de enero de 2016 .
  11. ^ Baker, Chris (9 de agosto de 2016). «'No Man's Sky': cómo los videojuegos se están construyendo a sí mismos». Rolling Stone . Consultado el 9 de agosto de 2016 .
  12. ^ Giesen, Fabian (8 de abril de 2012). "Metaprogramación para locos". El blog de ryg .
  13. ^ Kuo, Ryan (19 de abril de 2012). «Por qué Borderlands 2 tiene las armas más elegantes del mundo de los videojuegos». Wall Street Journal . Consultado el 21 de abril de 2016 .
  14. ^ Khatchadourian, Raffi (18 de mayo de 2015). «World without end : Creating a full-scale digital cosmos» (Un mundo sin fin: creación de un cosmos digital a gran escala). Annals of Games (Anales de juegos). The New Yorker . Vol. 91, núm. 13. págs. 48–57 . Consultado el 5 de agosto de 2015 .
  15. ^ Wilson (16 de julio de 2015). «Cómo 4 diseñadores crearon un juego con 18,4 trillones de planetas únicos». Fast Company . Consultado el 9 de agosto de 2015 .
  16. ^ Sam White (10 de agosto de 2016). "No Man's Sky: Cómo el juego más grande jamás creado casi nunca se materializó". gamesradar . Consultado el 7 de mayo de 2022 .
  17. ^ "Acerca de Massive". Massive Software . Consultado el 12 de junio de 2016 .

Lectura adicional