Editor's note: This piece first appeared on ryantwalton.com and is republished here for continuity.
In 2016, I started playing a browser-based online game called Grepolis regularly. According to Grepolis.com, "Grepolis is a free, browser-based online game with a strong focus on cooperative play and strategy." In gaming terms, it is an MMORTS (massively multiplayer online real-time strategy). Players form alliances to protect territory, share resources, and work toward shared goals. By then, I had already spent years as a web developer, so I started building small scripts to help with alliance coordination. The real breakthrough came when I learned that the developers published data feeds for third-party scripts to consume.
I make no claim that my bot was the best, and it certainly wasn't the first. When I started playing, our alliance relied on a bot created by another player. But after Microsoft acquired Skype and eventually retired the API that bot used, a gap opened up. I had already built integrations for HipChat and Slack at work, so I looked into options for Skype. Microsoft had moved Skype integrations into the Bot Framework, which had recently become available. In August 2017, Grepbot started as a minimal bot that could authenticate to a room and receive messages.
From there, Grepbot became an ongoing project. Early on, the bot had a few scripted "Marvin the Paranoid Android"-style responses. Later, I added an AI persona and expanded the behavior. Most importantly, Grepbot gained the ability to track activity across multiple chat rooms and differentiate between them, so each room could run with different settings. Beyond battle-point updates, it could report alliance joins and exits, city gains and losses, and city founding events.
It wasn't all smooth. Because the whole alliance could interact with the bot, some players tried to "bully" it. Once responses expanded beyond a handful of fixed phrases, behavior in chat got more unpredictable. Others went in the opposite direction and asked the bot for dates. Giving the bot personality made the project more engaging, but it also increased frustration when command-style prompts were interpreted conversationally instead.
In the long run, Grepbot may not be world-changing, but there was something magical about the first time I mentioned it in chat and got a response back. That moment felt like clearing a major hurdle: once it worked, the rest became a question of imagination and implementation.
