Ze školy do hry. Jak Warhorse a Matfyz tvoří unikátní AI

Původně to byly akademické teorie. Nyní se se aplikují a ověřují ve velkolepém středověkém světě Kingdom Come. Jak Warhorse Studio a Matfyz budují umělou inteligenci.

Karlínští Warhorse Studios nejsou zajímaví pouze tím, že se jim pomocí crowdfundingu podařilo od lidí vybrat už téměř dva a půl milionu dolarů. Chtějí vytvořit iluzi do nejmenšího detailu fungujícího virtuálního středověkého světa, kde má každá věc, zvíře i postava jasnou roli a všichni dělají to, co se od nich očekává. Nepomáhá k tomu pouze propracovaná grafika, ale také pokročilá umělá inteligence, která by ve svém žánru mohla stanovit určité nové standardy.

„I dveře u nás mají nějakou inteligenci,“ říká s trochou nadsázky spoluzakladatel a technický designér Warhorse Viktor Bocan. Karlínské studio se spojilo s výzkumníky z Matematicko-fyzikální fakulty Univerzity Karlovy (Matfyz) a nyní se společnými silami snaží převádět akademické bádání kolem umělé inteligence právě do počítačové hry.

Klepněte pro větší obrázek
Každý by měl ve hře dělat to, co by ve středověku dělal ve skutečnosti.

„Můžeme tak ověřit teorie, které na škole vznikají,“ popisuje Tomáš Plch, který přišel právě z Matfyzu a ve Warhorse má AI tým na starost. „Je to v podstatě aplikovaná věda. Je to podobné, jako když se ověřují fyzikální teorie.“ Aplikují se poznatky, které ve vědě už jsou, ovšem ve hrách či jiném provedení ještě ne.

Přijď království tvé

Warhorse pracují na hře na hrdiny (RPG) nazvané Kingdom Come: Deliverance. Jako další podobné žánrové tituly, i tato nabídne v podstatě zcela otevřený svět, ve kterém si hráč bude moci dělat (v rámci pravidel) to, co se mu zachce. Takový virtuální svět je poměrně dost těžké uřídit. Musí vypadat živě a přirozeně.

Většina podobných tuto živost servíruje poněkud omezeně. Jednotlivé postavy po celou dobu stojí na místě a čekají, až za nimi hráč přijde a konečně spustí interakci, kvůli které ony postavy ve hře jsou. Stojí na místě jako sochy, nemusí na záchod ani jíst, čekají ve dne, v noci, za zimy i v děsném vedru. A ještě jim nad hlavami svítí vykřičník nebo otazník. To je jednoduchá a funkční cesta, příliš věrohodně ale nepůsobí.

Klepněte pro větší obrázek
Každý má co na práci, i bez hráčova zásahu.

„Chceme vytvořit dokonalé RPG, kde svět funguje a každá postava něco dělá a má svojí roli,“ popisuje Viktor Bocan. Pocitu uvěřitelnosti jednoznačně hodně napomáhá prostředí, do kterého je titul zasazený. Hra se odehrává v roce 1403 za dobry Václava IV. a jeho bratra Zikmunda. Autoři zpracovávají reálné středověké kulisy středověkých vesnic, měst, hradů či lesů. A dalším zcela zásadním prvkem má být právě umělá inteligence (AI).

Sedlákův přirozený život

V praxi to vypadá velice dobře. Postavička sedláka, která v jiných podobných hrách stojí někde u chalupy a čeká na hráče, teď žije vlastním životem. Ráno vyrazí na pole, v poledne se vrátí na oběd (který uvařila jeho žena, když šla ráno na borůvky a na houby), odpoledne zase pracuje a večer zajde třeba na ryby, nebo do hospody. Žena mezitím umyje nádobí, zajde k potoku vyprat a prádlo pak pověsí.

Sedlák má nadefinovány vztahy k jednotlivým lidem, objektům i lokalitám a podle toho se chová. Když za ním hráč bude chtít přijít, protože od něj musí získat třeba nějaký dopis, nezastihne ho vždy na jednom místě. Když dorazí v noci, bude ho muset vzbudit, což samozřejmě sedláka nepotěší a bude nevrlý. Když za ním dorazí na pole, bude muset počkat, až se sedlák bude chystat domů, nebo mu dopis ze světnice ukrást.

Klepněte pro větší obrázek
Postavy a jejich vazby na další objekty.

Podobně logicky se ve hře má chovat všechno. Umělá inteligence například počítá i to, jak proběhnou souboje. Počítačem řízený protihráč podobně jako v šachách počítá tahy dopředu a odvozuje z nich, jaký další útok zvolí. Když nějakou postavičku třikrát vyhodí z hospody, nebo opakovaně dorazí a nebude volné místo k sezení, nebude se tam chtít vrátit, protože bude mít s daným objektem špatnou zkušenost.

