microRTS

microRTS is a small implementation of an RTS game, designed to perform AI research. The advantage of using microRTS with respect to using a full-fledged game like Wargus or Starcraft (using BWAPI) is that microRTS is much simpler, and can be used to quickly test theoretical ideas, before moving on to full-fledged RTS games. For a list of papers that use microRTS for research purposes, see https://github.com/santiontanon/microrts/wiki/Research

In its default configuration, microRTS is deterministic and real-time (i.e. players can issue actions simultaneously, and actions are durative). It is possible to experiment both with fully-observable and partially-observable games, as well as with some elements of non-determinism. Thus, it is not adequate for evaluating AI techniques designed to deal with non-determinism (although future versions of microRTS might include non-determinism activated via certain flags). As part of the implementation, I include a collection of hard-coded, and game-tree search techniques (such as variants of minimax, Monte Carlo search, and Monte Carlo Tree Search).

microRTS screenshot:

Demonstration videos of microRTS can be found here:

Getting microRTS

microRTS is developed in Java as open source software and can be downloaded from github: https://github.com/santiontanon/microrts

Instructions

Although microRTS is designed to be played only by bots, the game comes with a built-in GUI with which a human can play using mouse/keyboard. To play the game yourself, follow these steps:

  1. Run the gui.frontend.FrontEnd class. You should see the following screen:

  1. Mark the "Slow Down" option highlighted above (if unchecked, the game runs as fast as possible, when checked, each game cycle takes at least "Default Delay" milliseconds)

  2. From the "Player 0" dropdown menu, select "MouseController" so that you can play the game yourself.

  3. From the "Player 1" dropdown menu, select whichever bot you want to play against (for example, select "LightRush", which is a hard-coded simple bot)

  4. Press "Start", and the game should start right away.

  5. The next image shows the different elements you will see in the screen and what do they mean: