po., 10. květen 2021 14:09

Požehnání RNGsuse: Kolik chaosu je moc chaosu?

Bloodborne Bloodborne Zdroj: https://www.playstation.com/cs-cz/games/bloodborne/
Je dost dobře možné, že jste tato tři písmena už někdy v životě zaslechli: RNG. Pro každého to znamená něco jiného. Pro programátory technický oříšek, zatímco pro hráče mnohdy zdroj frustrace, nepochopení, ale taky nezřízeného veselí, pokud se ně usměje štěstí. O co však doopravdy jde? Kdy je nahodilost vítána a kdy proklínána? A hlavně, co dělá z RNG neopěvovaného hrdinu i zatracovaného padoucha?

RNG je anglická zkratka zastupující pojem random numbers generator, čili hezky česky generátor náhodných čísel. Jedná se o algoritmus produkující náhodná čísla, jež jsou poté využívána ke kalkulování nahodilých výsledků ve hrách. Tyto nahodilé výsledky v sobě můžou zahrnovat například počítání hráčova poškození, určování lootu z nepřítele, šanci na náhodné ingame eventy a v některých případech dokonce budování celých levelů. Je to skvělý způsob jak udržet hru nepředvídatelnou, čerstvou a zábavnou i poté, co ji desetkrát dohrajeme.

JAK NAPLÁNOVAT NÁHODU?

Na první pohled se může získání náhodného čísla zdát jednoduché. Prostě jenom přikažte počítači, aby vám vyhodil nějaké číslo, jakékoliv. A pokud nechceme jakékoliv číslo, tak bohatě postačí libovolné číslo v rozmezí mezi třeba desítkou a padesátkou. To přece zvládne každý třeťák, tak proč by to nezvládly supermoderní počítače?
Jenže právě zde je kámen úrazu. Počítače nejsou lidé a nemají sklony jednat nahodile. Jejich celá existence spočívá v následování daných instrukcí, což je pravý opak náhody. Nicméně, existují způsoby a zařízení, jak náhodné číslo získat. K tomu slouží hardwarové generátory náhodných čísel, které se používají například v kryptografii, což je obor zabývající se šifrováním tajných zpráv a dat. Takové generátory mají ale také praktičtější využití, například k zakódování hesel anebo v kasinech, kde je náhoda nutná k zajištění bezpečnosti a neprolomitelnosti kódu.
Tyto pravé generátory náhodných čísel musí být hardwarové, neboť svá čísla generují na základě fyzikálních procesů. Těmito procesy jsou ve většině případů jsou data pocházející například z fotoelektrických jevů nebo tepelného šumu, které generátor pozoruje a následně převádí do digitální podoby, kde se z procesů na atomové úrovni stává řada čísel. Z fyzikálního hlediska jsou tyto mikroskopické procesy chaotické a nepředvídatelné, alespoň teoreticky. Taková zařízení však nejsou součástí každého počítače a očekávat od vývojářů, že budou své hry budovat okolo miniaturní laboratoře je taktéž stěží představitelné, o nedostačující rychlosti pravých generátorů nemluvě. Prostý programátor si tedy musí vystačit s neohebným algoritmem a notnou dávkou vynalézavosti.
Zde přichází na scénu takzvaný generátor pseudonáhodných čísel, který je oním proklínaným RNG, s nímž se v hráčském životě setkáme. Takovýto generátor potřebuje hlavně dvě věci: rychlost a číslo, které alespoň vypadá náhodně. Pseudo-RNG používá při generování čísel předem daný algoritmus, který si lze představit jako komplikovanou rovnici s jednou neznámou, z níž se poté počítá výsledné číslo. Protože se jedná o algoritmus, je-li neznámá stejná, je stejný i výsledek. Je proto nutné tuto neznámou pokaždé vyměnit.
Způsob, jakým toto získávání funguje, si můžeme demonstrovat na dnes již zastaralé metodě zvané metoda prostředního čtverce. Smyslem této metody je získávání nových a nových semínek pro algoritmus už v okamžiku spočítání. Na začátku si zvolíme číslo, nejčastěji čtyřciferné, například 1453. Toto číslo poté umocníme na druhou, čímž se získá sedmi či osmiciferné číslo, v našem případě to 2 111 209. Z tohoto čísla potom vybereme prostřední čtyři, která nám poslouží jako nové semínko pro algoritmus – 1120. A pak se celý proces opakuje. Není to ani zdaleka ideální proces, protože stačí hloupá smůla, abychom získali 0000 a pak se celý algoritmus zhroutí a nemůže pokračovat dál. Rozhodně se ale tato metoda v programování používala, protože šlo o velmi rychlý a jednoduchý způsob.
Golden Sun, japonské RPG z roku 2001, zkusilo jiný způsob. Tato hra určovala loot z nepřátel na základě použitých dovedností, kouzel a akcí, které hráč během boje provedl. Pokud se tedy hráč ocitnul dvakrát v bitvě ve stejných podmínkách a v obou případech učinil přesně ty samé akce, získal by stejnou kořist. Potíž je taková, že zatímco obyčejnému hráči taková náhoda stačí, stále existují lidé, kteří dokáží tuto metodu RNG zmanipulovat a využít. Když víte, co přesně máte udělat pro požadovaný výsledek, náhoda rázem ztrácí dost ze svého kouzla.
V současnosti se neznámá získává nejčastěji z počítačového času. Hodiny zabudované v počítačích jsou totiž mnohem přesnější než běžný stolní budík, dokáží totiž počítat čas na zlomky milisekund, čehož vývojáři hojně využívají. V momentě, kdy algoritmus vydá příkaz, se program podívá na čas a dosadí určitý počet číslic na úrovni milisekund do rovnice, která potom spočítá výsledné číslo. Samotný čas totiž nestačí, s hrubým číslem je ještě potřeba trošku zapracovat, abychom nezískávali divoké výsledky, lišící se od sebe klidně i o tisíce. Stejně jako v předchozím případě, nejde o zcela ideální systém a teoreticky lze odpočítat správný moment kdy vykonat kterou akci pro nejlepší možný výsledek, v praxi je to zhola nemožné. A to pro naše účely bohatě stačí.

