Skip to content

Version 2.0

Compare
Choose a tag to compare
@tewalds tewalds released this 08 Jun 14:49
· 363 commits to master since this release

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.