Engine for Real-time Strategy (RTS) Games
Engine pro realtimové stragie (RTS)
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/55967Identifikátory
SIS: 130392
Kolekce
- Kvalifikační práce [10932]
Autor
Vedoucí práce
Oponent práce
Kit, Michal
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Programování
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
2. 9. 2013
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
RTS hra, realtimová strategie, umělá inteligence pro RTS hry, multiplayer RTS hryKlíčová slova (anglicky)
RTS game, game engine, multiplayer RTS games, artificial intelligence for RTSRealtimové strategie (RTS) jsou velmi populární žánr na poli počítačových her. Bohužel, komerční RTS hry jsou uzavřené a nerozšiřitelné, což znemožňuje jejich důkladné poznání na úrovni zdrojového kódu. V této práci prezentujeme velmi ilustrativní 2D RTS hru založenou na .NET Frameworku s objektově orientovaným návrhem, která je plně rozšiřitelná a publikována jako open-source. Hra podporuje jak single-player, tak i multiplayer mód s možností hry proti počítačovým hráčům, kteří jsou vedeni umělou inteligencí. Systém umělé inteligence je rozšiřitelný pomocí pluginů. Projekt obsahuje budovy a jednotky s jejich vlastní vnitřní umělou inteligencí, která jim umožňuje chovat se (částečně) nezávisle. Nové jednotky a budovy i vnitřní inteligence pro ně mohou být přidávány jako kompilované DLL binární soubory. V tomto projektu dále prezentujeme propracovaný koncept managementu surovin, který umožňuje snadnou rozšiřitelnost sběru, transportu a přeměny surovin.
Real-time strategy (RTS) is a very popular genre of computer games. However, commercial RTS games are closed and not extendable, which prevents the community from investigating RTS games on the source-code level and from tailoring them to their needs. In the thesis, we present an illustrative, extendable open-source 2D RTS computer game for the .NET framework with an object-oriented architecture. It supports both single-player and multiplayer sessions with the possibility to play against computer players run by artificial intelligence. The system of AI is extendable with plug-ins. The project contains entities (buildings and units) with their own artificial intelligence, which enables them to behave as (partially) autonomous agents. New entities and artificial intelligence for them can be added easily through a programmer-friendly interface as compiled DLL files. The project also comprises a developed concept of resource management providing for easy design- extendability of resource gathering, transport and transformation.