
En informática , la generación procedimental es un método para crear datos algorítmicamente, en lugar de manualmente, generalmente mediante una combinación de contenido generado por humanos y algoritmos, junto con la aleatoriedad y la capacidad de procesamiento generadas por computadora. En gráficos por computadora , se usa comúnmente para crear texturas y modelos 3D . En videojuegos, se usa para generar automáticamente grandes cantidades de contenido. Dependiendo de la implementación, las ventajas de la generación procedimental pueden incluir archivos más pequeños, mayor cantidad de contenido y aleatoriedad para una jugabilidad menos predecible.
Descripción general

El término procedimental se refiere al proceso que calcula una función específica. Los fractales son patrones geométricos que a menudo se pueden generar de forma procedimental. El contenido procedimental común incluye texturas y mallas . El sonido también se genera frecuentemente de forma procedimental y tiene aplicaciones tanto en la síntesis de voz como en la música. Se ha 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 ]

La generación procedural se creó originalmente como una herramienta para videojuegos, ayudando a generar niveles, texturas y mundos completos con poca intervención humana. Los elementos generados proceduralmente han aparecido en videojuegos desde la década de 1990: The Elder Scrolls II: Daggerfall se desarrolla en un mundo generado mayoritariamente de forma procedural, lo que le da un tamaño aproximado de dos tercios del tamaño real de las Islas Británicas . Soldier of Fortune de Raven Software utiliza rutinas simples para detallar los modelos de los enemigos, mientras que su secuela presentaba un modo de nivel generado aleatoriamente. Avalanche Studios empleó la generación procedural 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 videojuegos Hello Games , se basa completamente en elementos generados proceduralmente.
La demoscene moderna utiliza la generación procedural para empaquetar una gran cantidad de contenido audiovisual en programas relativamente pequeños.
En conferencias como la IEEE Conference on Computational Intelligence and Games y la AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment se presentan anualmente nuevos métodos y aplicaciones. [ 2 ]
Particularmente en la aplicación de la generación procedimental a los videojuegos, que están diseñados para ser altamente rejugables, existe la preocupación de que los sistemas procedimentales puedan generar un número infinito de mundos para explorar, pero sin la guía y las reglas humanas suficientes para dirigirlos. 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 tazones 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 ]
En los juegos de rol de mesa
El uso de la generación procedimental en los juegos tuvo su origen en los juegos de rol de mesa (RPG). [ 4 ] El sistema de mesa líder, Advanced Dungeons & Dragons , proporcionaba al "director de juego" la posibilidad de generar mazmorras y terrenos mediante tiradas de dados aleatorias, ampliadas en ediciones posteriores con complejas tablas procedimentales ramificadas. Strategic Simulations, bajo licencia de TSR, lanzó Dungeon Master's Assistant , un programa informático que generaba mazmorras basándose en estas tablas publicadas. Tunnels & Trolls , publicado por Flying Buffalo , [ 5 ] fue diseñado principalmente para el juego en solitario y utilizó una generación procedimental similar para sus mazmorras. Otros juegos de rol de mesa adoptaron conceptos similares de generación procedimental para diversos elementos del mundo. [ 6 ]
Actualmente, muchas herramientas en línea para Dungeon Masters utilizan la generación procedural en diversos grados.
En los videojuegos
Historia temprana

