Procedurální generování -Procedural generation

Jeden příklad procedurálního generování, zde pomocí L-systémů generovat realisticky vypadající modely stromů. Různé modely lze generovat změnou jak deterministických parametrů, tak náhodného semene.

Ve výpočetní technice je procedurální generování (někdy zkráceno jako proc-gen ) metoda vytváření dat algoritmicky na rozdíl od ručního, typicky prostřednictvím kombinace člověkem generovaných aktiv a algoritmů spojených s počítačově generovanou náhodností a výpočetním výkonem. V počítačové grafice se běžně používá k vytváření textur a 3D modelů . Ve videohrách se používá k automatickému vytváření velkého množství obsahu ve hře. V závislosti na implementaci mohou výhody generování procedur zahrnovat menší velikosti souborů, větší množství obsahu a náhodnost pro méně předvídatelné hraní. Procedurální generování je odvětvím mediální syntézy .

Přehled

Procedurální krajina vykreslená v Terragenu

Termín procedurální odkazuje na proces, který počítá určitou funkci. Fraktály jsou geometrické vzory, které lze často generovat procedurálně. Běžný procedurální obsah zahrnuje textury a sítě . Zvuk je často také generován procedurálně a má aplikace jak v syntéze řeči , tak v hudbě. To bylo používáno k vytvoření kompozic v různých žánrech elektronické hudby umělci, jako je Brian Eno , který popularizoval termín „ generativní hudba “.

Procedurálně generované textury .

Zatímco vývojáři softwaru aplikovali techniky generování procedur po celá léta, jen málo produktů tento přístup rozsáhle využívalo. Procedurálně generované prvky se objevily již v dřívějších videohrách: The Elder Scrolls II: Daggerfall se odehrává v převážně procedurálně generovaném světě, který dává světu zhruba dvě třetiny skutečné velikosti Britských ostrovů . Soldier of Fortune od Raven Software používá jednoduché rutiny k detailům nepřátelských modelů, zatímco jeho pokračování obsahovalo režim náhodně generovaných úrovní . Avalanche Studios použilo procedurální generování k vytvoření velké a pestré skupiny detailních tropických ostrovů pro Just Cause . No Man's Sky , hra vyvinutá herním studiem Hello Games , je celá založena na procedurálně generovaných prvcích.

Moderní demoscéna využívá procedurální generování k balení velkého množství audiovizuálního obsahu do relativně malých programů.

Nové metody a aplikace jsou každoročně prezentovány na konferencích, jako je IEEE Conference on Computational Intelligence and Games a AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment.

Zejména při aplikaci procedurálního generování u videoher, které mají být vysoce znovu hratelné, existují obavy, že procedurální systémy mohou generovat nekonečné množství světů k prozkoumání, ale bez dostatečného lidského vedení a pravidel, které by je řídily. Výsledek byl nazván „procedurální ovesná kaše“, což je termín vytvořený spisovatelkou Kate Comptonovou, a to v tom smyslu, že i když je možné matematicky vygenerovat tisíce misek ovesných vloček pomocí procedurálního generování, uživatel je bude vnímat jako stejné a postrádají představa vnímané jedinečnosti, ke které by měl procesní systém směřovat.

Současná aplikace

Stolní hry na hrdiny

Používání procedurálního generování ve hrách mělo původ ve stolních hrách na hrdiny (RPG). Přední stolní systém, Advanced Dungeons & Dragons , poskytoval „mistrovi dungeonů“ způsoby generování dungeonů a terénu pomocí náhodných hodů kostkou, rozšířených v pozdějších edicích o složité větvené procedurální tabulky. Strategické simulace pod licencí od TSR vydaly Dungeon Master's Assistant , počítačový program, který generoval dungeony na základě těchto publikovaných tabulek. Tunnels & Trolls , vydané nakladatelstvím Flying Buffalo , byly navrženy primárně pro osamělou hru a pro své dungeony používaly podobnou procedurální generaci. Další stolní RPG si vypůjčily podobné koncepty v procedurálním generování pro různé prvky světa.

Mnoho online nástrojů pro Dungeon Masters nyní v různé míře využívá generování procedur.

Videohry

Raná historie

Procedurálně generovaná mapa dungeonu ve videohře NetHack

Před graficky orientovanými videohrami, roguelike hry, žánr přímo inspirovaný Dungeons & Dragons přijatý pro hraní solitaire, silně využíval procedurální generování stejným způsobem jako stolní systémy. Mezi takové rané hry patří Beneath Apple Manor (1978) a jmenovec žánru, Rogue (1980). Systém generování procedur v roguelikes by vytvořil dungeony v ASCII - nebo běžné systémy založené na dlaždicích a definoval místnosti, chodby, monstra a poklady, které by hráče mohly vyzvat. Roguelikes a hry založené na roguelike konceptech umožňují vývoj komplexních her, aniž byste museli trávit nadměrný čas vytvářením herního světa.

Maze Craze z roku 1978 pro Atari VCS použil algoritmus pro generování náhodného, ​​shora dolů pro každou hru bludiště.

Některé hry používaly generátory pseudonáhodných čísel . Tyto PRNG byly často používány s předdefinovanými počátečními hodnotami za účelem generování velmi rozsáhlých herních světů, které vypadaly jako předpřipravené. Sentinel měl údajně 10 000 různých úrovní uložených v pouhých 48 a 64 kilobajtech. Extrémním případem byla Elite , která měla původně obsahovat celkem 2 48 (přibližně 282 bilionů) galaxií s 256 slunečními soustavami. Vydavatel se však obával, že tak gigantický vesmír způsobí v hráčích nedůvěru a pro finální verzi bylo vybráno osm těchto galaxií. Mezi další pozoruhodné rané příklady patří hra Rescue on Fractalus z roku 1985 , která používala fraktály k procedurálnímu vytváření skalnatých hor cizí planety v reálném čase, a River Raid , hra Activision z roku 1982, která používala sekvenci pseudonáhodných čísel generovaných lineárním zpětnovazebním posuvným registrem. za účelem vytvoření posouvajícího se bludiště překážek.

Moderní použití

Ačkoli moderní počítačové hry nemají stejná paměťová a hardwarová omezení jako dřívější hry, použití procedurálního generování se často používá k vytváření náhodných her, map, úrovní, postav nebo jiných aspektů, které jsou jedinečné při každém hraní.

V roce 2004 byla vydána německá demo skupina PC střílečka z pohledu první osoby s názvem .kkrieger . Je zcela obsažen v 96 kilobajtovém spustitelném souboru pro Microsoft Windows, který při spuštění generuje stovky megabajtů 3D a texturových dat. Podle jednoho z programátorů to "bylo naprosté selhání, pokud jde o herní stránku (většinou proto, že se o tento aspekt nikdo hluboce nezajímal)."

RoboBlitz od Naked Sky použil procedurální generování k maximalizaci obsahu v méně než 50 MB souboru ke stažení pro Xbox Live Arcade . Will Wright 's Spore také využívá procedurální syntézu.

Procedurální generování se často používá v kořistních systémech her řízených hledáním, jako jsou akční hry na hrdiny a masivní online hry na hraní rolí pro více hráčů . Ačkoli úkoly mohou obsahovat pevné odměny, další kořist, jako jsou zbraně a brnění, mohou být pro hráče generovány na základě úrovně postavy hráče, úrovně úkolu, jejich výkonu v úkolu a dalších náhodných faktorů. To často vede k tomu, že kořist má vzácnou kvalitu, která odráží, když procesní systém generování vytvořil položku s nadprůměrnými atributy. Například série Borderlands je založena na systému procesního generování, který dokáže vytvořit přes milion unikátních zbraní a dalšího vybavení.

Mnoho her s otevřeným světem nebo přežitím procedurálně vytváří herní svět z náhodného semene nebo z toho, které poskytne hráč, takže každé hraní je jiné. Tyto generační systémy vytvářejí četné biomy založené na pixelech nebo voxelech s distribucí zdrojů, objektů a tvorů. Přehrávač má často možnost upravit některé parametry generování, jako je například určení množství pokrytí vodou ve světě. Příklady takových her zahrnují Dwarf Fortress a Minecraft .

Procedurální generování se také používá při průzkumu vesmíru a obchodních hrách. Elite: Dangerous využívá 400 miliard známých hvězd galaxie Mléčná dráha jako světové základny a využívá procedurální generování k simulaci planet v těchto slunečních soustavách. Podobně Star Citizen využívá technologii pro své planety, aby ve svém ručně vytvořeném vesmíru vytvořil sbírku hladce naložených planet velikosti planet. I-Novae Infinity obsahuje nepřeberné množství planet, které jsou procedurálně generovány, mezi kterými může hráč cestovat pomocí vesmírných lodí. Outerra Anteworld je videohra ve vývoji, která využívá procedurální generování a data z reálného světa k vytvoření virtuální repliky planety Země ve skutečném měřítku.

No Man's Sky , využívající procedurální generování, je největší videohra v historii, která obsahuje vesmír 18 kvintilionů planet plné velikosti napříč celými galaxiemi a tyto galaxie lze prozkoumávat za letu palec po palci nebo pěšky po přistání. Všechny planety mají svůj vlastní jedinečně rozmanitý terén, počasí, flóru a faunu, stejně jako řadu vesmírných mimozemských druhů. Stejný obsah existuje na stejných místech pro všechny hráče (díky jedinému náhodnému počátečnímu číslu jejich deterministického enginu), což hráčům umožňuje setkávat se a sdílet objevy.

Film

Stejně jako ve videohrách se ve filmu často používá procedurální generování k rychlému vytvoření vizuálně zajímavých a přesných prostorů. To přichází v široké škále aplikací.

Jedna aplikace je známá jako nedokonalá továrna , kde umělci mohou rychle vytvářet mnoho podobných objektů. To vysvětluje skutečnost, že v reálném životě nejsou žádné dva objekty přesně stejné. Umělec by například mohl vymodelovat produkt pro regál v obchodě s potravinami a poté vytvořit nedokonalou továrnu na generování mnoha podobných objektů, které by zaplnily regál.

MASSIVE je špičkový softwarový balík pro počítačovou animaci a umělou inteligenci používaný pro generování vizuálních efektů souvisejících s davem pro film a televizi. Byl vyvinut k automatickému vytvoření bojových armád o stovkách tisíc vojáků pro film Petera Jacksona Pán prstenů .

Koherentní šum může být extrémně důležitý pro procesní pracovní postup ve filmu. Simplexní šum je často rychlejší s menším počtem artefaktů, i když lze použít i starší funkci zvanou Perlinův šum . Koherentní šum se v tomto případě týká funkce, která generuje hladkou pseudonáhodnost v n rozměrech.

Viz také

Reference

Další čtení