25. 2. 2010

Umělá inteligence, která nás dostane

Není náhoda, že hned první bod Hráčova Manifestu (zde můj skromný překlad) je "Dejte nám umělou inteligenci, která nás obelstí".

Přiznejme si to - 99% her, které se holedbají "úžasnou umělou inteligencí", jsou naprosté krávoviny. Že se ve střílečkách umí panáčkové krýt nebo že vás obejdou a vpadnou vám do zad, nic nemění na tom, že jejich IQ nepřekračuje teplotu zurčícího potůčku. Nejde jenom o aktuální chování, obvykle střídání několika jednoduchých skritpů, ale jde o globální pohled na situaci. Hráč, zastoupený ve hře obvykle jedním hrdinou, se díky jasné matematické výhodě ohledně výdrže stává masovým vrahem, který při dostatečném množství munice za sebou nechává tisíce padlých postav s "úžasnou umělou inteligencí". A to je problém.

Pohled na globální problematiku umělé inteligence stranou - tu si chci rozebrat později v samostatném článku - ale položme si otázku, proč se nikdo nezabývá opravdovou inteligencí. Odpověď je nasnadě - hráč musí být motivovaný hrou, respektive vyhráváním. Kdyby vás zabil první voják, tak to asi nikdo hrát nebude. Přesto existují typy her, které jsou na inteligenci hráče náročné - například některé strategie (převážně tahové) a lze hovořit o umělé inteligenci. Není to ale podle mne přesné. Kupříkladu u tahových strategií je počet elementů konečný a obvykle nevelký, takže není zásadní problém, aby autoři hry vložili programu do vínku znalost všech výhod těchto mechanismů a podle nastavení obtížnosti dodržovat postupy.

Člověk oproti tomu zná jen hrubé rysy herních mechanismů a postupem hry se je učí a dynamicky jim přizpůsobuje taktiku. Krom toho může i nepovedeným experimentem dojít k nějakému zjištění, které vede nakonec k vítězství. A nemusím ani zmiňovat to, že člověk má lepší schopnost plánování dopředu, kdy může počítač nalákat do pasti za cenu nějaké oběti, kterou pak obrátí naprosto ve svůj prospěch a to zcela vědomě. S tímto mají počítačové programy obecně problém.

Když se tedy na problém podívám opačně, bylo by zajímavé stvořit hru, kde by hráč ovládal desítky postaviček pomoci základních příkazů a proti němu by stála jediná "opravdová" umělá inteligence, ještě s lepším zdravím a zbraňovým repertoárem. Bylo by možné počítač porazit? Obávám se, že ne.

Není to tak dlouho, co jsem narazil na jedinou opravdovou Second Person Shooter. Jakkoliv je hra zajímavá z konceptuálního hlediska, přijde mi, že se nejvíce blíží onomu reverznímu přístupu k věci. Nešel by tento princip dotáhnout dále?

Kdysi dávno jsem četl knížku od Jaroslava Poláka "Ninjutsu - umění špionáže". Ano, bylo v období mánie Želvích Ninjů, ale to bych do toho nepletl. Z knížky jsem byl nadšen a to hlavně proto, že jsem dostal trochu realističtější pohled na "nindžy". A z této knihy mne právě napadlo, že by šlo udělat vzorovou hru, kde by se šlo vyřádit s umělou inteligencí.

Ještě než popíšu koncept, co nosím zatím v hlavě, dodám, že základem je pochopitelně svět - může jít o vesnici nebo jen jediný dům, který je ale plně interaktivní - něco jako Scribblenauts, ale propracovanější a ve voxelovém enginu. Jde o to, aby v tomto světě bylo možné dělat všechno, od užitečných činností přes zábavu až po naprosté hlouposti či nebezpečné věci. Bylo by možné objekty i rozebírat - například z pistole vytáhnou náboj, z něj dostat střelný prach a ten teprve použít k nějakému specifickému kroku.

Nebudu z knihy přesně citovat, ale představme si ninju jako speciálně vycvičeného špiona, na kterém rozhodně na první pohled nepoznáte, že jde o nějak zvláštního člověka. Ovšem - pomocí tajného komunikačního kanálu k němu proudí zakázky od mistra. Ninja nebyl vždy najímán, jako vrah. Šlo o profesionálního vyzvědače, který se dostal za nepřátelskou linii v míru i ve válce a vynesl potřebné informace jakéhokoliv rázu, jakoukoliv cestou a to tak, že o tom nikdo nevěděl. Vůbec nebylo zvykem, že by byli zahaleni do "tradiční" černé masky, naopak šlo o to co nejvíce zapadnout mezi lidi a chovat se přirozeně.

Nezávisle na tom ale byli i schopni zabíjet. Že by ale šlo o vrahy rozsekávající své oběti ve dví - o tom nemůže být řeč. Jejich meč ani vzdáleně nepřipománal samurajskou katanu, naopak byl tupý a mnohdy zrezlý. Při útěku spíš nepřítele zranil a meč zanesl infekci. Meč byl používán, jako univerzální nástroj, vražený mezi spáry cihel posloužil, jako náhrada žebříku. Kdyby byl meč ostrý, přijde ninja o prsty. Podobně tak slavné shurikeny při své velikosti těžko mohly někoho zabít - sloužily jen k odlákání pozornosti a někdy nastražené na zemi jako past ke zpomalení nepřátel. A ani při nočních misích nenosili černou - ta je obvykle temnější, než noc. Populární byla spíše hnědá, někdy i červená barva. Mnoho dalších mýtů kniha pěkně popisuje. Avšak není divu, že se kolem nich vyrojilo tolik nadsazených zkazek.

