schneiderbox


Erastus: 1.0 Release

April 28, 2022

Screenshot of Erastus’ UI

Erastus is now publicly available. After experimenting with Docker and Kelvandor last year, Docker was a main part of my workflow this year, particularly in deployment. If you have Docker and Docker Compose set up, all you need to do is:

  1. git clone https://github.com/richardjs/erastus
  2. cd erastus
  3. docker compose build
  4. docker compose up
  5. Browse to http://localhost:9000

(Or docker-compose if you’re not using Compose V2.)

I developed on Arch Linux and our production server was running Ubuntu. After the project was done, without ever making an effort to support the environment, I installed Docker Desktop on a Windows box, and Erastus came up perfectly on the first try. I get that’s one of the major points of Docker, but it is still pretty cool to experience.

To the testing team’s estimation, Erastus plays a strong game of Santorini. Our strongest player typically played against the AI set to 50K iterations and 4 workers. He often (but not always) beat that level, but preferred practicing against a quick-moving AI instead of turning it up to a higher, but slower-moving, setting. My experiments suggested that the algorithm’s playing strength tops out around 200K iterations and 8 workers. Our production server (a general-purpose VM in the university VMware stack) averaged 8 seconds to make a move on those settings.

For next steps, I’d like to clean up the code and write some posts walking through the project. On the other hand, after staring at this game for a couple months, I also feel drawn to work on other projects! That’s the typical pattern with these AIs.