ProtossXVR is Artificial Intelligence for StarCraft Brood War online competition. It has been written in Java and is using JNIBWAPI to communicate with the game.

This bot consumed an awful amount of my time, made me go to sleep regularly at 2 or 3 AM and still not being able to fall asleep, because of thinking:
- What can I do to make it better? How to debug this code? Does this approach makes sense?


Some YouTube links from the gameplay:
[YouTube] Win versus IceBOT, strategy: rush
[YouTube] Win versus default Terran, strategy: expansion

My current standings in the SSCAI tournament can be seen here:
SSCAI tournament statistics updated all the time

Structure:

This bot has standard structure i.e. it has modules like UnitManager or TechnologyManager, which are responsible for specific parts of the code.
It's strategy is called "rush" and means that we are trying to attack enemy as early as possible, before he's ready to efficiently defend. It is based on the Protoss ability to produce the most powerful infantry units early in the game. Essential to this strategy is battle chance evaluator, which tells units to fight only if they will win. This allows me to save lives of few units and those lives can make the difference between win and loss.

Interesting facts:

Initially I was making bot for Terran, but then I realized I like infantry much more than flying units, so I switched to Protoss, who has the most powerful infantry in the game.

Download and run / source code:

This project is open-source and the source code can be downloaded from:
https://github.com/Ravaelles/ProtossXVR

It is also possible to run ProtossXVR without using Eclipse (IDE for Java), but you will still need to have ChaosLauncher installed. For more information read this wonderful tutorial at the SSCAI website. Download Starter Pack and run installer in order to install ChaosLauncher. Then go into ProtossXVR-jar folder (inside my source code) and run the .jar file.
If you have done everything properly, when you run ChaosLauncher my bot should be able to play automatically.

Tip: There's a launcher.bat file included which will additionally display log console and I strongly suggest to use it. Before you run it, edit it in the NotePad and change directory in the first line to the place, where you've put it.