Bakalářská práce

Konfigurovatelná umělá inteligence pro OpenTTD

Adjustable Artificial Intelligence for OpenTTD

Lukáš Kramný
Anotace

Tato práce se zabývá vytvořením webového prostředí pro vygenerování různých, na první pohled chováním odlišitelných, umělých inteligencí do hry Open Transport Tycoon Deluxe. Vygenerované soubory umělé inteligence (UI) podle uživatelem nastavených parametrů budou obsahovat pouze kód, který UI potřebuje pro vybrané funkcionality.

Abstract

This thesis deals with the creation of a web-based environment for generating various artificial intelligences, distinguishable at first sight, for the game Open Transport Tycoon Deluxe. The generated artificial intelligence (AI) files, according to user-defined parameters, will contain only the code that the AI needs for the selected functionality.

Zadání práce

Tématem bakalářské práce je analýza, návrh a implementace herní uživatelské umělé inteligence (UI) pro počítačovou hru OpenTTD s možnostmi nastavení vlastností a chování UI přímo ve hře. Alternativním řešením může být generátor UI s odpovídajícím nastavením.

Student nastuduje možnosti tvorby UI pro OpenTTD (klon Transport Tycoon Deluxe s otevřeným zdrojovým kódem) a zaměří se na skriptování UI bez nutnosti upravovat zdrojový kód hry. V průběhu práce se student seznámí s aktuální verzí NoAI API, získá vhled do přidružených standardních knihoven (od vývojového týmu OTTD NoAI) a osvojí si programovací jazyk Squirrel.

Úkolem studenta je zanalyzovat možnosti nastavení vlastností UI, která vyústí v odlišná chování nové UI. Zde zadání nabízí dvě odlišné varianty řešení. První předpokládá konfiguraci UI přímo ve hře, druhá předpokládá vznik jednoduchého generátoru, který na základě předloženého nastavení požadovaných vlastností sestaví konkrétní UI, kterou si uživatel do hry snadno importuje. Výhodou první varianty je kompaktnost řešení a snadná použitelnost z pohledu uživatele, ale zvyšuje složitost výsledné implementace a potenciálně snižuje efektivitu řešení. Druhá varianta naráží na problém přenositelnosti, proto je preferovaná implementace pomocí webového rozhraní, ale výhodou je přímočarost/jednoduchost výsledného zdrojového kódu generované UI. Volba je ponechána na studentovi. Svá rozhodnutí v textové části práce řádně vysvětlí a obhájí.

Student sestaví stručný přehled vlastností (z pohledu vlivu na chování pozorovatelné hráčem) oblíbených a zajímavých UI pro OpenTTD. K výběru stávajících implementací lze využít oficiální statistiky počtu stažení, přehledy základních vlastností UI i vlastní porovnání – řadu specifických vlastností, např. emotivní chování, implementují UI, které jsou z pohledu počtu stažení spíše na okraji zájmu komunity.

Ze seznamu vybere ty vlastnosti, které má smysl nějakou formou konfigurovat, ať už binárně, např. podpora jednotlivých typu dopravy, přítomnost emotivního chování apod., nebo v rámci rozsahu, např. nastavení míry inteligence, agresivity, míry vměšování se do infrastruktury konkurence, dále třeba ochota zadlužovat se nebo preference určitého typu přepravy.

V případě konfigurace nejvyšší inteligence by výsledná UI měla na rozumné úrovni obstát v konkurenčním prostředí při setkání se stávajícími UI. Vzhledem k režii možnosti nastavení, příp. potřeby dekompozice do kompatibilních bloků (v případě varianty s generátorem UI), lze očekávat jistou ztrátu efektivity oproti optimalizovaným monolitům. Při nastavení nejnižší míry inteligence je v pořádku, že UI zbankrotuje i ve hře bez konkurence.

Součástí textové části práce bude analýza vlivu jednotlivých nastavení implementované UI na výsledné chování, a to včetně porovnání výkonu. Implementaci student dá veřejně k dispozici komunitě OpenTTD.

Práce zkontrolována:
7. 6. 2021 15:42, RNDr. Mgr. Jaroslav Bayer, učo 72873
Jazyk práce
čeština čeština
Termín obhajoby
30. 6. 2021
Práce byla úspěšně obhájena

Vedoucí

RNDr. Mgr. Jaroslav Bayer, učo 72873
CVT FI MU

Oponent

Mgr. Matej Čižik, učo 324628
CVT FI MU

Literatura

  • RUSSELL, Stuart J. a Peter NORVIG. Artificial intelligence : a modern approach. 2nd ed. Upper Saddle River: Prentice Hall, 2003, xxviii, 10. ISBN 0130803022.
  • MILLINGTON, Ian. Artificial intelligence for games. Amsterdam: Elsevier, 2006, xxxv, 856. ISBN 0124977820.
  • AI and artificial life in video games. Edited by Guy W. Lecky-Thompson. Boston: Charles River Media/Cengage Technology, 2008, xv, 332 p. ISBN 9781584505587.
  • DIESTEL, Reinhard. Graph theory. 4th ed. Heidelberg: Springer, 2010, xviii, 436. ISBN 9783642142789.
  • Handbook of graph theory. Edited by Jonathan L. Gross - Jay Yellen - Ping Zhang. 2nd ed. Boca Raton, Fla.: CRC Press, 2014, xix, 1610. ISBN 9781439880180.

Masarykova univerzita Fakulta informatiky
Studijní program
Aplikovaná informatika
  • Přidání souboru

    Soubor nebo složku lze nahrát pomocí tlačítka Přidat.
  • Další operace se soubory

    Podrobnosti lze zjistit označením příslušného řádku.
  • Pohled pro experty

    Pro častou práci je možné zvolit režim Více možností.
  • Vyhledávání souborů

    Vyhledávaný výraz můžete zadat přímo do adresního řádku.
  • Rychlý přístup k souborům

    Pomocí funkce Nedávné je možné se rychle vrátit k právě prohlíženým souborům. Oblíbené soubory je také možné označit Hvězdičkou.