Screeps (07 Aug 2020)

This game has become a bit of a guilty pleasure of mine throughout 2018. In it, you program a RTS AI which persists in an MMO world and interacts with the AIs of other players, either through trade or through warfare. While I logged over 700 hours on it on steam, that’s only a fraction of the time I really spent with the game as most of the active “gameplay” actually happens when you write code inside the IDE of choice – watching it run with all those little creeps following their orders can be quite mesmerizing as well tho!

It served me as an introduction into JavaScript and forced me to actually profile my code, as compute time as well as memory on the MMO Server is obviously limited. The source code for my AI can be found on my github.

At its peak performance my AI reached global expansion rank 63. Since I was kinda lucky to be living in a rather peaceful corner of the map, I was able to turn most of my resources into in-game credits which could then be used to purchase subscription tokens – which could then be sold on the Steam Community market for good ol’ cash… fully automated, mind you, even after I stopped actively playing it. It was a fun while it lasted, but sadly I kinda lost interest over time, and in early 2020 Updates to the game caused my code to stop working, which in turn spelled the death for my AI as I checked back into it only half a year later.

Here are some Videos / Gifs I found resting in some chat histories from back then:

Here’s a small squad of mine hammering away at enemy walls. Two healers and one dismantler, enough to infinitely sustain the firepower of the hostile turrets (the blue beams) whilst dealing heavy damage to construction sites. Luckily that opponent didn’t have any proper defense creeps coded, or this would have failed gloriously.

Here my little scout found a hostile construction site of a new spawn (a very expensive building and basically the heart of the whole ant colony) which was almost finished – walking over hostile construction sites immediately destroys them, so this was very satisfying to watch, especially since this was during a ScreepsPlus tournament.

And yeah, my creeps had different (partially even animated) speech bubbles appearing on top of them depending upon their actions, because obviously that was important, even with CPU limitations.

Here my creeps where evacuating one of my old rooms, moving resources from the storage (left) into the terminal (right), from where they would be sent to other terminals throughout my creep empire.

I’ve tried getting back into it once or twice so far, but I kinda feel an urge to rewrite most of my codebase at this point, sooo… this might just never happen, sadly.