Anar al contingut

Generació per procediments

De L'Enciclopèdia, la wikipedia en valencià
Diagrama de Voronoi en moviment creat en nou llavors utilisant la distància euclidiana (o la Distància de Minkowski en p=2)

En computació, generació per procediments o procedimental és el método de creació de senyes en algoritmes en lloc de forma manual. En gràfics per computadores s'utilisa comunament per a la creació de textures i models 3D, mentres que en el context dels videojocs també s'utilisa per a la creació de varis tipos de contingut, com a artículs, missions o geometria de nivell. Les raons més comunes per a l'us de la generació de procediment inclouen - pero no es llimiten a - archius de menor tamany, major cantitat de contingut que es poden crear manualment o l'inclusió de aleatorietat per a experiències de joc menys predibles. També s'ha utilisat per a atres diversos fins i en atres mijos de comunicació.

Informació general

[editar | editar còdic]

El terme procediment es referix al procés que computa una funció particular. Els fractalés, un eixemple de generació de procediment, expressar este concepte, al voltant del com un cos sancer de les matemàtiques - geometria fractal - s'ha desenrollat. Comunament els continguts procedimentals inclouen textures i malles. El sò és a sovint generat d'esta manera i té aplicacions tant en síntesis de discurs, aixina com la música. S'ha utilisat per a crear composicions en diversos gèneros de la música electrònica per artistes com Brian Eno que varen popularisar el terme "música generativa".[1]

Els algoritmes que porten a terme este tipo d'operacions es troben dins de la classificació dels algoritmes recurrents o recursivos. Mentres més complex són els algoritmes procedimentals, és més fàcil que escapen coses al control del desenrollador. Es pot córrer el risc de perdre completament el control del joc si es lliuren molts elements a l'encert. En donar massa llibertat, es pot produir una ruptura o superposició, o valors tan alluntats un de l'atre que siguen incompatibles o impossibles de materialisar. És en este lloc a on les directrius troben la seua materialisació en els algoritmes de ramificació i poda. D'esta manera es barallen totes les possibles solucions pero solament es trien aquelles que són possibles de dur-se a la realitat. Açò és alguna cosa molt habitual en els jocs estil roguelike que podem vore hui dia.[2]

Este patró se sol utilisar en combinació en el patró constructor. Bàsicament este patró separa la construcció de qualsevol objecte complex de la seua representació. Per lo tant, es pot tindre una llavor en l'informació bàsica de l'objecte en qüestió i després tindre múltiples modos de representació. Existix un element director, en el cas dels videojocs procedimentals les funcions que crearan les senyes d'eixe món. Després est passarà a una atra funció que prenga tota esta informació que li indique al programa qué és lo que deu fer en la mateixa i de quina manera estructurar.[3] Després passa per una funció que nos de la representació visual de l'element que es va construir, per eixemple, el saló en sí en tots els seus elements. Açò és lo que permet a gran cantitat de jocs procedimentals tindre distintes visualisacions simultànees del contingut al mateix temps, ya que existix un director que ho maneja tot.


Mentres que els desenrolladors de software han aplicat tècniques de generació per procediments durant anys, pocs productes han amprat este enfocament àmpliament. Elements generats per procediments han aparegut en videojocs no actuals com: The Elder Scrolls II: Daggerfall el qual té lloc en un món majoritàriament generat per procediments, donant un món més o menys del doble del tamany real de l'illes britàniques. cita requerida Soldier of Fortune de Raven Software utilisa rutines simples per a detallar models enemics, mentres que la seua seqüela va presentar un modo de nivell generat aleatoriamente. Avalanche Studios ampre generació per procediments per a crear un grup gran i variat d'illes tropicals en gran detalle para Just Cause . "No Man's Sky", un joc desenrollat per l'estudi de videojocs Hello Games és totalment basat i desenrollat usant elements generats per procediments.

Nous métodos i aplicacions es presenten anualment en conferències com la Conferència IEEE sobre Inteligència Computacional i Jocs i Inteligència Artificial i Entreteniment Digital Interactiu

Aplicacions actuals

[editar | editar còdic]
Un mapa de calabós generat per procediments en el videojoc NetHack

