Aplikace umělé inteligence v počítačových hrách

Podobné dokumenty
Pokročilé operace s obrazem

Boti ve First Person Shooter hrách

Umělá inteligence a rozpoznávání

Algoritmy pro práci s neúplnou informací

TĚLESNÁ VÝCHOVA A SPORT

Obsah. Proč právě Flash? 17 Systémové požadavky 17. Jak používat tuto knihu 18 Doprovodný CD-ROM 19

Základy umělé inteligence

H. Dreyfuss: What computers can t do, 1972 What computers still can t do, J. Weizenbaum. Computer power and human reason, 1976

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov

5. Umělé neuronové sítě. Neuronové sítě

Moderní systémy pro získávání znalostí z informací a dat

HERNÍ BOTI S UMĚLÝM VĚDOMÍM

Využití metod strojového učení v bioinformatice David Hoksza

IUVENTAS Soukromé gymnázium a Střední odborná škola, s. r. o. Umělá inteligence. Jméno: Třída: Rok:

ZMĚNY PRAVIDLA 11 OFSAJD

UITS / ISY. Ústav inteligentních systémů Fakulta informačních technologií VUT v Brně. ISY: Výzkumná skupina inteligentních systémů 1 / 14

HERNÍ ENGINE PRO TVORBU DIDAKTICKÝCH HER VE FLASHI

Václav Matoušek KIV. Umělá inteligence a rozpoznávání. Václav Matoušek / KIV

Teorie her a ekonomické rozhodování. 4. Hry v rozvinutém tvaru

Učící se klasifikátory obrazu v průmyslu

NABÍDKA TÉMAT SOČ PRO STŘEDNÍ ŠKOLY

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

GIS Geografické informační systémy

Znalostní technologie proč a jak?


Historie a vývoj umělé inteligence

JAK HRÁT ON-LINE? 0. PŘIZPŮSOBTE SI SVŮJ ŠTÍT A SVÉ BARVY

Hry a UI historie. von Neumann, 1944 algoritmy perfektní hry Zuse, Wiener, Shannon, přibližné vyhodnocování

TRÉNINK DOVEDNOSTÍ LUDĚK BUKAČ TRENÉR ČSLH

ŽS/12 Metoda vrůstu v nácviku herní činnosti

28.z-8.pc ZS 2015/2016

Alternativní ovládání PC a okolí

Dokumentace programu piskvorek

brmiversity: Um lá inteligence a teoretická informatika

Masarykova univerzita. Fakulta informatiky. Evoluce pohybu

GIS Geografické informační systémy

5.1.7 Informatika a výpočetní technika. Časové, obsahové a organizační vymezení. ročník hodinová dotace

Laser game. Návod ke hře. Manual ver. 1.1

Základy umělé inteligence

Vážení, Budete si moci vyslechnout podrobné informace od zapálených lektorů. Samostatný prostor je vyhrazen také pro osobní vyzkoušení

Varianty Monte Carlo Tree Search

Seznam her k vypůjčení v Areálové knihovně FSI

Alternativní ovládání PC a okolí

Informace pro výběr bakalářského oboru

Lifting, skiping, zakopávání, křížení nohou, odpichy

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

PRAVIDLO XI - OFSAJD. Pravidla fotbalu Změny a doplňky výkladu Pokyny a instrukce. Pravidlová komise FAČR a Komise rozhodčích FAČR

Pravidla vybraných deskových her pro potřeby předmětů Projektový seminář 1 a 2 v roce 2011/2012. Tomáš Kühr

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

DUST SETUP. následně každý hráč odloží hranou kartu a začíná první kolo. HERNÍ KOLO

DIDAKTICKÁ POČÍTAČOVÁ HRA SPOLUPRACUJÍCÍ S EXTERNÍM REÁLNÝM SYSTÉMEM

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

1. Úvod 2. Popis hry 2.1. Jak hrát 2.2. Příběh 2.3. Rozšiřující myšlenky 3. User interface 3.1. Úvodní menu 3.2. In-game GUI 4. Fyzika 5. Grafika 6.

Anotace. Středník II!! programování her.


Snadné testy i cvičení některých schopností člověka Petr Novák

Hledání správné cesty

MASSIV. Middleware pro tvorbu online her

