GreatGameIdeas is a Twitter bot written in C# which generates fantastic and nonsensical ideas for video games.


The algorithm behind GreatGameIdeas is pretty simple. It scrapes a list of popular "tags" from Steam. Tags are user-generated labels which are used to categorize similar games. Examples of tags include "free to play", "great soundtrack", "time manipulation" and "bowling". GreatGameIdeas picks two random tags, along with a randomly selected "popular" game (which it selects by parsing Steam's online "search" interface) and composes a tweet using these terms as follows: "A [tag one] [tag two] game set in the #[game name] universe."

Pretty simple, right? In fact, the biggest challenges I faced in implementing GreatGameIdeas came from trying to produce sensible hash-tags from verbose game titles such as "Far Cry® 2: Fortune's Edition". Thankfully, a little experimentation produced an algorithm (remove all subtitles, remove sequel numbers, convert ampersands to the word "and", remove all punctuation and spacing and capitalize the first letter of every word) which generally produces the same hash-tags which actual human beings are using to discuss the game in question.


Special thanks to Daniel Crenna who wrote the open-source TweetSharp library which GreatGameIdeas uses to post to Twitter.