Framework pro implementaci botů pro hru NetHack
NetHack Bot Framework
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/61979Identifikátory
SIS: 151037
Kolekce
- Kvalifikační práce [11190]
Autor
Vedoucí práce
Oponent práce
Mráz, František
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwaru a výuky informatiky
Datum obhajoby
15. 6. 2015
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Klíčová slova (česky)
bot, NetHack, frameworkKlíčová slova (anglicky)
agent, framework, NetHackDosavadní pokusy o implementaci botů pro klasickou roguelike hru NetHack narážely na mnohá úskalí spojená s její rozsáhlostí, obtížností a konzolovým rozhraním. Framework implementovaný v této práci řeší problémy s napojením ke hře a zprostředkovává k ní programátorsky přivětivé rozhraní v jazycích Java a Clojure. Poskytuje možnost programovat pokročilé NetHack boty s využitím komplexního modelu herního světa, knihovny možných akcí a mnoha pomocných funkcí. Framework používá prvků funkcionálního a logického programování a nevyžaduje modifikace vlastního kódu hry. Popsána je také implementace ukázkového bota, který jako první bot vůbec dokáže hru dokončit. Powered by TCPDF (www.tcpdf.org)
Previous attempts at implementing bots for the classic roguelike game NetHack have been hindered by many problems related to its complexity and console-based interface. The framework implemented as part of this work solves the problem of interfacing with the game and provides a programmer-friendly API for the Java and Clojure programming languages. It enables programming sophisticated bots using the provided model of the game world, a library of possible actions and utilities for various aspects of the game. The framework uses elements of functional and logic programming and doesn't require modifications of the game. Also described is an implementation of the first NetHack bot capable of winning the game. Powered by TCPDF (www.tcpdf.org)