Abans dels videojocs orientats gràficament, podem començar per jocs de 1978 de Beneath Apple Manor que varen utilisar la generació per procediments per a la construcció de masmorres per als sistemes ASCII (encara que Beneath Apple Manor varen utilisar gràfics Ho-Res de 16 colors). La generació per procediments podia definir habitacions, passadiços, mònstruos i tesors que el jugador podria trobar. Jocs basats en els conceptes roguelike seguixen sent un gènero popular en l'actualitat, ya que permet el desenroll d'un joc complex sense tindre que gastar massa temps en la creació d'un món de joc.[4]

Els primers videojocs gràfics varen ser severament frenats per llimitacions de memòria. Açò va provocar que el contingut, com a mapes, fòra generat algorítmicamente sobre la marcha: perque simplement no hi havia espai suficient per a almagasenar una gran cantitat de nivells preconfeccionados i art dels nivells. Generadors en números pseudoaleatorios varen ser utilisats a sovint en valors predefinits de llavors aleatòries en la finalitat de crear grans móns de joc que semblaren prefabricar.

Tal volta el primer joc en utilisar una llavor per a generar el món és Akalabeth (1980) de Richard Garriott; en el qual utilisant el mateix número de llavors, un jugador sempre pot tornar a un món donat.[5] The Sentinel supostament té 10.000 nivells diferents almagasenats en sol 48 i 64 kilobytes. Un cas extrem va ser Elite, que va ser planejat originalment per a contindre un total de 248 (aproximadament 282.000.000.000.000) galàxies en 256 sistemes solars cada u. L'editor, no obstant, tenia por de que un univers tan jagantesc causaria incredulitat en els jugadors, i solament huit d'estes galàxies es varen elegir per a la versió final.[6]

Uns atres dels primers eixemples notables inclouen el joc de 1985 Rescue on Fractalus que utilisa fractales per a crear en procediments en temps real les montanyes escarpadas d'un planeta alienígena i River Raid, el joc de 1982 d'Activision que utilisa una seqüència de números pseudoaleatorios generats per un registre de desplaçament en retroalimentación llineal en la finalitat de generar un llaberint desplazable d'obstàculs.

A mida que alvançava l'hardware i els CD varen ser capaços d'almagasenar mils de voltes més senyes de lo que era possible en els anys 80, usar generació per procediments per a construir móns grans es varen fer innecessaris. El contingut del joc com les textures, models dels personages i el mig ambient són a sovint creats per artistes de bestreta, per a mantindre la calitat del contingut consistentemente alta.

Almagasenant dissenys únics en la memòria del joc, en lloc de produir múltiples objectes usant directrius similars lo que permet una varietat de models detallats sent cada u substancialment diferent. No obstant, quan cada model té que ser dissenyat a mà, existirà un número llimitat d'objectes. Algunes aproximacions inicials a la síntesis de procediments varen intentar resoldre este problema per mig de l'inversió de la càrrega de la generació de continguts dels artistes als programadors els quals poden crear còdic que genera automàticament diferents malles d'acort als paràmetros d'entrada.

Encara que a voltes açò encara succeïx, lo que s'ha reconegut és que l'aplicació d'un model purament procedimental és a sovint difícil ya que requerix enormes cantitats de temps per a convertir-se en un método funcional, usable i d'aspecte realiste. En lloc d'escriure un procediment que solament construïx contingut procedimentalment, s'ha demostrat que és molt més barat i eficaç que delegar a l'artiste la creació contingut per a alguns detalls. Per eixemple, SpeedTree utilisa per a generar una gran varietat d'arbres generació per procediments, no obstant, les seues textures dels fulls es poden extraure d'archius regulars, a sovint representant digitalment fullage real. Atres métodos eficaços per a generar continguts híbrits són els de fusionar procedimentalment diferents actius preconfeccionados o aplicar en esta tècnica algunes distorsió a ells.

Suponent, no obstant, un únic algoritme es pot prevore per a generar un arbre d'aspecte realiste, l'algoritme podria ser cridat per a generar arbres a l'encert, omplint aixina tot un bosc en temps d'eixecució, en lloc d'almagasenar tots els vèrtiços requerits pels diversos models. Açò aforraria espai en els mijos d'almagasenament i reduiria la càrrega dels artistes, a l'hora que proporcionaria un nivell similar d'immersió al jugador. Este método requeriria molta més potència de processament, pero com els CPUs estan en constant aument de velocitat no és un obstàcul.

Un problema diferent és que no és fàcil desenrollar un bon algoritme per a un sol arbre, i molt manco per a una varietat d'espècies (comparar sumac, abedull, arce). Una advertència adicional és que el montage d'un bosc d'aspecte realiste no podia fer-se simplement montant arbres perque en el món real hi ha interaccions entre els diferents arbres que poden canviar dramàticament la seua apariència i distribució.

Usos en l'actualitat

[editar | editar còdic]
Model d'esfera per a textures procedurales.

En el 2004, un joc de dispars en primera persona cridat .kkrieger va ser llançat el qual va fer un us intensiu de la síntesis de procediments: mentres que de manera reduïda i molt simple els efectes de vídeo alvançats varen ser embalados en a penes 96 Kilobytes. Pel contrari, molts jocs moderns tenen que ser llançats en DVD, a sovint superior a 2 gigaoctets en tamany, més de 20.000 voltes més gran. Naked Sky RoboBlitz utilisa generació per procediments per a maximizar el contingut en un archiu descargable de menys de 50 MB para Xbox Live Arcade. Will Wright creador de Sporetambé fa us de la síntesis de procediments.


En 2008, Valve Software va lliberar Left 4 Dead , un shooter en primera persona basat en el motor Source que utilisa la generació de procediments com una gran mecànica de joc. El joc va tindre una inteligència artificial integrada, coneguda com el "director", que va analisar les estadístiques dels jugadors i els estats de joc sobre la marcha per a proporcionar experiències dinàmiques en totes i cada una de les partides. Sobre la base de diferents variables del jugador, com la salut restant, munició, i el número de jugadors, la IA Director potencialment podria crear o eliminar enemics i elements per a que cada partida mantenint un ritme emocionant i vertiginós. Left 4 Dead 2, llançat en novembre de 2009, va ser ampliat en este concepte, en l'introducció de mecanismes més alvançats per a la IA Director, tals com la capacitat de generar nous camins a seguir per als jugadors d'acort als seus estats individuals.

Un joc desenrollat de manera independent que es basa principalment en la generació per procediments és Dwarf Fortress, llançat per primera volta en 2006 baix desenroll actiu. Ans que el jugador comença una partida es genera un món de fantasia, basat en un complex conjunt d'opcions de configuració, en el seu terreny, història, personages notables, i mònstruos.

Un atre joc independent que fa un us extensiu de la generació per procediments és Minecraft, llançat per primera volta en 2009. En el joc l'estat inicial del món és en la seua majoria a l'encert (en directrius a fi de generar un terreny similar a la Terra), i noves àrees es generen cada volta que el jugador es mou cap a les vores del món.

Tant Dwarf Fortress i Minecraft, tenen la ventaja de que cada volta que es fa un món nou, és completament diferent i es necessita un método diferent per a tindre èxit, adicionándole valor de repetició.

El nostre sistema estelar està sent generant en escala real en este método en Elite: Dangerous, el qual va ser llançat en el 2014. Generació per procediments altament detallada de la superfície dels planetes ha segut planejada per a l'expansió que permet l'aterrisage planetari.

Outerra Anteworld és un videojoc en desenroll que utilisa la generació per procediments i senyes del món real per a crear una rèplica virtual del planeta Terra en escala real. Un atre joc en desenroll és I-Novas Infinity, que conta en una gran cantitat de planetes que són generats i entre els quals el jugador pot viajar per mig de naus espacials.

No Man's Sky, que es va estrenar en agost de 2016,[7] és un joc que permet als jugadors explorar planetes que es generen per procediments. Segons els desenrolladors, açò permet més de 18 trillons de planetes possibles. Els planetes, els seus terrenys, el clima, la flora i la fauna són tots generats per l'us d'una sola llavor aleatòria insertada al seu motor, assegurant que el mateix planeta pot ser visitat per distints jugadors utilisant solament el coneiximent del número de la llavor, en este cas, l'ubicació del planeta en la galàxia virtual. El motor utilisa fòrmules matemàtiques que, en paràmetros ajustables, poden imitar un número divers de formacions naturals.[8][9]


