Umělá inteligence ve hrách #3: o chytrou AI nikdo nestojí
zdroj: tisková zpráva

Umělá inteligence ve hrách #3: o chytrou AI nikdo nestojí

10. 8. 2011 20:33 | Téma | autor: Dan Vávra |

V prvním díle seriálu o AI ve hrách se Dan Vávra zabýval základními úkoly umělé inteligence, ve druhém načrtl základní metody použití AI v praxi a v tomto třetím díle krom jiného vysvětlí, proč se AI nedá ve hrách použít v plné míře.

Spolupráce

Vzájemná spolupráce entit je pro AI vyšší dívčí škola. Pod tím si většina hráčů nejspíš představí speciální jednotku postupující vzorově prostorem v dokonalé formaci. Ve skutečnosti to ale začíná už tím, že si AI paňáci vzájemně nepolezou do rány, že se nebudou všichni snažit schovat za stejnou bednou, nebo že si vzájemně sdělí polohu hráče.

Komerční AI samozřejmě umí i pokročilejší frajeřinky, jako je právě dokonalý postup jednotky ve formaci, ale i simulaci davových scén, kde se vzájemně strká klidně i tisíc pajduláků. Když se podíváte třeba na tuto video prezentaci Kynapse AI, uvidíte, jak to hezky funguje.

zdroj: Archiv

Kde je tedy problém? Proč se panáci ve většině her omezují na to, že odněkud vyskočí, začnou do vás sypat nekonečné množství munice a nakonec se odporoučí po jednom zásahu k zemi, zatímco vaší parťáci se pohybují v uctivé vzdálenosti někde za vámi a zmůžou se jen na to, někde se zaseknout nebo vyběhnout kupředu rovnou vám do rány, aby se nechali omylem zabít? Veteráni zamáčknou slzu v oku při vzpomínce na první setkání se speciální jednotkou z Half-Life a šíleném manévrování nepřátel z F.E.A.R. Proč se ve hrách nepoužívá všechno to co dnešní AI dokáže?

Hra versus realita

Problém je v tom, že hra není realita a jejím cílem většinou není vytvořit dokonalou simulaci nějaké komplikované činnosti, ale naopak tuto činnost zjednodušit tak, aby si jí mohl „zažít“ a vyzkoušet i normální netrénovaný člověk. Tvůrce musí balancovat mezi tím, aby byla hra výzvou, ale zároveň aby nefrustrovala a bavila, což samozřejmě znamená, aby měl hráč dobrý pocit ze sebe a svých výkonů.

Každý, kdo někdy zkusil multiplayer, airsoft, paintball nebo opravdovou válku ví, že zabít skutečného živého nepřítele je mnohem, mnohem těžší, než v jakékoli FPS střílečce a teď nemluvíme o morální obtížnosti tohoto činu, ale o prosté snaze zvítězit. Pokud budete stát sami hned proti několika dobře sehraným nepřátelům, jste prakticky bezmocní a poslední co budete mít, je dobrý pocit.

Nedávno jsem si to vyzkoušel naživo v pistolovém paintballovém turnaji tříčlenných družstev. V okamžiku, kdy stojíte sami proti třem kooperujícím protivníkům, jste v pytli, nelze si totiž krýt tři strany zároveň, a jakýkoli skutečně inteligentní protivník samozřejmě svou oběť obklíčí. Vítězné družstvo turnaje dokázalo projít devíti zápasy bez jediné prohry a dokonce pouze s jedinou ztrátou života jednoho hráče (což byl shodou okolností můj jediný zářez turnaje hodný zaznamenání :).

Jak si s AI spolubojovníků poradí třetí Arma?

Základní premisou většiny her při tom právě je, že hráč stojí sám proti velké přesile, kterou musí porazit, což staví designéry do téměř bezvýchodné situace. Hráči volají po vychytané umělé inteligenci, ovšem kdyby ji skutečně dostali, hra by byla takřka nehratelná a drtivé většině hráčů by se to vůbec nelíbilo.

Nejjednodušší, co můžou designéři pro hráče udělat, aby měli souboje s AI jednodušší, je dát mu nějakou výhodu. Ta většinou spočívá ve větší výdrži jeho postavy. To má ovšem za následek vznik další nežádoucí situace - AI nastavené tak, že očekává po zásahu protivníka jeho okamžitou smrt, bude samozřejmě poněkud „zaskočeno“ tím, že zasažený protivník neumírá a vesele opětuje palbu.

Co teď? Pokud necháme AI stát na místě střílet tak dlouho, dokud hráč nepadne, vlastně tím zlikvidujeme výhodu, kterou jsme mu dali. Pokud AI před hráčem uteče, bude vypadat stupidně a jsme tam, kde jsme byli.

Když se do toho přidají ještě parťáci na hráčově straně, kteří jsou většinou důležití pro postup ve hře, takže by neměli zemřít, máme k pokusu, dopracovat se k nějaké věrohodné simulaci, opravdu už hodně daleko. Většina designerů nechce, aby spoluhráči dokázali vybojovat vítězství za pasivního hráče, a na druhou stranu se snaží vyhnout tomu, aby zemřeli a hráč tak musel restartovat level znechucený tím, že to nebyla jeho chyba.

