Umělý hráč pro Dotu 2
Artificial player for Dota 2
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/101254Identifikátory
SIS: 197576
Kolekce
- Kvalifikační práce [10690]
Autor
Vedoucí práce
Oponent práce
Parízek, Pavel
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové a datové inženýrství
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, MOBA, Dota 2, mapy vlivu, teorie užitkuKlíčová slova (anglicky)
artificial intelligence, MOBA, Dota 2, influence maps, utility theoryDota 2 patří mezi nejoblíbenější strategické počítačové hry žánru Multiplayer Online Battle Arena (MOBA), který je typický svými nároky na týmovou spolupráci a taktické myšlení hráčů. To činí žánr zajímavou platformou pro výzkum umělé inteligence (AI), který se často zabývá tvorbou agentů hrajících hru. Hry žánru neposkytují nástroje umožňující vývoj složitějších agentů. Prvním cílem této práce bylo vytvořit rozhraní, které umožní vývoj, agentů pro Dotu 2 v Javě. Druhým cílem bylo vytvořit agenta hrajícího Dotu 2, který prokáže funkčnost rozhraní. Práci jsme rozdělili do dvou částí. Nejdříve jsme vytvořili nároky na rozhraní a popsali jsme jeho architekturu. V druhé části práce jsme analyzovali Dotu 2 z perspektivy AI a implementovali vlastní agenty nad vytvořeným rozhraním. Naši agenti byli schopni prokázat funkčnost rozhraní a zvládnutí základních herních dovedností. Výsledné rozhraní může být použito pro další výzkum umělé inteligence.
Dota 2 is one of the most popular strategic computer games of the Multiplayer Online Battle Arena (MOBA) genre. MOBA games are based on teamwork and tactical thinking. That makes them an interesting platform for the artificial intelligence (AI) research, that aims to create artificial agents capable of playing the game. However, there does not exist any framework, that would allow the development of complex agents. First, we developed a framework that allows the creation of agents for Dota 2 in Java. Second, we implemented an agent above the framework, that is capable of playing the game.We have divided the work into two parts. First, we have analyzed requirements for our framework and described its architecture. Second, we have analyzed Dota 2 from the AI perspective and implemented agents above our framework. Our agents were capable of playing the game. The framework can be used for further research.