stringtranslate.com

Generación procesal

Un ejemplo de generación de procedimientos, aquí se utilizan sistemas L para generar modelos de árbol de aspecto realista. Se pueden generar diferentes modelos cambiando tanto los parámetros deterministas como una semilla aleatoria.

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

Descripción general

Un paisaje procesal renderizado en Terragen

El término procesal se refiere al proceso que calcula una función particular. Los fractales son patrones geométricos que a menudo pueden generarse de forma procesal. El contenido procesal común incluye texturas y mallas . El sonido también suele generarse mediante procedimientos y tiene aplicaciones tanto en la síntesis de voz como en la música. Ha sido utilizado para crear composiciones en diversos géneros de música electrónica por artistas como Brian Eno quien popularizó el término " música generativa ". [1]

Texturas generadas procedimentalmente

Si bien los desarrolladores de software han aplicado técnicas de generación de procedimientos durante años, pocos productos han empleado este enfoque de manera extensiva. Elementos generados procedimentalmente han aparecido en videojuegos anteriores: The Elder Scrolls II: Daggerfall tiene lugar en un mundo generado mayoritariamente procedimentalmente, 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 niveles generado aleatoriamente . Avalanche Studios empleó generación de procedimientos 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 la generación de procedimientos 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]

Particularmente en la aplicación de la generación de procedimientos con videojuegos, que están destinados a ser altamente rejugables, existe la preocupación de que los sistemas de procedimientos puedan generar un número infinito de mundos para explorar, pero sin suficiente guía humana y reglas para guiarlos. El resultado se ha denominado "avena procesal", término acuñado por la escritora Kate Compton, en el sentido de que, si bien es posible generar matemáticamente miles de tazones de avena con generación procesal, el usuario los percibirá como iguales y carecerán de ellos. la noción de unicidad percibida a la que debe aspirar un sistema procesal. [3]

Aplicación contemporánea

Juegos de rol de mesa

El uso de la generación de procedimientos en los juegos tuvo su origen en los juegos de rol de mesa (RPG). [4] El sistema de mesa líder, Advanced Dungeons & Dragons , proporcionó formas para que el "maestro de la mazmorra" generara mazmorras y terreno usando tiradas de dados aleatorias, ampliadas en ediciones posteriores con complejas tablas de procedimientos ramificados. Strategic Simulators bajo licencia de TSR lanzó Dungeon Master's Assistant , un programa informático que generaba mazmorras basadas en estas tablas publicadas. Tunnels & Trolls , publicado por Flying Buffalo , [5] fue diseñado principalmente en torno al juego solitario y utilizó una generación de procedimientos similar para sus mazmorras. Otros juegos de rol de mesa tomaron prestados conceptos similares en generación de procedimientos para varios elementos del mundo. [6]

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

Juegos de vídeo

Historia temprana

Un mapa de mazmorra generado procedimentalmente en el videojuego NetHack

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

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

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

uso moderno

Textura procesal usando 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 de procedimientos se emplea con frecuencia para crear juegos, mapas, niveles, personajes u otras facetas aleatorias que son únicas en cada partida. [11] [12]

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

RoboBlitz de Naked Sky utilizó generación de procedimientos 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 de procedimientos 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 masivo en línea . Aunque las misiones pueden incluir 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 cualidad de rareza aplicada para reflejar cuándo el sistema de generación de procedimientos ha producido un artículo con atributos mejores que el promedio. Por ejemplo, la serie Borderlands se basa en su sistema de generación de procedimientos que puede crear más de un millón de armas y otros equipos únicos. [14]

Muchos juegos de supervivencia o de mundo abierto crean procedimentalmente un mundo de juego a partir de una semilla aleatoria o una proporcionada por el jugador, de modo que cada partida sea 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 frecuentemente tiene la capacidad de ajustar algunos de los parámetros de generación, como especificar la cantidad de cobertura de agua en un mundo. Ejemplos de este tipo de juegos incluyen Dwarf Fortress y Minecraft .

La generación de procedimientos también se utiliza en juegos comerciales y de exploración espacial. Elite: Dangerous , mediante el uso de las 400 mil millones de estrellas conocidas de la Vía Láctea como base mundial, utiliza 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 dentro de su universo hecho a mano. I-Novae Infinity presenta una gran cantidad de planetas generados procedimentalmente entre los cuales el jugador puede viajar en naves espaciales. Outerra Anteworld es un videojuego en desarrollo que utiliza generación de procedimientos y datos del mundo real para crear una réplica virtual del planeta Tierra a escala real.

No Man's Sky , mediante generación procedimental, es el videojuego más grande de la historia, que presenta un universo de 18 quintillones 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 inicial aleatorio en su motor determinista), lo que permite a los jugadores encontrarse y compartir descubrimientos. [15] [16] [17]

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 viene en una amplia variedad de aplicaciones.

Una aplicación se conoce como fábrica imperfecta , donde 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 el estante de una tienda de comestibles y luego crear una fábrica imperfecta para generar muchos objetos similares para poblar el estante.

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 cine 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 . [18]

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

Ver también

Referencias

  1. ^ Brian Eno (8 de junio de 1996). "Una charla pronunciada en San Francisco, el 8 de junio de 1996". revista en movimiento . 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 procesal". Gamasutra . Consultado el 7 de octubre de 2019 .
  4. ^ Marrón, José Alejandro; Scirea, Marco (2018). "Generación de procedimientos para juegos de mesa: enfoques impulsados ​​por el usuario con restricciones a los recursos computacionales". SEDA 2018: Actas de la 6.ª Conferencia Internacional sobre Ingeniería de Software para Aplicaciones de Defensa . Congreso Internacional de 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 procesal (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: un género evoluciona". JuegoSpy . Consultado el 24 de abril de 2013 .
  8. ^ "Locura por los laberintos". Atari Manía .
  9. ^ Hiranand, Ravi (18 de junio de 2015). "18 quintillones de planetas: el videojuego que imagina una galaxia entera | CNN Business". CNN . Consultado el 13 de diciembre de 2022 .
  10. ^ Francis Spufford (18 de octubre de 2003). "Maestros de su universo". Guardián.
  11. ^ Moss, Richard (1 de enero de 2016). "7 usos de la generación de procedimientos que todo desarrollador debería estudiar". Gamasutra . Consultado el 1 de enero de 2016 .
  12. ^ Baker, Chris (9 de agosto de 2016). "'No Man's Sky': cómo se están construyendo los juegos". Piedra rodante . Consultado el 9 de agosto de 2016 .
  13. ^ Giesen, Fabián (8 de abril de 2012). "Metaprogramación para locos". El blog de ryg .
  14. ^ Kuo, Ryan (19 de abril de 2012). "Por qué Borderlands 2 tiene las armas más elegantes en los juegos". Wall Street Journal . Consultado el 21 de abril de 2016 .
  15. ^ Khatchadourian, Raffi (18 de mayo de 2015). "Mundo sin fin: creando un cosmos digital a gran escala". Anales de juegos. El neoyorquino . vol. 91, núm. 13. págs. 48–57 . Consultado el 5 de agosto de 2015 .
  16. ^ Wilson (16 de julio de 2015). "Cómo 4 diseñadores crearon un juego con 18,4 quintillones de planetas únicos". Empresa Rápida . Consultado el 9 de agosto de 2015 .
  17. ^ Sam White (10 de agosto de 2016). "No Man's Sky: Cómo el juego más grande jamás creado casi nunca sucedió". radar de juegos . Consultado el 7 de mayo de 2022 .
  18. ^ "Acerca de masivo". Software masivo . Consultado el 12 de junio de 2016 .

Otras lecturas