Umělá inteligence pro hru Spelunky
Artificial Intelligence for Spelunky Computer Game
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/101236Identifikátory
SIS: 197169
Kolekce
- Kvalifikační práce [11981]
Autor
Vedoucí práce
Oponent práce
Ježek, Pavel
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Programování a softwarové systémy
Katedra / ústav / klinika
Katedra softwaru a výuky informatiky
Datum obhajoby
6. 9. 2018
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Klíčová slova (česky)
umělá inteligence, plánování, GOAP, SpelunkyKlíčová slova (anglicky)
artificial intelligence, planning, GOAP, SpelunkySpelunky jsou jedna z plošinových her, ve které hráč ovládá panáčka a má za úkol projít bludištěm do cíle. V tomto bludišti čeká spousta nástrah a úkolů, což dělá hru zajímavou pro tvorbu umělé inteligence, kterou je možno na tyto nástrahy a úkoly upravovat. Cílem této práce bylo vytvořit framework pro pohodlné psaní umělé inteligence do této hry. Ačkoliv pro její psaní již existuje nástroj SpelunkBotsAPI, který umožňuje výsledný kód také spouštět, rozhraní tohoto nástroje poskytuje jen základní ovládací prvky a jeho použití je obtížné. Přístup, jaký jsem tedy při řešení této práce zvolil, využil existující API a nad ním vybudoval framework, který bude snáze použitelný. Aby byla intuitivnost použití frameworku vyšší, tato práce nad ním vytváří GOAP (Goal Oriented Action Planner), který jeho funkcionalitu používá přímo pro dosažení cílů, které programátor zadá.
Spelunky is one of the desktop games, where player control agent in labyrinth and his task is to reach the exit. In this labyrinth there are many threats and quests, which makes the game interesting for making artificial intelligence, that can be adjusted for these threats and quests. The goal of this work was to create a framework for comfortable programming of artificial intelligence for this game. Although there is a tool named SpelunkBotAPI for its writing and executing, the API of this tool provides only basic controlling of agent and it is hard to use it. The approach, that I chose for this work, used the existing API and built a framework above it, that will be easier to use. For more intuitive using of the framework, this work crates GOAP (Goal Oriented Action Planner), that uses its functionality for reaching goals specified by the programmer.
