The Vox Media product team, the folks who develop our websites and back end tools, surprised us today by adding Pokémon support to Slack, the web-based group chat program we use to communicate.
Developer and design intern Robert Vinluan created a program for Slack that allows users to take a break with Pokémon battles. It works like this: type "pkmn battle me" into Slack, and a trainer will appear to battle you. Once it selects its Pokémon, it's your turn to pick by entering "pkmn I choose" and then the fighter of your choice. From there, it's pretty much your standard critter-filled duel.
Vinluan, a recent graduate from Parsons, designs and codes websites. In his spare time, he's created programs like @itsthisyear, a Twitter bot that retweets anyone talking about "all the things we should have or do or know by now."
Speaking with Polygon, Vinluan explained that information for each combatant is pulled from Pokéapi, which links to a database "detailing everything about the Pokémon main game series." Over the course of two days at a company hackathon called VAX, Vinluan built a bot on Slack that listens for those key combat phrases and reacts accordingly.
This is what a Slack-based Pokémon battle looks like.
"At Vox we have bots for everything and a lot of custom Pokémon emoji," Vinluan said, "so [The Verge support manager] Chao Li and I got around to joking about 'What if you could actually battle with them', and so I decided to actually build it.
"The bot just picks a random Pokémon from the original 150, but you can choose any from all 6 generations to battle it with."
The system currently only supports moves that do damage; a Growl command, for example, won't do anything because it requires coding another engine from scratch. Specific creature types and accuracy calculations are still waiting to be added, and Vinluan hopes to eventually get the server to support two players, rather than one-on-one matches with a bot.
"One thing that I didn't quite get to implementing yet is the game's type system, because Pokéapi doesn't have that data," Vinluan said. "But I managed to scrape it from somewhere else, so it's there but it's not being used right now. It's the next thing to add on my list very soon."
As of right now the system only works for Vox Media Slack users (sorry, everyone), but Vinluan plans to make the code open-source for other Slack users to contribute to or remix. For more Pokémon, check out our opinion piece on putting together the perfect lineup or analysis on The Pokémon Company.