Úvod Game designer Struktura hry Formální a dramatické elementy Dynamika her Konec. Úvod do game designu 1 / 37

Habermaaß-hra 5656A /4676N. Moje první hra Večer na farmě

SOFTWAROVÉ INŽENÝRSTVÍ 1

Systematika hokejbalu

Základy umělé inteligence

Informatika pro 2. stupeň

Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace

CHARAKTERISTIKA OBDOBÍ U12 UČ SE HRÁT (LÉPE)

Úvodem... 9 Kapitola 1 Karetních

Celostátní kolo soutěže Mladý programátor 2012, kategorie A, B

FragHammer v0.1 freečkový FANbase MOD pro hráče WH40k, Necromunda apod. her.

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Architektura počítačů

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

CHARAKTERISTIKA OBDOBÍ U10 UČ SE HRÁT

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

Hodnocení soutěžních úloh

Herní engine. Co je Engine Hotové enginy Jemný úvod do game designu

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu

Úvod do optimalizace, metody hladké optimalizace

CHARAKTERISTIKA OBDOBÍ U14 UČ SE TRÉNOVAT A VYHRÁVAT

Jak se matematika poučila v biologii

Algoritmizace prostorových úloh

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Úvod do počítačových sítí

Testování přístupnosti v soutěži Zlatý erb Radek PAVLÍČEK, TyfloCentrum Brno, o. p. s., projekt Blind Friendly Web

CW01 - Teorie měření a regulace

GIS Geografické informační systémy

CÍLOVÝ KONCEPT. Ghoul Wars. pro. Jihočeskou univerzitu Pedagogickou fakultu Předmět: TDSA

Hraní her. (Teorie a algoritmy hraní her) Řešení úloh hraní her. Václav Matoušek /

Klíčové kompetence. Jako jeden z nosných prvků reformy

1 Strukturované programování

Přístupnost webů knihoven příklady dobré a špatné praxe. Radek PAVLÍČEK, TyfloCentrum Brno, o. p. s., projekt Blind Friendly Web

CHARAKTERISTIKA VZDĚLÁVACÍ OBLAST VYUČOVACÍ PŘEDMĚT ZODPOVÍDÁ INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Klíčové kompetence. Jako jeden z nosných prvků reformy

NEWSLETTER TRÉNINKOVÉHO CENTRA MLÁDEŽE

STRATEGICKÁ HRA MAGNETIC CHALLENGE

ZAVÁDĚNÍ ERGONOMICKÉHO SOFTWARU TECHNOMATIX JACK NA PRACOVIŠTĚ OPD

Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Brožura dobré praxe

TGH13 - Teorie her I.

PROJEKT MINY - DOKUMENTACE

Transkript:

PB016 Úvod do umělé inteligence Aplikace umělé inteligence v počítačových hrách Eva Koláčková, 382878 14. 12. 2012

Obsah 1 Úvod... 3 2 Historie... 3 3 Bot... 4 3.1 Charaktery botů... 5 3.2 Soutěž BotPrize... 6 4 Prohledávání stavového prostoru tzv. pathfinding... 6 5 Waypointové sítě... 7 5.1 Ukázka waypointových sítích ve hře Quake 3... 7 6 Neuronové sítě... 8 6.1 Chování bota... 8 7 Závěrem... 9 8 Použité zdroje... 10 2

