A Compilation of Tools and Resources for Building an SC2 AI in Python
Everything you need to start building an SC2 AI in Python that wins, all in one place.
Getting Started
Step 1: Learn Python
- Codecademy Python 3 Course – Best for beginners.
- Codecademy Python for Programmers – For experienced developers who need Python-specific knowledge.
Step 2: Install StarCraft II
Step 3: Learn Game Mechanics
Essential APIs
- python-sc2 – Most popular API.
- pysc2 – Machine-learning focused API.
Tutorials
- Simple SC2 Python Bot Template
- How to get started with your own SC2 Bot
- How to Create a Python Zerg Rush Bot from Scratch
- StarCraft 2 Python AI Using The DeepMind (ML)
- Train your first SC2 learning agent (ML)
- Train a ML AI with DI-Star (ML)
Frameworks for Structured Development
- ares-sc2 – Extends python-sc2.
- sharpy-sc2 – Bot framework.
- Reaver – Deep RL framework.
Libraries & Utilities
- SC2MapAnalysis – Influence maps, pathfinding.
- queens-sc2 – Queen management.
- bossman – In-game decision tracking.
- SC2_bot_chat – Chat handling.
- sc2-helper – SC2 bot tools.
- SC2-Map-Segmentation – Automates SC2 map segmentation.
Open-Source Example Bots
Advanced Machine Learning Approaches
- Starcraft PySC2 mini-games and agents
- StarCraft II Unplugged: Offline RL
- Rethinking AlphaStar
- SarsaSC2 – Applying Sarsa lambda
- DI-Star – RL framework.
- The Harvester – ML bot.
Development & Debugging Tools
- local-play-bootstrap – Local game testing setup.
- VSCode Starcraft – SC2 bot dev extension for VSCode.