Engineer Robin Kahlow (Warlock.AI) trained an AI agent to play the full version of Warcraft III (patch 1.29) on the classic Echo Isles map against the built-in Insane-level opponent, achieving an 89% win rate in three weeks. Training was conducted using self-play reinforcement learning on a standard desktop PC, and the author has released the code and experiment logs publicly.

What happened
The agent was trained directly on top of the unmodified 32-bit Windows Warcraft III client, which ran under Wine on Linux. Approximately 50 parallel game instances were managed from Python via a custom w3shim.dll: the library replaces game clocks with virtual ones, allowing the game to run faster than the processor permits and wait for the agent's command at each step. The neural network—a 5-layer Transformer with minGRU memory and approximately 3.2 million weights—played 840,000 games during training, equivalent to roughly 11 years of gameplay, while generating about 730 game hours per hour of real time. Inference takes about 13 ms per step on just four CPU cores, meaning the trained agent can play in real time on a standard computer.
Context
Agents for complex real-time strategies have long been considered the product of large laboratories: DeepMind's AlphaStar in StarCraft II and OpenAI Five in Dota 2 relied on data centers, game engine APIs, and large leagues of trainable bots. The warcraftsim project contains no algorithmic novelty—the methodology compiles techniques proven in AlphaStar: behavioral cloning of the built-in AI as a starting policy, a self-play league with past versions of the agent, an adaptive tax to keep the win rate around 50%, credit assignment via the UPGO scheme, and a target build order at the network input. The main success here was the harness, not the algorithm: it turned a closed game binary into a fast step-based environment suitable for modern reinforcement learning.
Why this matters for the industry
For the industry, the signal is in the cost of achievement: full self-play RL for RTS showed a working result without a game API, headless mode, or data center, with a fast environment and a narrow task. The barrier to entry for a solid RL experiment has shifted from a cluster to a single PC, which is important for small teams and startups without data centers. The main product value is the open harness: the combination of virtual clocks, parallel instances under Wine, and Python control is portable to other games and simulations with a "black box" environment, including automation and testing of desktop applications without APIs. In the coming months, forks of the harness for other legacy environments and the first independent runs are likely, which will either confirm or adjust the author's figures.
Why this matters for users
The project is fully open: code, documentation, and experiment logs are available at github.com/RobinKa/warcraftsim, so anyone can clone the repository, run the agent, or further train it on their own hardware with an RTX 3090-level PC under Linux and Wine. Inside, one can examine the harness structure—w3shim.dll, JASS hook, and CUDA graphs in C++—and the technique with virtual clocks and parallel instances under Wine is portable to other legacy applications without access to their code. For those studying reinforcement learning, this is a ready-made educational example of the full cycle—from environment to inference—within a single repository.
What is still unknown / limitations
The author's figures on win rate, inference speed, and environment acceleration have not yet undergone independent replication or peer review. The opponent is a scripted built-in bot, not strong players, and the proven value is limited to the single Echo Isles map, patch 1.29, and a modest network: the recipe and engineering are comparable, but not the scale of AlphaStar-era leagues. Generalization beyond this scenario is not shown, so the work should be treated as a proof of concept for cheap self-play in a narrow task, not as a universal result for any games or environments.
Sources
- Warlock.AI Blog (Robin Kahlow): Beating Warcraft III's insane AI with self-play reinforcement learning on one desktop
- GitHub repository RobinKa/warcraftsim — code, documentation, and experiment logs
- Project discussion on Hacker News
Author
Look at AI, editorial team