1 Úvod Počítačové hry jsou pro veřejnost nejznámější oblastí, ve které je využívána umělá inteligence. Tzv. herní umělá inteligence je v současné době nejrychleji se rozvíjejícím odvětvím v zábavním průmyslu. Tento obor vznikl z programování her a herního designu a patří k jedněm z nejdůležitějších stavebních prvků každé dobré hry. Herní inteligence, která ovládá postavy ve hře (hráčovi protivníci, spoluhráči) přispívá velkým dílem k oblíbenosti, tím pádem i k úspěchu celé hry. S rostoucí oblíbeností her pro více hráčů ( hraní po síti ) rostou i nároky hráčů na úroveň inteligence počítačem ovládaných postav. Pokud se hráč pohybuje ve virtuálním komplexním světě mezi postavami, které představují inteligentní bytosti, očekává, že se postavy budou také inteligentně chovat. Často se bohužel setkáváme se stále se opakujícími strategiemi protivníků. V poslední době si však vývojáři her začínají uvědomovat důležitost umělé inteligence (dále UI) a začínají se objevovat hry, jejichž UI věrně napodobuje lidské chování. Modely postav využívají složitější techniky převzaté z poznatků akademické UI. Díky tomu se postavy mohou učit nové věci interakcí se svým prostředím, adaptovat se na změny, či se nacházet v různých emociálních rozpoloženích (smích, vztek), které následně ovlivňují jejich chování. 2 Historie Až do druhé poloviny 90. let byla umělá inteligence v počítačových hrách považována jen za okrajovou záležitost, jelikož se vývojáři více specifikovali na dokonalejší a realističtější grafiku. První hra, kterou se začali kybernetičtí vědci zabývat, byly šachy. Na začátku implementace UI do her bylo hraní šachů považováno za záležitost superiorní inteligence, tedy za něco velmi lidského. Další hry: Wolfenstein V roce 1993 vydala firma id Software první 3D First person shooter (FPS) hru. Hráč musel procházet bludištěm a občas narazil na nepřítele bota. Ten, když spatřil hráče, tak ho začal sledovat. Pokud se ale hráč dostal mimo dohled bota, bot se vrátil zpět na své místo. 3

Quake Hra vydaná v roce 1996 taktéž od id Software již nabízela plné 3D prostředí. Hráč tak dostal větší volnost při pohybu a akci. Novinkou bylo, že nepřítel reagoval na zvuk. Unreal Tuto hru vydala firma EPIC v roce 1998. Byla to první hra s boty, kteří zastávali lidskou roli v multiplayerové hře. Boti používali k orientaci waypointy různě rozmístěné po mapě. Díky tomu si dokázali najít skrýš nebo nějakou efektivní zbraň. Half-Life V roce 1998 vydala tehdy neznámá firma Valve hru Half-Life. V této hře stojíte proti dvěma typům nepřátel. Mimozemšťanům a armádě. Skupinka nepřátel je schopna spolupracovat. Například jedna skupinka spustí palbu a druhá se současně přesune na jiné místo, hráče schovaného za bednou rychle vyženou granáty nebo ho obklíčí. Ochranka (hráčův spojenec) také útočí na nepřítele. Je zde ale nebezpečí, že poraní hráče či jinou spojeneckou postavu, která se mu vyskytne ve směru střelby. Ochranka také moc nedbá na svůj život a nikdy neutíká z boje. Unreal Tournament V Unreal Tournament (1999) stejně jako ve hře Unreal boti používají waypointy. Jsou schopnější a lépe napodobují lidské chování. Jsou schopni hrát i různé varianty hry jako například Capture the Flag (získat vlajku), Assault (útok) a Domination (nadvláda). 3 Bot Inteligentní agent bot ve hře nahrazuje lidského protihráče. Může být v roli protivníka nebo naopak spoluhráče. V dnešní době si boti vedou velmi dobře v boji, přesto zatím není problém odlišit je od lidského hráče. Základní úkol bota je řešení pohybu a navigace v herním prostředí. Bot si tedy musí zapamatovat pozice významných prvků v herní mapě (např. kde je 4

protivník, zbraně, vlajky) a hlavně musí být schopen najít co nejkratší cestu do vybraného místa. O to se stará tzv. pathfinding (viz níže). Hráč obvykle hru ovládá pomocí klávesnice (pohyb, změna zbraně, střelba) a myši (střelba, změna pohledu). Bot tyto úkony ovládá pomocí programů. A zde nastává problém. V praxi je totiž hráč omezen reakcemi svalů a myšlení a tyto reakce jsou opožděné. Bot tato omezení nemá. Aby se jeho chování co nejvíce přiblížilo tomu lidskému, je nutné jej implementovat. Vyřešit tento problém pomáhají nastavené charakteristiky, které tyto reakce ovlivňují. 3.1 Charaktery botů Pro pestrost her existuje více druhů botů, kteří mají různé vlastnosti (nepočítají se sem neherní vlastnosti např. barva vlasů). Ukázka některých charakterů: Jumper a croucher pravděpodobnost s jakou bot bude při souboji skákat a krčit se, aby se vyhnul střele. Nemůže však dělat oba pohyby zároveň. Camper nastavíme-li tuto charakteristiku na maximum, bude bot sedět někde schovaný a nepohne se z místa. Attacking určuje, jak dobře bot útočí. View Factor rychlost změny úhlu pohledu. Reaction Time zpoždění botovy reakce. Aim Accuracy přesnost při střelbě. Hodnoty v intervalu 0 (nepřesná střela) až 1 (vždy zasáhne nepřítele). Aim Skill jak dobře bot míří, > 0.0 & < 0.9 = míření je ovlivněno pohybem, > 0.4 & <= 0.8 = míří na pohyblivý cíl, > 0.8 & <= 1.0 = zaměřovač přesně kopíruje nepřítelův pohyb, > 0.6 & <= 1.0 = střílí výbušné náboje i okolo nepřítele (výbuch ho zraní), > 0.5 & <= 1.0 = střelba, i když hráče nevidí (ale očekává ho). Každý herní bot má nastaveny jiné charaktery, záleží na tom, jakou roli ve hře hraje a na jaké je úrovni. 5