La programació per procediments permet als jugadors no solament experimentar escenaris nous i distints sino també situacions diferents, events i chicotetes narrativa. Tal és el cas de Rimworld a on existix una “Inteligència artificial narrativa”. Un atre és el cas de Moon Hunters, a on s'usa la programació procedimental per a crear mits. En el cas de SkySaga: Infinite Isles, el seu creador Ben Fisher esgrimix el següent enunciat:

"... volíem donar-li al jugador alguna cosa nou per a jugar cada volta. Volíem que SkySaga es convertira en lo que cridem un motor d'anècdotes: a on l'única combinació de circumstàncies fa una història que mai ningú abans experiment, i estàs ansiós de compartir".

Els algoritmes al cap del disseny tenen el potencial de canviar completament la noció de desenroll des del seu génesis. A on un director d'art abans es dedicava a fer art conceptual de distintes flors o vegetació, ara deu estudiar cóm és que estes flors i vegetació creixen per a establir els patrons de creació. És dir, tractem d'entendre per qué açò succeïx, en una llabor més científica.

No obstant, devem considerar que els algoritmes no deixen de ser instruccions predefinides, i sense un suficient nivell d'ajust poden sorgir incongruències i errors que poden pagar-se car en el producte final. Llavors el desafiu que es planteja per a la generació procedimental és com crear software inteligent que puga analisar i entendre que està realisant.

De la mateixa manera que en els videojocs, la generació per procediments s'utilisa a sovint en el cine per a crear ràpidament espais visualment interessants i precisos. Açò ve en una àmplia varietat d'aplicacions.

Una aplicació és lo que es denomina una "fàbrica imperfecta", a on els artistes poden generar ràpidament un gran número d'objectes similars. Açò explica el fet de que, en la vida real, no hi ha dos objectes exactament iguals. Per eixemple, un artiste podria modelar un producte per a un estant de la tenda de comestibles, i després crear una fàbrica imperfecta que generaria un gran número d'objectes similars per a poblar la plataforma.

MASSIVE és un paquet de software d'animació per ordenador de gama alta i d'inteligència artificial usat per a la generació d'efectes visuals per a cine i televisió. Va ser desenrollat per a generar automàticament la lluita entre eixèrcits de centenars de mils de soldats para El Senyor dels Anells de Peter Jackson.[10][11]

Referències

[editar | editar còdic]
  1. Brian Eno. «A talk delivered in San Francisco, June 8, 1996». inmotion magazine. Consultat el 7 de novembre de 2008.
  2. Israel Fernández. «que-duem-40-anos-creandola Procedurally Generated Content: la revolució dels videojocs és ara (encara que duem 40 anys creant-la)». Xataka. Webedia. Consultat el 19 d'octubre de 2017.
  3. Erich., Gamma, (1995). Design patterns : elements of reusable object-oriented software, Addison-Wesley. OCLC 31171684. ISBN 0201633612.
  4. «Rise Of The Roguelikes: A Genre Evolves». GameSpy. Consultat el 24 d'abril de 2013.
  5. Maher, Jimmy. «Akalabeth». The Digital Antiquarian. Consultat el 9 de juliol de 2014.
  6. Francis Spufford. «[1]», The Guardian.
  7. «No Man's Sky Release Window Announced» (en en). IGN. Ziff Davis. Consultat el 5 de novembre de 2015.
  8. «[2]», The New Yorker. Consultat el 5 d'agost de 2015.
  9. «How 4 Designers Built A Game With 18.4 Quintillion Unique Planets». Fast Company. Consultat el 9 d'agost de 2015.
  10. «About Massive». Massive Software. Consultat el 12 de juny de 2016.
  11. «How 'Lord of the Rings' Used AI to Change Big-Screen Battles Forever» (en en). CNET. Ziff Davis. Consultat el 2 de febrer de 2025.


Referències

[editar | editar còdic]