Skip to content
Santi Ontañón Villar edited this page Jul 13, 2017 · 3 revisions

Introduction

microRTS is a very simple Java implementation of an RTS game designed to test AI techniques. The motivation to create microRTS was to be able to test simple AI techniques without having to invest the high development time that is required to start working with Wargus or Starcraft using BWAPI. Also, for some AI techniques, one needs to know the exact details of the transition function used in the game, which is not available for some of those games.

In its default configuration, microRTS is deterministic, fully-observable and real-time (i.e. players can issue actions simultaneously, and actions are durative). However, the game can be configured to be non-deterministic or partially observable. I created it for testing, in particular, game-tree search techniques such as Monte Carlo search algorithms.

Although microRTS is designed to run without the need for a visualization (since it is not meant to be for a human to play, but for AIs), it comes with a simple visualization panel that can be used to see games in real-time. Here's a screenshot of a game in progress:

microRTS

The image shows some of the features of microRTS (more details in the GameDefinition page): the game map is a grid (that can have walls), all the units are 1x1 tiles big. The green boxes are resources, the white/grey squares are buildings, and the circles are moving units. The screenshot shows a scripted LightRush AI (that implements a quick melee unit rush) against a random AI, that just executes actions at random (as can be seen, since it simply trained a collection of workers and moved them to random places).

Maps can be defined directly in code, or using xml files.

Clone this wiki locally