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
Planning
- Obsidian – locally hosted notebook app that uses markdown
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.
