StarCraft Broodwar in a Docker-Container!
lionax/docker-starcraft is a docker image aimed for the execution of BWAPI bots on any operating system that supports docker.
I created the image for two purposes:
- to be able to run StarCraft and BWAPI bots on Linux
- to apply Machine Learning to BWAPI bots in a Linux environment with Python and TensorFlow
Currently I’m working on an integration of Machine Learning techniques for Strategy Generation into StarCraft Broodwar API bots. For this purpose I asked myself if it was possible to run StarCraft and the API in a docker container on linux making the environment portable.
Checkout the current status of the project on Docker Hub and Github.
Several problems to solve
As for the more interesting problems to tackle I had to start an x-session within one of the image layers in order to properly initialize the wine prefix.
I extracted the contents of the BWAPI 4.1.2 installer and placed them into my own BWAPI repository. This enables an unattended installation into the image.
Side-note: because of the size of the image and the fact that I used aufs as docker storage driver my disk-space ran out of space (0 bytes left) and some of my data was destroyed (see this stackexchange). I removed docker completely and switched to overlay2, hoping that the problem will be solved.
Part of a bigger picture
This project is part of my whole bachelor thesis and bot-development project called ‘Odysseus’, which at the moment is not open to the public though.
Related to this project and my bachelor thesis in general:
- Docker-BotCraft - A cross-compile environment backed with docker.
- BOSS - The Build Order Search System of the UAlbertaBot as separate project with some modifications and cross-compilation support.
- Odysseus - A bot utilizing machine learning for strategy generation. Not published yet
Any thoughts of your own?
Feel free to raise a discussion with me on Mastodon or drop me an email.