Jedna z důležitých kapitol je pro ninjy také travičství. Mnoho obětí padlo jedem. Ovšem dostat se do nějakého těžce hlídaného obležení s lahvičkou jedu bylo nemožné. Zde se právě uplatnila neuvěřitelná vynalézavost ninjů. Vetřít se jako civilista do přízně mocného Shoguna je jedna věc, ale zabít ho tak, aby byl vrah zcela mimo podezření je věc druhá. Milý ninja měl to privilegium, že mohl se Shogunem popíjet čaj. Nenápadně do čaje přidával listy rajčat (či jinou, zdánlivě nevinnou rosstlinu, o které se ani nemuselo vědět, že je nebezpečná), které jsou mírně jedovaté, avšak v malém množství neškodné. Při dlouhodobém užívání však Shogun po několika měsících zemřel v bolestech z podezření na otravu. Ninja byl v bezpečí, však pil stejný čaj, jako Shogun. Že měl k dispozici protijed je věc druhá.

Právě tato pasáž mne inspirovala k vytvoření reverzního konceptu hry. Hráč by dostal k dispozici postavu s tím, že ji musí udržet co nejdéle při životě a to ve stísněných podmínkách jednoho domu, který bude velice pečlivě hlídaný. Hráč by si na začátku hry mohl navolit, jaký typ vraha se o něj bude pokoušet - jestli brutální, tichý, nenápadný, krvelačný, kamikaze typ a tak dále.

Hráč by zkoumal svoje prostředí, seznámil se s NPC a mohl by interakcí modifikovat všechno, co ho napadne tak, aby snížil pravděpodobnost své smrti. Vrahem může být kdokoli, včetně stráží a hráč by se na to všelijak připravoval. Mohl by se zabarikádovat ve svém pokoji, ale postava musí jíst, pít, chodit na záchod, takže to dlouhodobě není řešení. A samozřejmě je potřeba také někdy spát, nejde to vydržet moc dlouho bez splnění základních lidských potřeb.

Od začátku hry by se však někde objevil vrah. Podle tématického zasazení by mohlo jít o ostřelovače, kuchaře, doktora nebo i osobního strážce. A ten by byl naprogramovaný tak, že by naopak zkoumal (po vzoru Scribblenauts), co se dá udělat proto, aby oběť byla mrtvá. Neustále by dokola studoval změny, které hráč udělal v domě a hledal v nich možnost využití pro svůj účel. Počítačem řízená postava samozřejmě také může měnit cokoliv v okolí, ale zvyšuje tím riziko odhalení, ať už samotným hráčem nebo ostatními postavami, rovněž řízenými počítačem. Nemohl by tedy tak snadno vyříznout díru do podlahy a dostat se tak k oběti.

Podle typu vraha by pak záleželo na situaci, jak na hráče vyzrát. Brutální vrah prostě dům zapálí (či se o to alespoň pokusí) a nebude se s tím párat. Krvelačný by vsadil na svoje bojové schopnosti a proklestil by si cestu skrz ochranku. Nenápadný typ by mohl třeba dovést hráčovu postavu k nemoci, třeba dlouhodobým odebíráním izolace okolo oken - a pak při horečkách postavě nabídnout léky (s tím, že by stejně časem zemřela na zápal plic například). Kamikaze typ by mohla být například žena, která by se nechala nakazit smrtelnou pohlavní nemocí a pak ji předala oběti.

Vygenerovat soupis interaktivních objektů (tedy jejich tvar, materiál, vlastnost, účel) by byla jedna část věci. Umělá inteligence by pak měla za úkol zkombinovat dostupné možnosti a to vše by bylo ovlivněno okolím - co postavy vidí, slyší či vědí - proč ne podobně, jako Sims. Hlavním tahákem by ale bylo, že chování všech postav bude v zásadě předskriptované (přičemž hráč bude moci tyto skripty měnit - dávat rozkazy strážím například), jenom jedna umělá inteligence si tyto skripty zkopíruje, aby byla nenápadná - leč bude z těchto skriptů adaptivně vypadávat a budovat cestu k svému cíli. Nezapomínejme, že hráč (či jeho postava) bude vidět, slyšet a vědět jenom to, co je fyzikálně možné - o dění mimo smyslové vnímání postavy může být informována od ostatních postav, ale jak zjistit, kdo lže, že ano.

Účelem hry by bylo dostat hráče do naprosto bezbranné pozice, kdy se musí postarat o každou věc, aby přežil co nejdéle. Bylo by pochopitelně velice iritující, když by se jedna ze stráží vyklubala, jako vrah a v noci hráčovu postavu zabila. Je to nefér, ale je to účelné. Zkus to znova, milý hráči. Stejně tak by ale mělo být možné, aby si vrah během několika dnů vyvrtal nebozezem díru do zdi dostatečně velkou na to, aby jí protáhl utajenou foukačku se šipkou s jedem. Uvažujeme ve voxelech, samozřejmě.

Po skončení hry (což by byla smrt hlavní postavy anebo smrt / zneškodnění vraha) by hráč mohl shlédnout replay, kde by viděl pohyby všech postav v domě, kdo se jak choval, jaké kroky dělal vrah a poučit se do další hry. Stejně tak by si ale počítač uložil do databáze indicie, kdy byl viděn, kým, za jakých okolností a čemu se musí příště vyvarovat. A hra by se spustila s novými parametry znovu. Online žebříček s nejdéle přeživšími samozřejmostí. A jako vtipná modifikace by mohl být aspekt většího počtů vrahů, než jenom jeden. Takovou hru bych si zahrál s chutí, to vám povídám.