Asi každý si vybaví absurdní situace z celé řady her, kde na malém prostoru pobíhá dav vzájemně nepřátelských postav, které všechny střílí o sto šest, ale nikdo při tom neumírá. To je důsledek právě těchto problémů. Další přirozenou výhodou hráče je, že může místo, kde narazil na problém, opakovat. Zatímco AI začíná při každém restartu od nuly, hráč si při tom samozřejmě pamatuje, co ho čeká a může to využít ve svůj prospěch.

Zvětšit zdroj: tisková zpráva Vzpomínáte si na HECU? Někomu se o protivnících z Hazardous Environment Combat Unit v Half-Life hrách zdá i dodnes

Nedokonalá realita

K tomu se ještě přidává otázka, co všechno vlastně je „reálné“ a co je „chyba“? Když budete chvíli sledovat živé hráče multiplayeru, dočkáte se nejspíš celé řady velice směšných situací - střelby po vlastních, házení si granátů pod nohy, nesmyslné běhání sem a tam... Když se toho samého dopustí AI, budeme to považovat za chybu. Podobné chyby se ale stávají i ve skutečném boji.

Friendly fire je v každé válce velice závažný problém, a kdo si myslí, že vojáci nedokážou zabloudit, asi nikdy nechodil s mapou po lese. Vadí vám, že vaši parťáci ve Flashpointu reagují na vaše povely jinak, než si představujete? Asi byste si měli někdy zkusit jaké to je, velet v podobné situaci skutečným lidem, protože byste rychle zjistili, že se většinou chovají mnohem více nevyzpytatelně a hloupěji, než jejich počítačové varianty.

Není proto divu, že se tvůrci her začali orientovat spíš na skriptované koridorové divadýlko. Jako ideální ukázka nám může posloužit většina úvodních misí z Call of Duty. Designér má za úkol vytvořit scénu, kterak třeba hráčova jednotka vtrhne do budovy a zlikviduje teroristy uvnitř. Pokud se rozhodně pro skript, čeká ho titěrná práce nad každou sekundou akce. Musí rozanimovat veškeré pohyby všech vojáků a vše pečlivě načasovat.

Zvětšit zdroj: tisková zpráva Kolem F.E.A.R. bylo tenkrát velké haló už před vydáním a později se potvrdilo, že oprávněně

Herně musí všechno nachystat tak, aby to hráč nemohl jakkoli rozhodit. Výhodou je, že když se všechno pěkně namoušnkepčruje, tak bude výsledná scéna vypadat naprosto fantasticky a jen máloco se může podělat. Nevýhodou je, že při každém hraní bude všechno stejné a hráč rychle zjistí, že spíš než hráčem, je jen divákem.

Jen málokdo si dnes dovolí zvolit opačný přístup, kdy se vezme AI, dá se jí úkol a ději se nechá volný průběh. Aby AI mohla alespoň trochu konkurovat skriptu, musí zvládat některé vizuálně efektní machrovinky – vykopávat dveře, krýt se za překážkami, naklánět se při běhu do zatáčky... prostě musí být dokonale animovaná.

Nevýhodou samozřejmě je, že animace, kterou si skládá počítač v reálném čase z předem připravených univerzálních pohybů, se nikdy nevyrovná skriptu, který používá animace nasnímané často přímo a pouze pro danou scénu. Jasnou výhodou ovšem je, že každá hra bude úplně jiná a hráč má obrovskou volnost, jak se chovat.

Zvětšit zdroj: tisková zpráva Chybovat může každý. A je otázka, jestli ten Korejec, konstatně bourající do plotu, nakonec není jenom pod vlivem severokorejské ideologie a nedělá to schválně

Každý skript má svůj důvod

Největším průšvihem a troufnu si tvrdit, že i hlavním důvodem, proč se většina tvůrců uchyluje spíš ke skriptování, než k vývoji pořádné AI je, že výsledek je značně nepředvídatelný a může se otočit proti tvůrcům. I v případě, že odladění věnujete maximální pozornost, si prostě nemůžete být jistí, jak to nakonec dopadne a čím více svobodná AI je, tím větší je pravděpodobnost, že to dopadne jinak, než byste chtěli.

Důkazem budiž třeba Crysis 2. Autoři se chvástali nejpokročilejší AI jaká kdy byla ve hře a ve výsledku se místo chvály dočkali spíš posměchu. Každý panák, který se v průběhu hry někde zasekl, hodil si pod nohy granát, nebo nedokázal správně zareagovat na hráče jim je předhazován jako důkazem, že lhali. S trochu větší dávkou nadsázky se o tomhle výsměchu dá říct, že je podobný, jako by se někdo Bohu smál za to, že stvořil lidi, co neumí hrát Counter Strike.

Herní prostředí dnešních her je většinou obrovské a AI, jaká je k vidění třeba v Crysis 2, si prostě dělá, co chce. Určitá dávka chyb, trapasů a problémů je proto téměř nevyhnutelná. Stejně jako se excesu občas dopustí živý hráč, stane se to i AI. I když samozřejmě, mělo by se to dít co nejméně.

Čtyřdílný seriál o základech herní AI uzavře Dan za pár dní pojednáním o tom, proč AI ve hrách (ještě) není schopná rozumné komunikace nebo přirozeného chování, a proč to tak asi nikdy nebudeme chtít.

Nejnovější články