This is a big release that supports self-play, rgb, and new versions of SC2, and comes along with a whole lot of other changes. Unfortunately this needed some breaking changes, but they should be fairly easy to fix as well.
Changes:
- Add RGB as an observation and action space
- Add observations for list of units visible in feature layers
- Add observations for last actions, alerts and errors
- Support multi-player/self-play through the environment
- Support different observation types per player when doing self-play
- Support newer versions of the game, up through 4.3
- Support the new actions and units from the 4.0 balance patch
- Better support for launching the right game version for a replay
- Render RGB through the human renderer, including acting with the rendered actions
- Easily generate videos of a replay
- Automatically find the SC2 binary in non-standard setups
- Add enums for units, functions, argument types, and a few observations
- Add an easier way to create FunctionCalls
- Be able to reference bits of the observation by name
- Script to run all the tests
- Add a mock environment for easier testing
- Start testing types with pytype
- Better error messages
- Support more actions in the renderer
- Better rendering of overlays (actions, game speed, selection, build queue)
- Better IPv6 support
- Framework for tracking metrics of steps and episodes
- Allow disabling fog of war
- Support maps from newer seasons.
Breaking changes:
- Feature layer observations are renamed from "screen" and "minimap" to "feature_screen" and "feature_minimap" to differentiate from "rgb_screen" and "rgb_minimap"
- Resolution is no longer optional for environment construction
- The way to specify player race and difficulty to the environment has changed
- Races and difficulties are specified as full words, not single letters
- lib/__init__.py no longer exports any variables. Get them from lib.actions or lib.features directly.
- action and observation specs are now tuples to reflect the fact that actions/observations are multiplayer.
Experimental work:
- Play human vs agent.
- Play remotely, eg: sc2ai.net ladder.