StarCraft NeuroEvolution Unit AI

evolving the past, one generation at a time

NeuroEvolution, or better yet Real Time NeuroEvolution of Augmenting Topologies(rtNEAT) uses generic algorithms and selective breeding to both train and shape neural networks into their optimal configuration. The original C++ rtNEAT algorithm was developed at the University of Texas, at Austin by Dr. Kenneth Stanley.

My experiment in rtNEAT ported the C++ centered algorithm into a Java implementation and implemented both C++ and Java algorithms into StarCraft for performance and feasibility testing.

AIIDE 2010 Tournament maps

the battlegrounds

The 2010 AI and Interactive Digital Entertainment Conference hosted an AI StarCraft competition which pitted various StarCraft bots against one another in numerous setups. I used the Tier 1 tournament maps against the built in StarCraft computer to both train and test rtNEAT.


the Creation

in the wild

the Documentation

Because documentation comes first!

Online JavaDocs

the Tech/Hacks

Libraries

» BWAPI – Brood War Application Programing Interface

» BWTA – Brood War Terrain Analyzer

» BWAPI-Proxy – BWAPI Java Socket Proxy

» C++ rtNEAT – Real Time NeuroEvolution of Augmenting Topologies

» Java rtNEAT – Java Real Time NeuroEvolution of Augmenting Topologies

Utilities

» ChaosLauncher by MasterofChaos

» BWAPI Injector

» Resolution Hack Loader by hellinsect

» W-MODE