JAKO OPICE S KALKULAČKOU

Když tedy máme teorii vysvětlenou, pojďme se podívat, jak může být RNG ve hrách využito. Asi nejprimitivnější formu použití náhodného čísla ve hře používají stolní hry, pro než je klíčová hrací kostka, kde náhoda určuje, o kolik políček hráčova figurka poskočí nebo kolik poškození udělí hráč imaginární stvůře. Nicméně v komplikovaných hrách jako je například Dračí doupě se nelze spoléhat jen na štěstí. Nikdo není rád, když jeho rytíř v zářivé zbroji hodí na dvacítkové kostce jedničku a skončí rozdrcený, aniž by svůj nešťastný osud mohl nějak zvrátit. Právě kvůli tomu existují i v těch nejjednodušších hrách různé modifikátory, bonusy a malusy, které zjemňují dopad náhody.
Podobný princip, akorát na mnohem větší sféře, praktikují i videohry, a to nejen RPG a nejen v otázkách života a smrti. Časté je například procentuální využití určující kdy a jestli se odehraje určitý předem připravený scénář. Pokud se jedná o nějakou očekávatelnou událost, třeba zakopnutí o náhodného pokémona, lze nastavit hranici, kterou musí RNG překonat, velmi nízko. Stejně tak lze tuto hranici posunout do směšných výšek pro ty opravdu vzácné případy, které může hráč spatřit možná jednou za 40 hodin. Je to taková loterie, akorát silně podvržená. Na druhou stranu zde není co ztratit.
Jiným způsobem je využití RNG k určování lootu z nepřátel, což je mechanika důvěrně známá hráčům Borderlands, Diabla anebo jakéhokoliv MMORPG pod sluncem. Po poražení nepřítele vyhodí generátor náhodné číslo, které se srovná s tabulkou možného pokladu a z ní se potom určí, jestli jste ve vlčích útrobách objevili hromádku krysích kostí anebo hrudní plát legendární královny Kraslice Osmažené z Lepranky. Samozřejmě, i zde jsou určité zábrany a modifikátory, aby ona zmíněná legendární zbroj nepadala z každého náhodného vlka, protože to by se příběhově velmi špatně vysvětlovalo a navíc by to zničilo celý princip hry. Způsoby, kterým se těmito kiksům zabraňuje, jsou však prosté. Čím lepší je objevitelný předmět, v tím vyšší třídě je a čím je vyšší třída, tím neférovějším algoritmem se musí procpat. Ve výsledku tak z tisíce medvědů posbíráte celou armádu kostěných krys a možná, když budete velmi hodní, nějaký z těch méďů zbaštil i turistu, jehož fotoaparát zůstal netknutý žaludečními kyselinami šelmy.
A pak existuje ještě vrcholová disciplína RNG, kterou je procedurální generování celého herního světa. Tohle je doména převážně indie her, které často usilují o opakovanou hratelnost, ale zároveň nemají dostatek prostředků na tvorbu detailního světa. Vývojáři tak mohou vytvořit pouze součástky, místnosti a aspekty jednotlivých levelů a potom nechávají RNG, ať už se postará o jejich sestavení. Samozřejmě, takto vytvořený svět nebude nikdy tak propracovaný jako od základů vybudovaný a neohebný svět, ale pokud je herní základ sám o sobě dostatečně silný, bohatě to stačí. Důkazem úspěšnosti tohoto systému může být například Minecraft, Dead Cells, No Man’s Sky či Darkest Dungeon. Dokonce i jinak zcela rigidní tituly také strčily své dva prstíčky mezi dveře, jako například Bloodborne se svými Chalice dungeons anebo nově World of Warcraft v nadcházejícím datadisku Shadowlands. A pokud je to na vás i tak málo náhodný svět, nu, vždycky je tu Dwarf Fortress, která vedle mapy dokáže generovat také frakce, národy a čtvrt tisíciletí historie.

