Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 341)
Detail práce
   Přihlásit přes CAS
Framework pro implementaci botů pro hru NetHack
Název práce v češtině: Framework pro implementaci botů pro hru NetHack
Název v anglickém jazyce: NetHack Bot Framework
Klíčová slova: bot, NetHack, framework
Klíčová slova anglicky: agent, framework, NetHack
Akademický rok vypsání: 2014/2015
Typ práce: diplomová práce
Jazyk práce: čeština
Ústav: Katedra softwaru a výuky informatiky (32-KSVI)
Vedoucí / školitel: Mgr. Jakub Gemrot, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 26.05.2014
Datum zadání: 06.10.2014
Datum potvrzení stud. oddělením: 13.10.2014
Datum a čas obhajoby: 15.06.2015 10:30
Datum odevzdání elektronické podoby:03.05.2015
Datum odevzdání tištěné podoby:05.05.2015
Datum proběhlé obhajoby: 15.06.2015
Oponenti: RNDr. František Mráz, CSc.
 
 
 
Zásady pro vypracování
NetHack je klasická počítačová hra pro jednoho hráče, zastupující žánr tzv. roguelike her, což je podžánr tahových fantasy role­playing her převážně s ASCII grafikou. Odehrává se v procedurálně generovaném komplexu podzemních jeskyní s mnoha různými typy nepřátel, neutrálních postav, předmětů a úkolů, se kterými hráč musí interagovat, resp. je plnit.

Podobně jako pro ostatní roguelike hry existuje řada pokusů o implementaci automatizovaného hráče, bota, který by dokázal hru hrát bez lidského zásahu. Tato úloha je však v případě NetHacku náročná jak z hlediska umělé inteligence, tak i z hlediska technické implementace. Prostředí hry NetHack je komplexní - tedy částečně pozorovatelné, stochastické a rozsáhlé - a interakce s ním probíhá skrz textové rozhraní, které je v řadě případů nejednoznačné, což komplikuje rozpoznávání stavu hry.

Cílem práce je navrhnout a implementovat framework pro tvorbu NetHack botů, který by programátora odstiňoval od napojení na samotnou hru, zprostředkovával programátorsky přívětivé rozhraní ke hře - tedy knihovnu akčních a sensorických primitiv spolu s modelem herního světa (reprezentace mapy, předmětů, nepřátel a jejich vlastností) - a umožnil tak soustředit se primárně na implementaci umělé inteligence.

Framework nebude využívat modifikací kódu hry pro usnadnění napojení ke hře, ale bude využívat stejného rozhraní jako lidský hráč (tj. emulátoru terminálu), a umožňovat tak hru hrát i na veřejných NetHack serverech s podporou protokolů Telnet a SSH.

Framework bude zacílen na platformu Java, pro kterou žádný podobný framework aktuálně neexistuje. Bude implementován v jazyce Clojure a poskytne také API pro boty pasné v jazyce Java.

V rámci práce bude implementována ukázková umělá inteligence, která bude využívat funkce a služby frameworkem poskytované. Tato UI by měla být schopná hru hrát alespoň na úrovni srovnatelné se středně pokročilými lidskými hráči.
Seznam odborné literatury
Alex J. Champandard, AI Game Development, New Riders Games, 2003

Steve Rabin (eds.): AI Game Programming Wisdom series

Mark DeLoura (eds.): Game Programming Gems series

Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 1995

TAEB Website, http://taeb-nethack.blogspot.cz/
 
Univerzita Karlova | Informační systém UK