Antes de los videojuegos con gráficos avanzados, los juegos roguelike , un género directamente inspirado en Dungeons & Dragons y adaptado para el juego en solitario, utilizaban ampliamente la generación procedural para crear mazmorras aleatoriamente, de forma similar a como lo hacían los juegos de mesa. Entre estos primeros juegos se encuentran Beneath Apple Manor (1978) y el título que da nombre al género, Rogue (1980). El sistema de generación procedural de los roguelikes creaba mazmorras en sistemas basados en cuadrículas ASCII (o cuadrículas regulares) y definía habitaciones, pasillos, monstruos y tesoros para desafiar al jugador. Los roguelikes, y los juegos basados en sus conceptos, permiten desarrollar mecánicas de juego complejas sin tener que dedicar demasiado tiempo a la creación del mundo del juego. [ 7 ]
Maze Craze de 1978 para Atari VCS utilizaba un algoritmo para generar un laberinto aleatorio de arriba hacia abajo para cada juego. [ 8 ]
Algunos juegos utilizaban generadores de números pseudoaleatorios ( PRNG). Estos PRNG se usaban a menudo con valores de semilla predefinidos para generar mundos de juego muy grandes que parecían prefabricados. La semilla del mapa es un número o cadena de texto (relativamente) corto que se utiliza para crear el mundo del juego ("mapa") de forma procedimental. Esto significa que, si bien el mapa generado con una semilla única puede tener un tamaño de muchos megabytes (a menudo se genera de forma incremental y su tamaño potencial es prácticamente ilimitado), es posible volver al mapa original o intercambiarlo entre jugadores, simplemente especificando la semilla del mapa.
Se suponía que Sentinel 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) galaxias con 256 sistemas solares cada una. 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. [ 9 ] Otros ejemplos notables de los inicios incluyen el juego de 1985 Rescue on Fractalus (que usaba fractales para crear proceduralmente, en tiempo real, las montañas escarpadas de un planeta alienígena) y River Raid (el juego de Activision de 1982 que usaba una secuencia de números pseudoaleatorios generada por un registro de desplazamiento de retroalimentación lineal para generar un laberinto de obstáculos desplazable).
Uso moderno


Aunque los videojuegos modernos no tienen las mismas restricciones de memoria y hardware que los juegos anteriores, el uso de la generación procedural se emplea con frecuencia para crear juegos, mapas, niveles, personajes u otros aspectos aleatorios que son únicos en cada partida. [ 10 ] [ 11 ]
Muchos juegos roguelike modernos (a veces denominados "roguelites") se han alejado de los roguelikes iniciales por turnos para incorporar mecánicas de otros géneros de videojuegos, como plataformas o shoot 'em ups , aunque aún conservan elementos de generación procedural en la forma en que se generan los mapas y niveles del juego para asegurar que el jugador tenga una forma de completar cada nivel junto con la muerte permanente. Esto también se extiende a los potenciadores y otros objetos que pueblan el mapa del juego, seleccionados por el juego mediante reglas generativas procedurales para asegurar que el juego sea justo para el jugador y que este sienta que tiene el control para ganar. [ 12 ]

La generación procedural se usa a menudo en los sistemas de botín de juegos basados en misiones, como los juegos de rol de acción y los juegos de rol multijugador masivos en línea . Aunque las misiones pueden tener recompensas fijas, otro botín, como armas y armaduras, puede generarse para el jugador en función del nivel del personaje, el nivel de la misión, su rendimiento en la misión y otros factores aleatorios. Esto suele dar lugar a que el botín tenga una calidad de rareza que refleja cuándo el sistema de generación procedural ha producido un objeto con atributos superiores a la media. Por ejemplo, la serie Borderlands se basa en su sistema de generación procedural que puede crear más de un millón de armas y otros equipos únicos. [ 13 ] Muchos juegos de mundo abierto o de supervivencia crean proceduralmente 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 suele tener la posibilidad de ajustar algunos de los parámetros de generación, como especificar la cantidad de cobertura de agua en un mundo. Algunos ejemplos de este tipo de juegos son Dwarf Fortress , Minecraft y Vintage Story .
La generación procedural también se utiliza en juegos de exploración espacial y comercio. Elite: Dangerous , al usar los 400 mil millones de estrellas conocidas de la Vía Láctea como base para su mundo, utiliza la generación procedural para simular los planetas de estos sistemas solares. De manera similar, Star Citizen utiliza esta tecnología para crear planetas integrados a la perfección en su universo diseñado a mano. Outerra Anteworld es un videojuego en desarrollo que utiliza la generación procedural y datos del mundo real para crear una réplica virtual del planeta Tierra a escala real.
No Man's Sky , mediante la generación procedural, es el videojuego más grande de la historia, con un universo de 18 quintillones de planetas repartidos por galaxias enteras, que pueden explorarse volando o a pie. Cada planeta posee un terreno, un clima, una flora y una fauna únicos y diversos, además de numerosas especies alienígenas que viajan por el espacio. El mismo contenido se encuentra en los mismos lugares para todos los jugadores (gracias a un único número semilla aleatorio en su motor determinista), lo que permite que los jugadores se encuentren y compartan descubrimientos. [ 14 ] [ 15 ] [ 16 ]
Entre los juegos que utilizan generación procedural e incluyen soporte para establecer la semilla del mapa se encuentran Ark: Survival Evolved , Minecraft , Factorio , SCP – Containment Breach y Terraria . En el caso específico de Minecraft , existen sitios web [ 17 ] [ 18 ] y artículos [ 19 ] [ 20 ] dedicados a compartir semillas que han demostrado generar mapas interesantes.

