Este artículo necesita citas adicionales para su verificación . ( noviembre de 2015 ) |
En informática , la generación de procedimientos es un método para crear datos algorítmicamente en lugar de hacerlo manualmente, normalmente a través de una combinación de activos 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 tamaños de archivo más pequeños, mayores cantidades de contenido y aleatoriedad para un juego menos predecible. La generación procedimental es una rama de la síntesis de medios .
El término procedimental se refiere al proceso que calcula una función en particular. Los fractales son patrones geométricos que a menudo se pueden generar procedimentalmente. El contenido de procedimiento común incluye texturas y mallas . El sonido a menudo también se genera mediante procedimientos 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 que popularizó el término " música generativa ". [1]
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. Los elementos generados por procedimientos han aparecido en videojuegos anteriores: The Elder Scrolls II: Daggerfall tiene lugar en un mundo generado principalmente por procedimientos, lo que le da a un mundo aproximadamente dos tercios del tamaño real de las Islas Británicas . Soldier of Fortune de Raven Software usa rutinas simples para detallar los modelos enemigos, mientras que su secuela presenta un modo de nivel generado aleatoriamente . Avalanche Studios empleó la 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 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 e 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 reproducibles, existe la preocupación de que los sistemas de procedimientos puedan generar un número infinito 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, en el sentido de que si bien es posible generar matemáticamente miles de tazones de avena con generación procedimental, el usuario los percibirá como iguales y no la noción de unicidad percibida a la que debe aspirar un sistema procesal. [3]
El uso de la generación procedimental en los juegos se originó en el lugar de los juegos de rol de mesa (RPG). [4] El sistema de mesa líder, Advanced Dungeons & Dragons , proporcionó formas para que el "maestro de las mazmorras" generara mazmorras y terrenos usando tiradas de dado aleatorias, expandidas en ediciones posteriores con complejas tablas de procedimientos ramificados. Las Simulaciones estratégicas bajo licencia de TSR lanzaron Dungeon Master's Assistant , un programa informático que generaba mazmorras basadas en estas tablas publicadas. Túneles y Trolls, también publicado por TSR, 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 la generación de procedimientos para varios elementos del mundo. [5]
Muchas herramientas en línea para Dungeon Masters ahora usan la generación de procedimientos en diversos grados. [ cita requerida ]
Antes de los videojuegos de orientación gráfica, los juegos roguelike , un género directamente inspirado en Dungeons & Dragons adoptado para el juego de solitario, utilizaban mucho la generación de procedimientos 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 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 los conceptos de roguelike permiten el desarrollo de una jugabilidad compleja sin tener que dedicar demasiado tiempo a crear el mundo de un juego. [6]
Maze Craze de 1978 para Atari VCS utilizó un algoritmo para generar un laberinto aleatorio de arriba hacia abajo para cada juego. [7]
Algunos juegos usaban generadores de números pseudoaleatorios . Estos PRNG se utilizan a menudo con predefinidos de semillas valores con el fin de generar grandes mundos de juego que parecían ser preparado de antemano. El 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 2 48 (aproximadamente 282 billones) de 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. [8] Otros ejemplos tempranos notables incluyen el juego de 1985 Rescue on Fractalus.que usó fractales para crear de manera procedimental, en tiempo real, las escarpadas montañas de un planeta alienígena y River Raid , el juego de Activision de 1982 que usó una secuencia numérica pseudoaleatoria generada por un registro de desplazamiento de retroalimentación lineal para generar un laberinto de obstáculos en movimiento.
Aunque los juegos de computadora modernos no tienen las mismas restricciones de memoria y hardware que tenían los juegos anteriores, el uso de la generación de procedimientos se emplea con frecuencia para crear juegos aleatorios, mapas, niveles, personajes u otras facetas que son únicas en cada juego. [9] [10]
En 2004, un grupo de demostración alemán lanzó un juego de disparos en primera persona para PC llamado .kkrieger . Está completamente contenido en un ejecutable de 96 kilobytes para Microsoft Windows que genera cientos de megabytes de datos de textura y 3D cuando se ejecuta. Según uno de los programadores, "fue un completo fracaso en lo que respecta al lado del juego (principalmente porque nadie involucrado realmente se preocupaba por ese aspecto)". [11]
RoboBlitz de Naked Sky utilizó la generación de procedimientos para maximizar el contenido en un archivo descargable de menos de 50 MB para Xbox Live Arcade . Will Wright 's Spore también hace uso de la síntesis de procedimiento.
La generación por procedimientos se usa a menudo en sistemas de botín de juegos impulsados por misiones, como los juegos de rol de acción y los 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 conduce a que el botín tenga una calidad 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. [12]
Muchos juegos de mundo abierto o de supervivencia crean de forma procedimental un mundo de juego a partir de una semilla aleatoria o una proporcionada por el jugador, de modo que cada juego 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. Ejemplos de tales juegos incluyen Dwarf Fortress y Minecraft.. Un artefacto de la generación de procedimientos en torno a estos juegos es que si el espacio que el jugador puede explorar no está limitado, la aleatoriedad de la generación de procedimientos comenzará a producir más ruido que contenido; esto se ejemplifica en la idea de las "Tierras Lejanas" dentro de algunas versiones anteriores de Minecraft , donde las transiciones suaves habituales entre biomas fueron reemplazadas por formaciones al azar. [13]
La generación procedimental también se utiliza en la exploración espacial y los juegos comerciales. Elite: Dangerous , mediante el uso de 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 en estos sistemas solares. De manera similar, Star Citizen usa la tecnología para sus planetas, para crear una colección de planetas del tamaño de un planeta 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 de procedimientos y datos del mundo real para crear una réplica virtual del planeta Tierra a escala real.No Man's Sky presenta un universo que contiene 18 trillones de planetas que se generan procedimentalmente sobre la marcha a medida que el jugador los encuentra, incluido su terreno, clima, flora y fauna, así como una serie de especies alienígenas que viajan por el espacio. Este universo se define mediante el uso de un úniconúmero de semilla aleatorio para su motor determinista, asegurando que se generará el mismo contenido en los mismos lugares para todos los jugadores, lo que permite a los jugadores compartir descubrimientos utilizando solo el conocimiento de las ubicaciones de los planetas en la galaxia virtual. [14] [15]
Al igual que en los videojuegos, la generación de procedimientos se utiliza a menudo en películas para crear rápidamente espacios visualmente interesantes y precisos. Esto viene en una amplia variedad de aplicaciones.
Una aplicación se conoce como una fábrica imperfecta , donde los artistas pueden generar rápidamente muchos objetos similares. Esto explica el hecho de que, en la vida real, no 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 la multitud para el cine y la televisión. Fue desarrollado para crear ejércitos de lucha de cientos de miles de soldados por Peter Jackson 's El Señor de los Anillos películas de forma automática. [dieciséis]
El ruido coherente puede ser extremadamente importante para el flujo de trabajo de procedimiento en la película. El ruido simplex suele ser más rápido con menos artefactos, aunque también se puede utilizar una función anterior llamada ruido Perlin . El ruido coherente, en este caso, se refiere a una función que genera una pseudoaleatoriedad suave en n dimensiones.
Los paisajes en The Mandalorian se producen sobre la marcha utilizando un Unreal Engine 4 modificado y LED para la proyección del resultado que se está filmando en tiempo real para mostrar reflejos precisos en el set. [17] [18]