3.2 Soutěž BotPrize Hráčům počítačových her nepřináší boj s počítačovým botem takové potěšení, jako hraní s živým protihráčem. K botovi si nemohou utvořit žádný vztah a navíc se tito boti chovají šablonovitě, až předvídatelně. Soutěž BotPrize spočívá v tom, že týmy programátorů vytváří vzorec chování pro postavu ve hře Unreal Tournament 2004. Postava je poté vložena přímo do hry, ve které se utká s protivníky ovládanými živými hráči. Například loňský vítěz CE-CIG2012 využívá bojové taktiky, které odkoukal do živých soupeřů a letošní favorit soutěže Neurobot spoléhá na virtuální neurony simulující funkci mozku. Soutěž má podpořit vývoj umělé inteligence využitelné pro počítačové hry nebo simulaci davu v nouzových situací. Je vlastně takovou variací na Turingův test. Výherce soutěže obdrží 7 000 dolarů. Dříve obdobná menší soutěž probíhala i zde, na fakultě informatiky, s názvem FIbot. 4 Prohledávání stavového prostoru tzv. pathfinding Základem každé hry je pohyb, ke kterému potřebuje nějakou formu navigace. Podle této navigace se UI řídí, potřebuje-li se dostat z bodu A do bodu B. Obvykle se jedná o navigační síť nebo vzájemně propojené checkpointy (místa definovaná souřadnicemi), které postavě ve hře říkají, kudy může chodit. Tyto checkpointy byly dříve rozmísťovány designéry ručně. 6

Dnes se využívá metoda pathfinding, která je založena na algoritmu heuristického prohledávání grafů. Optimální, čili nejkratší cestu hledá pomocí algoritmu A-Star (A*). Pro jeho použití musí být nejdříve zkonstruovaná navigační síť, tedy graf, který popisuje, odkud kam je možné se dostat. Uzly sítě (checkpointy) reprezentují topologicky významné body místnosti, plné hrany možnosti přímého pohybu mezi nimi. 5 Waypointové sítě Navigační sítě mohou obsahovat i speciální vlastnosti uzlů (waypointy). Ty říkají, kde je vhodné se bránit, kde počkat na protivníka atd. Nevýhodou těchto sítí je neschopnost reagovat na dynamické změny prostředí. Například hráč zablokuje vstup do budovy autem. Auto nemůže z ničeho nic zmizet, ani být průchozí. Proto se v dnešní době objevuje snaha o tvoření těchto sítí automaticky, pomocí nástrojů umělé inteligence, což je velice těžký úkol. 5.1 Ukázka waypointových sítích ve hře Quake 3 Systém Area Awareness System (AAS) poskytuje ve hře Quake 3 botovi informace o různých částech světa. Zahrnuje tedy informace o navigaci, cestování a dalších entitách herního světa. Základem AAS je speciální 3D reprezentace prostředí. Bot se mezi dvěma body (areas) může pohybovat po přímce. Avšak znalost tohoto pohybu nestačí k celkové navigaci bota. K cestování z jedné oblasti do druhé potřebuje bot vědět, jestli je to vůbec možné. Proto jsou ve hře Quake 3 zavedeny tzv. reachabilities (dosažitelnosti). Ukázka dosažitelností: Chůze po přímce (A) pokud smí hráč mezi dvěma oblastmi přecházet (je zde cesta nebo není zde propast). Velikost mezi body E1 a E2 je menší než maximální velikost kroku, dochází k vytvoření walk reachability. Výskok (z vody) (B) hráč je schopen vyskočit, není-li zem (břeh) příliš vysoko. Vzdálenost mezi body E1 a E2 je větší než maximální velikost kroku a zároveň je menší než maximální velikost skoku. Vytvoří se jump reachability. Plavání po přímce (C) pokud je dovoleno přeplavat z jedné oblasti do druhé, je vytvořena swimming reachability. Dále je potřeba vyskočit (viz výše). 7