„Budeme mít i trochu reálné ekonomiky. Když hráč přepadne karavan se zásobami, ve vesnici bude méně jídla. Když vykoupí obchod, na ostatní nic nezbyde a to se samozřejmě projeví na dalších vztazích,“ vysvětluje Plch. V reakci umělých postav se mají projevovat i takové věci, jako když hráč předbíhá ve frontě na chleba, když někoho bude neustále sledovat, nebo když někomu vleze do chalupy.

Hráč jako další počítačová postava

O podobné reálné fungování se v minulosti snažilo už několik her, zejména série Elder Scrolls, ty ale často narážely na hardwarové limity a také spousty chyb, které se pak opravují i několik další let po vydání. „Myslíme si, že ani třetí Zaklínač to nebude mít takové, jako my,“ shodují se ve Warhorse. „Oni totiž hráče berou jako něco extra, u nás je hráčova postava v podstatě další NPC (počítačem řízená postava), takže do světa zapadá a nemá žádná zvýhodnění.“

Klepněte pro větší obrázek
Vesnice a její vazby.

„Vytváříme svět, který funguje sám o sobě i bez hráče,“ navazuje Bocan. Kdyby hráč byl, jako tomu ve hrách bývá zvykem, dalším supermanem a vše se točilo jenom kolem něj, iluzi fungujícího světa nelze vytvořit, minimálně ne tak přesvědčivě. Svět v Kingdom Come ale samozřejmě nekonečně živý být nemůže. Věci, které hráč bezprostředně na vlastní oči nevidí, se sice odehrají, ale pouze jako simulace. Nějaká postava z vesnice sice dojde do lesa ulovit srnku, ale pouze jako výpočet, který se pak promítne do dalšího fungování.

Ve Warhorse si na aplikování AI museli připravit vlastní interní nástroje. Ty úzce spolupracují s herním enginem CryEngine 4. „CryEngine jsme si tehdy vybrali z toho důvodu, že je hezký a jednoduše se s ním pracuje. Zároveň je ale připravený především na akční střílečky, takže naše potřeby umělé inteligence nesplňuje,“ vysvětluje Bocan.

Matfyz vás naučí hernímu řemeslu

Ve Warhorse pracují na implementaci AI enginu čtyři lidé na plný úvazek, jde o absolventy Matfyzu a ČVUT. Tým doplňuje sedm skriptérů a případně technických designérů, jejichž úlohou je konstruovat rozhodovací mechanismy pro NPC postavy a další inteligentní objekty ve hře.

Klepněte pro větší obrázek
Rozhodovací mechanismus v behaviorálním stromu.

Základem rozhodovacích mechanismů pro počítačové postav jsou takzvané behaviorální stromy, které skriptéři skládají pomocí inteligentních „krabiček“ s nadefinovanými vlastnostmi (MoveTo a další). Celý systém využívá vzájemné vazby (vztahy), které mohou být nadefinovány předem, ale zároveň také dynamický vznikají a zanikají. Jde o vlastnictví, přátelství a podobně.

Aktuální počet oněch „krabiček“ s vlastnostmi je aktuálně přes 160, což ale vůbec není konečný počet. Na každou postavu pak řádově vede zhruba 15 „linků“, přičemž postav jsou ve hře stovky. Postavy mohou mít vazby na dům, počasí, vesnici, oblast, boj, majetek, hospodu a tak dále. Pro chod takové umělé inteligence není zase tak podstatná velikost operační paměti, ale výpočetní výkon.

Klepněte pro větší obrázek
Detail behaviorálního stromu.

Při definování toho, jak se má celý svět chovat, se mimo jiné vychází ze zadání herních designérů a scénáristů s tím, že se zohledňují také věci od historiků. Mělo by se tak docílit toho, že onen zmiňovaný sedlák bude mít vztahy skutečně takové, jaké reálně ve středověku mohl mít. Objevují se i historické detaily, které s umělou inteligencí nesouvisí – třeba to, že v té době pivo nemělo pěnu.

Spolupráce s Warhorse Studios není jediný herní projekt, který na Matfyzu běží. Jeden ze spoluzakladatelů společnosti a autor mnoha her (včetně papírového Dračího doupěte) Martin Klíma na Matfyzu přednáší a skrze dizertační práci se dostal právě k Tomáši Plchovi. Přímým důsledkem spolupráce je otevírání oboru počítačových her. Hry jako obor obecně začínají na české univerzity čím dál více pronikat. Přehled nabízí specializovaná stránka.

Videa:

Témata článku: Technologie, Programování, Umělá inteligence, Hry, Reportáže

23 komentářů

Nejnovější komentáře

  • miser 8. 4. 2015 15:51:07
    Jejich premisa, že doposud NPC jen tupě stála na místě a čekala na hráče,...
  • dolph1888 8. 4. 2015 12:53:30
    To není AI, zase je tam "rozhodovací pavouk". Opět, něco se stane špatně a...
  • Michal Diviš 8. 4. 2015 12:28:19
    Takze v podstate rekli to, ze misto toho aby postava ve dne v noci cekala...
Určitě si přečtěte