Skip to content

Multi-platform Version of StarCraft: Brood War in a Docker Container, ready to use for bot play simulations.

License

Notifications You must be signed in to change notification settings

ElsevierSoftwareX/SOFTX-D-25-00542

 
 

Repository files navigation

Observer docker images

This repository prepares a fully working to extract/record data using BWAPI AIModule from StarCraft: Brood War game running in Wine inside of docker image.

Installation

See installation instructions for Windows / Linux.

It should run well on new versions of major operating systems. It was tested on:

  • Microsoft Windows 10/11 (64-bit)
  • Ubuntu 22.04.01, 6.8.0-60-generic

Usage

Extract Data from replay

# On Windows, the default directory is %APPDATA%\observer\.
# On Linux, it is ~/.observer/.
# If the directory is empty, copy the ./bots folder (Extractor and Recorder) into it.
observer --extract [--bot-dir <BOT_DIRECTORY>] [--game-dir <GAME_OUTPUT_DIRECTORY>]

Record spectating scene from replay

observer --record [--bot_dir <BOT_DIRECTORY>]

You can put the RealVNC client to fullscreen and play comfortably.

(Although you might want to change your screen resolution to 800x600)

The GUI is going to be probably slower than normal game due to streaming via VNC.

Due to a known limitation, both observer --extract and observer --record require manual replay selection inside the container after launch.

Known limitations

  • Headful mode needs to specify the replays manually due to "Unable to distribute map" bug.
  • Headless mode not work due to bwheadless not designed for replay files.

Specification

  • StarCraft 1.16.1 game
  • wine 2.20.0~xenial
  • base image from sc-docker

Dockerhub images

Images are available on Dockerhub.

You can use:

cjdahrl/starcraft:wine
cjdahrl/starcraft:bwapi
cjdahrl/starcraft:java
cjdahrl/starcraft:play

These are latest stable images and are subject to change.

About

This project is maintained by Cognition and Intelligence Lab

About

Multi-platform Version of StarCraft: Brood War in a Docker Container, ready to use for bot play simulations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 68.2%
  • Shell 22.1%
  • Dockerfile 8.1%
  • PowerShell 1.6%