A B C 6 Neuronové sítě Neuronové sítě jsou jedním z výpočetních modelů, které jsou používány v umělé inteligenci. Jejich vzorem je chování odpovídajících biologických struktur. Jsou složeny z neuronů, které si vzájemně předávají signály a transformují je pomocí funkce pro přenos k dalším neuronům. Využívají se k rozpoznávání a kompresi obrazu a zvuku, k předvídání vývoje časových řad, k filtrování spamu. Neuronové sítě se používají při řešení problémů, které nemají algoritmické řešení nebo je toto řešení příliš složité. Obecně řečeno se používají pro problémy, které řešíme hlavou, ale nedokážeme je řešit programově. 6.1 Chování bota Boti užívají neuronové sítě k uložení a používání určitých znalostí. Mohou pomocí nich vyjadřovat, jak moc chce bot vyjadřovat určitou akci. Neuronové sítě mohou být natrénovány ještě před samotnou hrou a boti pak využívají znalosti z báze znalostí (knowledge base). Lze je samozřejmě trénovat během hry, to je ale časově náročné a učící schopnosti a kapacita paměti jsou omezeny. Například ve hře Counter-Strike se po prvním načtení herní mapy vytvoří ve složce s waypointy soubor, do kterého se zapisují různé situace, do kterých se bot dostal. Hráč je schovaný za bednou a čeká, až kolem něj bot projde. Poté ho snadno zezadu zastřelí (A). Tato 8

situace se zapíše do již zmiňovaného souboru. V dalším kole bot zkontroloval, zda není hráč opět ukrytý za bednou (B). 7 Závěrem Dále se v herních hrách užívá v rámci umělé inteligence Finite state machine (FSM). FSM je systém s určitým počtem stavů. Jakýkoliv systém, který má limitovaný počet stavů, může být modelován jako FSM. FSM jsou často používány k simulaci lidského chování a myšlení. Využívá se také expertních systémů, tedy systémů, které ukládají lidské zkušenosti získané z tréninku a cvičení. Tento systém má tři důležité aspekty. Znalost faktů, znalost vztahů mezi fakty a heuristiku nebo výkonnou metodu pro ukládání a získávání těchto znalostí. Důležitý je též genetický algoritmus (GA). GA je heuristický postup, který se snaží aplikací principů evoluční biologie nalézt řešení složitých problémů, pro které neexistuje použitelný exaktní algoritmus. Genetické algoritmy, resp. všechny postupy patřící mezi tzv. evoluční algoritmy používají techniky napodobující evoluční procesy známé z biologie dědičnost, mutace, přirozený výběr a křížení. Umělá inteligence v počítačových hrách má velice široké využití. Nově se vyvíjejí hry detekující stres, přizpůsobují úkoly, které musí hráč splnit, váze hráče pomoc v boji proti obezitě. 9

8 Použité zdroje http://www.slideshare.net/lordmwesh/game-playing-in-artificial-intelligence#btnprevious http://www.slideshare.net/lordmwesh/game-playing-in-artificial-intelligence#btnnext http://dcgi.felk.cvut.cz/home/felkepet/projekty/hruskf1_semestr_proj.pdf http://scienceworld.cz/technologie/umela-inteligence-v-pocitacovych-hrach-1-2333 http://www.dvojklik.cz/619-nahradi-umela-inteligence-zive-protihrace http://games.tiscali.cz/tema/umela-inteligence-ve-hrach-4-komunikacni-problem-56884 http://games.tiscali.cz/tema/umela-inteligence-ve-hrach-3-o-chytrou-ai-nikdo-nestoji-56572 http://www.krokodyyl.wz.cz/inteligence.php http://www.osel.cz/index.php?clanek=5798 10