VŠEHO MOC ŠKODÍ

Teď ale přichází to velké téma: Kolik RNG už je až příliš? A kolik je zase až málo? Jednoduchá odpověď na tyto otázky neexistuje. Nelze totiž popřít, že například karetní hry by byly příšerně nudné, kdyby se pokaždé odehrávaly naprosto stejně, karta za kartou ve stejném pořadí. Naproti tomu, jak by vám bylo, kdybyste si museli figurky k šachům náhodně tahat z pytlíku a tak byste skončili s hromadou pěšáků, zatímco váš soupeř by vás drtil čtyřmi královnami? Ne všechny hry jsou si rovné a ne všechny RNG za každou cenu potřebují.
Jinými slovy, je to dost o tom, kdy, kam a v jaké míře náhodu vměstnat. V některých hrách, jakými jsou už například zmíněné šachy, RNG není vůbec potřeba. To se vztahuje například na strategické a budovatelské hry, v nichž úspěch závisí na schopnostech hráče a kde by mohla náhoda ve špatný okamžik zcela zničit veškeré hráčovo úsilí a tím ho obrat o pocit, že má vše pod kontrolou. Výjimkou jsou zde tahové strategie, které nějaký ten vliv náhody snesou. I když každý, kdo někdy hrál XCOM ví, že ta devětadevadesátiprocentní šance na zásah do hlavy má nějak velké tendence minout.
Lehké RNG patří třeba do již zmíněných RPG, do stříleček nebo simulátorů přežití, kde náhoda určuje kořist, umístění nepřátel či hráčovu odolnost vůči rozmarům přírody. Samozřejmě, i zde žádné RNG být nemusí a vše může být přesně předem dané, ale nebyla by to pak nuda? Navíc se neohebnost a náhody vzájemně nevylučují. Můžete mít aspekty, které jsou předem dané, a trochu mezi ně prsknout náhodu, jen tak pro ozvláštnění.
A pak jsou zde chaotické hry. Hry žijící ze štěstí, smůly a slz svých hráčů. Tohle je teritorium Darkest Dungeon, kde je vše od hrdinů přes mapy až po nevyhnutelná úmrtí nahodilé. Sem patří The Binding of Isaac, zůstávající stále hratelná i posté díky své neustálé generaci nových a nových levelů. Patří sem především rogue-like hry, v nichž hráč dostane jeden život v neustále se obměňujícím světě, kde často dostane jen jednu možnost pokračovat dál. Hráči jsou stvoření riskující a není proto divu, že sem patří ty nejpopulárnější hry všech dob, včetně sovětské legendy Tetrisu.

HODNĚ ŠTĚSTÍ

Největší problémy s RNG nastávají, když se developer přepočítá a přežene to. Čímž se dostáváme k Hearthstonu. Hearthstone má už dlouhá léta reputaci hry, která je hlavně o štěstí. Karetní hry jsou už z principu nahodilé; to platí jak o fyzických, tak virtuálních kartách. Nicméně fyzické karty mají limity, kterými virtuální netrpí, a Hearthstone této vlastnosti využívá na maximum. Karty tvořící kopie karet, karty generující úplně nové karty… to vše jsou možnosti tvořící hlavní sílu a slabinu Hearthstone. Zde to totiž Blizzard přepísknul a vytvořil prostředí, kde při troše štěstí a soupeřově smůle můžete bez problémů vyhrát, aniž byste se museli snažit. V singleplayerových hrách by taková náhoda nebyla zas tak na obtíž, v kompetitivních je to už něco horší, obzvlášť na turnajové úrovni, kde se již několikrát stalo, že vítěz vyhrál jen kvůli jediné kartě, která se mu zničehonic objevila v ruce. Samozřejmě jde o nadsázku a chytré využití prostředků se pořád cení, i tak je však dost demotivující, když o výsledku hry rozhoduje akorát hromada čísel a rovnic.
RNG se velmi podobá koření. Je třeba vědět, kolik ho přidat, ale taky do čeho jej přidat. Zatímco cpát pepř na zmrzlinu je holý nesmysl, ten pomalu pálící se steak na grilu by trochu koření určitě uvítal. Ovšem když se strefíte, jde o výtečný mix pravidel testujících hráčovy schopnosti a náhody, jež udržuje hru zajímavou a zábavnou i dlouho po svém vydání. Jen je třeba mít pevnou ruku a nenasypat toho do hrnce příliš.

Zobrazeno 141 krát
Naposledy upraveno: po., 10. květen 2021 22:36
Pro psaní komentářů se přihlaste