This is a dumb, hacky, WIP solver for Sigmar's Garden which is the mini-game in Opus Magnum.
It works in a few steps:
- Take a screenshot of the game.
- Build a model of the game state using image classification.
- Solve the game with a simple depth-first search.
- Click buttons to actually execute the solution.
- Rinse and repeat.
- Python 3.6
- This runs on Windows only at the moment. (It uses win32 APIs directly).
You'll need to train the image classifier before getting started.
- Start Opus Magnum and open up Sigmar's Garden.
python -m sigmar.vision.training generate
- Manually categorize the generated images into the provided folders.
python -m sigmar.vision.training train
The image classification code is heavily based on this blog post by Vikas Gupta and code from this Gist by Stephen Meschke. A million thanks to them for making it all click for me finally.