La semilla del mapa solo tiene sentido en el contexto del algoritmo utilizado para generarlo (a menudo [ 21 ] [ 22 ] basado en ruido de Perlin ). Por lo tanto, si el algoritmo de generación de mapas cambia, el mapa generado por una semilla determinada también cambiará. Estos cambios son particularmente evidentes en Minecraft , donde se gestionan (o más bien, no se gestionan) simplemente generando cualquier fragmento recién explorado de un mapa existente utilizando el nuevo algoritmo, lo que provoca discontinuidades obvias y abruptas después de la actualización.
Se pueden utilizar semillas favorables al realizar speedruns de videojuegos especificando manualmente la semilla del mapa.
En otras áreas
Al igual que en los videojuegos, la generación procedural se utiliza con frecuencia en el cine para crear rápidamente espacios visualmente interesantes y precisos. Esto tiene una amplia variedad de aplicaciones.
Una aplicación son las fábricas imperfectas , que los artistas utilizan para generar rápidamente muchos objetos similares. Esto se debe a que, en la vida real, nunca hay dos objetos exactamente iguales. Por ejemplo, un artista puede modelar un producto para un supermercado y luego crear una fábrica imperfecta para generar muchas copias imperfectas y llenar un estante entero.
MASSIVE es un paquete de software de alta gama para animación por computadora e inteligencia artificial que se utiliza para generar efectos visuales de multitudes para cine y televisión. Fue desarrollado para crear automáticamente ejércitos de cientos de miles de soldados para las películas de El Señor de los Anillos de Peter Jackson . [ 23 ]
El ruido coherente puede ser de suma importancia para el flujo de trabajo procedimental en el cine. 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 . En este caso, el ruido coherente se refiere a una función que genera una pseudoaleatoriedad suave en n dimensiones.
Poyck estudió cómo se pueden utilizar paisajes urbanos generados proceduralmente para ayudar a simulaciones sociales y para entrenar coches autónomos. [ 24 ]
La generación procedimental desempeña un papel fundamental en el desarrollo de los gemelos digitales , que son réplicas virtuales muy detalladas de objetos del mundo real utilizadas para la simulación, el análisis y la planificación.
Direcciones futuras
Recientemente, se han empleado redes neuronales para refinar el contenido generado proceduralmente. La combinación de métodos de aleatorización clásicos con aprendizaje profundo ofrece nuevas formas de generar audio, imágenes, objetos 3D y otros tipos de contenido. Esto resulta especialmente útil en el desarrollo de niveles de videojuegos; el aprendizaje por refuerzo permite el desarrollo de agentes que juegan a los niveles generados, actuando como evaluadores automáticos de contenido. [ 25 ]
La integración de la generación procedimental con el aprendizaje profundo transforma el panorama de la creación de contenido digital. Zakaria et al. demostraron que los diferentes métodos de aprendizaje profundo para generar procedimentalmente los niveles de Sokoban presentan distintas fortalezas y debilidades. [ 26 ]
De cara al futuro, los investigadores están estudiando métodos para combinar grandes modelos de lenguaje (LLM) con sistemas de generación procedimental basados en aprendizaje profundo, con el objetivo de mejorar su adaptabilidad. Zakaria sugiere que "los LLM combinados con aprendizaje por refuerzo pueden crear recursos procedimentales que evolucionan dinámicamente en función de la retroalimentación en tiempo real". [ 26 ] Zakaria investigó la aplicación de estructuras avanzadas de aprendizaje profundo, como generadores LSTM (memoria a largo y corto plazo) con remuestreo y GAN (redes generativas antagónicas), para mejorar el diseño de nivel procedimental. Descubrieron que "el muestreo de diversidad aumenta de forma consistente el número de soluciones y firmas generadas", lo que demuestra que los enfoques híbridos ayudan a superar problemas como patrones repetitivos o falta de variación. [ 26 ]
Véase también
- Autómatas celulares
- Creatividad computacional
- Paisaje fractal
- Movimiento browniano fraccional
- Arte generativo
- IA generativa
- Sistemas L
- Generador congruencial lineal
- Lista de juegos que utilizan generación procedural
- Síntesis de medios (IA)
- Ruido , ruido Perlin , ruido simplex
- Animación procedimental
- Modelado procedimental
- Textura procedural
- Roguelike
- Generador de escenarios
Referencias
- ↑ Brian Eno (8 de junio de 1996). "Una charla impartida en San Francisco, 8 de junio de 1996" . Revista inmotion . Consultado el 7 de noviembre de 2008 .
- ↑ "Inteligencia artificial y entretenimiento digital interactivo" . AIIDE.org . Consultado el 12 de junio de 2016 .
- ↑ Cook, Michael (10 de agosto de 2016). "Lenguajes alienígenas: cómo hablamos de la generación procedimental" . Game Developer . Archivado del original el 9 de mayo de 2024. Recuperado el 9 de mayo de 2024 .
- ↑ 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 de Ingeniería de Software para Aplicaciones de Defensa . Conferencia Internacional de Ingeniería de Software para Aplicaciones de Defensa. Roma, Italia. pp. 44–54 .
- ↑ ""Una charla con Ken St Andre, Parte 1"" . YouTube.com. 17 de julio de 2010 . Consultado el 6 de noviembre de 2021 .
- ↑ Smith, Gillian (2015). Una historia analógica de la generación de contenido procedimental (PDF) . Fundamentos de los juegos digitales 2015. Pacific Grove, California . Recuperado el 7 de octubre de 2019 .
- ↑ Hatfield, Tom (29 de enero de 2013). "El auge de los roguelikes: un género que evoluciona" . GameSpy . Consultado el 24 de abril de 2013 .
- ↑ "Laberinto loco" . Atari Mania .
- ↑ Francis Spufford (18 de octubre de 2003). "Amos de su universo" . The Guardian.
- ↑ Moss, Richard (1 de enero de 2016). "7 usos de la generación procedural que todos los desarrolladores deberían estudiar" . Game Developer . Archivado del original el 9 de mayo de 2024. Recuperado el 1 de enero de 2016 .
- ↑ Baker, Chris (9 de agosto de 2016) .'No Man's Sky': Cómo los juegos se están construyendo a sí mismos" . Rolling Stone . Consultado el 9 de agosto de 2016 .
- ↑ Stewart, Jazz (23 de agosto de 2025). "Los mejores roguelikes siempre juegan limpio" . Polygon . Consultado el 23 de agosto de 2025 .
- ↑ Kuo, Ryan (19 de abril de 2012). "Por qué Borderlands 2 tiene las armas más elegantes de los videojuegos" . Wall Street Journal . Consultado el 21 de abril de 2016 .
- ↑ Khatchadourian, Raffi (18 de mayo de 2015). "Un mundo sin fin : la creación de un cosmos digital a gran escala" . Annals of Games. The New Yorker . Vol. 91, n.º 13, págs. 48-57 . Consultado el 5 de agosto de 2015 .
- ↑ Wilson (16 de julio de 2015). "Cómo 4 diseñadores crearon un juego con 18,4 quintillones de planetas únicos" . Fast Company . Consultado el 9 de agosto de 2015 .
- ↑ Sam White (10 de agosto de 2016). "No Man's Sky: Cómo el juego más grande jamás creado casi nunca llegó a hacerse" . gamesradar . Consultado el 7 de mayo de 2022 .
- ↑ "Minecraft Seeds - ¡La mejor lista de semillas de Minecraft!" . minecraft-seeds.net . Archivado del original el 30 de junio de 2016 . Consultado el 1 de julio de 2016 .
- ↑ "Minecraft Seeds - Minecraft Seed HQ" . Minecraft Seed HQ . Archivado del original el 13/11/2018 . Consultado el 13/11/2018 .
- ↑ Morton, Lauren (30 de noviembre de 2021). "Las mejores semillas de Minecraft para mundos hermosos e interesantes" . pcgamer.com . Archivado del original el 27 de junio de 2016. Consultado el 1 de julio de 2016 .
- ↑ "Las mejores semillas de Minecraft" . PCGamesN . 1 de diciembre de 2021. Archivado del original el 23 de noviembre de 2021. Consultado el 4 de diciembre de 2021 .
- ↑ Kozelek, Tomáš (13 de noviembre de 2015). "Friday Facts #112 - Better noise" . Factorio . Archivado del original el 19 de junio de 2021. Consultado el 4 de diciembre de 2021 .
- ↑ "¿Cómo generan juegos como Minecraft mundos enteros a partir de un número semilla?" . StackExchange . 21/10/2011. Archivado del original el 16/08/2016 . Consultado el 01/07/2016 .
- ↑ "Acerca de Massive" . Massive Software . Consultado el 12 de junio de 2016 .
- ↑ Poyck, Griffin (2023-05-01). "Generación procedimental de ciudades con arquitecturas combinadas para visualización en tiempo real" . Todas las tesis .
- ↑ Farrokhi Maleki, Mahdi; Zhao, Richard (2024). "Generación de contenido procedimental en juegos: una revisión con perspectivas sobre la integración emergente de LLM". Actas de la Conferencia AAAI sobre Inteligencia Artificial y Entretenimiento Digital Interactivo . 20 : 167–178 . arXiv : 2410.15644 . doi : 10.1609/aiide.v20i1.31877 .
- 1 2 3 Zakaria, Yahia; Fayek, Magda; Hadhoud, Mayada (marzo de 2023). "Generación de nivel procedimental para Sokoban mediante aprendizaje profundo: un estudio experimental". IEEE Transactions on Games . 15 (1): 108– 120. Bibcode : 2023ITGam..15..108Z . doi : 10.1109/TG.2022.3175795 . ISSN 2475-1510 .
Lecturas adicionales
- Ebert, David S.; Musgrave, F. Kenton; Peachey, Darwyn; Perlin, Ken; Worley, Steve (2002). Texturizado y modelado: un enfoque procedimental (3.ª ed.). Morgan Kaufmann. ISBN 978-1-558-60848-1.
- Shaker, Noor; Togelius, Julian; Nelson, Mark J. (2016). Generación de contenido procedimental en juegos: un libro de texto y una visión general de la investigación actual . Springer. ISBN 978-3-319-42714-0.
- El futuro del contenido : ponencia de Will Wright sobre Spore y la generación procedural en la Game Developers Conference 2005.
- Generación procedimental
- Aplicaciones de la aleatoriedad
- Diseño de videojuegos