Challenges for Game Designers

Books, Video Games

Challenges for Game Designers

For the last few months I’ve enjoyed following along with Liz England’s Game Design Book Club. Though I’ve only been participating intermittently, it’s been really valuable as motivation to read books that are often cited and highly praised in game development circles. It has also pushed me to explore certain topics that I may not have chosen on my own.

September’s book club selection was Challenges for Game Designers by Brenda Romero and Ian Schreiber. It covers some common ground with other “game design 101” books aimed at a classroom environment, but it has two unique twists. Firstly, it has an emphasis on non-digital games. This affords a greater focus on “pure” mechanical considerations: chance, skill, strategy, social dynamics, etc. Secondly, as the title suggests, the reader is encouraged to explore the topic of each chapter by completing assorted design exercises; it’s equal parts textbook and workbook.

I was very impressed by the variety of exercises presented in the book. The ones that particularly interested me (and, admittedly, took the least time to complete) involved taking an existing game and modifying it to emphasize a different type of skill.

For instance, one of the exercises in chapter 5 was to “modify [Tic-Tac-Toe] by adding one or more chance-based mechanics”; the game should also be “good for adult players”. I thought this challenge was quite interesting, so I took some time to develop a small game called Catalina Tiles for it. The game is played on a nested 3×3 grid, and players use four 4-sided dice to determine which tiles they can claim on their turn.

Rules for Catalina Tiles [PDF]

Another exercise in chapter 8 involved choosing a “non-digital game with no elements of chance at all” to modify by adding fog of war: “your opponent’s pieces are hidden from you (and vice versa) except under certain conditions.” After researching existing chess variants (there are so many), I developed two unique hidden-information chess games. Luft Chess is standard chess played with invisible kings, and Reverse Schrödinger’s Chess has each player secretly deploying their opponent’s back row pieces.

Rules for “Fog of War” chess variants [PDF]

I had a lot of fun completing these exercises (also learning how to use LaTeX to make fancy rulebooks). Even as someone who works on games every day, it’s been valuable to stretch my creative muscles and make games under unfamiliar constraints.

The Game Design Book Club is online and open to everyone, so feel free to follow along if it interests you. The November selection is Shooter, “an anthology of critical essays about first-person shooters” that Clint Hocking has spoken highly of.

→ No CommentsTags:  ·  ·  · 

The ‘P’ in NPR



The podcast Radio Diaries recently featured an insightful interview with Bill Siemering, one of the founders of National Public Radio. In it, they discuss the original NPR mission statement written in 1969; the document outlined their vision for non-commercial radio that would bring context, culture and humanity to the news.

Mr. Siemering read a short excerpt from the mission statement on the podcast, and I was moved by how sincere and optimistic it was. I have always enjoyed NPR, and knowing the lofty ideals behind its founding only deepens my appreciation. As a media creator, their statement articulates the kind of values that I aspire to express in my own work. In fact, I was so impressed and inspired that I wanted to share some brief quotes from it here (courtesy of the transcription by

National Public Radio will serve the individual, it will promote personal growth, it will regard the individual differences with respect and joy, rather than derision and hate. It will celebrate the human experience as infinitely varied, rather than vacuous and banal. It will encourage a sense of active, constructive participation, rather than apathetic helplessness.


The total service should be trustworthy, enhance intellectual development, expand knowledge, deepen aural aesthetic enjoyment, increase the pleasure of living in a pluralistic society, and result in a service to listeners which makes them more responsive, informed human beings and intelligent, responsible citizens of their communities and the world.


It would speak with many voices and many dialects. The editorial attitude would be that of inquiry, curiosity, concern for the quality of life, critical problem solving, and life loving. The listener should come to rely upon it as a source of information of consequence, of having listened as having made a difference in his attitude toward his environment and himself.


National Public Radio will not regard its audience as a market, or in terms of its disposable income, but as curious, complex individuals who are looking for some understanding, meaning, and joy in the human experience.

I’ve highlighted a few sections that I thought were particularly eloquent. You can read NPR’s entire original mission statement here.

To relate this to my own work, I wonder how a video game could “celebrate the human experience as infinitely varied”. How can we engage our players as “curious, complex individuals” with “a sense of active, constructive participation”? I don’t have any clear answers, but I’ll aspire to keep such objectives at the heart of my creative work.

→ No CommentsTags:  · 

Playing Games on Twitter

Internet, Video Games

Twitter Bot Quilt

I was recently interviewed by Jason Johnson at Kill Screen about the intersection of two of my favourite topics: video games and Twitter bots. Specifically, he wanted to explore the possibilities of using Twitter as a platform for games, and I was happy to oblige! You can read the interview over on their site:

Kill Screen – Is Twitter the Next Playground for Gamers?

In preparation for our discussion, I took some time to catalogue all the game & game-like bots I could find. For instance, image bots (such as Lowpolybot, a_quilt_bot & pixelsorter) are interactive, but are they games? Others explore content from games (MinecraftSigns, Book of the Dead) without being games per se.

Some bots (AnagramBot, ThesaurusGame, and my own TinyCrossword) function like public game shows; anyone on Twitter can reply but only the first correct answer will win. More egalitarian bots (wordassocbot, mazebotgame & fmkvote) let everyone play, and choose their inputs randomly or in aggregate1. There’s a category of bots that don’t take player input at all, but instead play games against themselves (ChessBotWhite & reverseocr). You could even interpret artassignbot as a game, if you approached its assignments sincerely!

Bots can also explore game-like procedural generation and world building. ARealRiver, tiny_star_field and dungeon_bot assemble unicode symbols into microcosms, cleverly working within the constraints of Twitter. Similarly, fantasy_florist and youarecarrying evoke imaginary worlds using only brief descriptions.

Ultimately, I believe we’ve only seen the tip of the iceberg when it comes to playing on Twitter and interacting with bots. There are many interesting creative opportunities in both, so I encourage my fellow bot enthusiasts to continue creating and experimenting!

1 The popular streaming bot Twitch Plays Pokémon uses a similar approach.

→ No CommentsTags:  · 

Stir Fry Blues

Video Games

Stir Fry Blues

Last year I made a little game for Space Cowboy Jam with my good friend Matthew Breit. Inspired by one particular scene from Cowboy Bebop, we decided to make a silly cooking simulator. He modeled some vegetables, I coded some menus, we wrote some goofy dialogue, and slapped together Stir Fry Blues in a couple of weeks.

Sadly, the version we made within the time constraints of the game jam was pretty lousy (we placed 45th out of 60 overall.) It had no audio, the menus were ugly, and the NPC dialogue was repetitive. Most egregiously, we still had a placeholder screen for the cooking animations. After the jam, we simply left the project in unfinished limbo for months.

Over the Christmas holidays, I took a pass at improving Stir Fry Blues to the point that I would no longer be ashamed of it. I cleaned up the UI, added some creative-commons audio, and wrote logic for the NPCs to recognize over 30 recipes. To make the cooking animations, I took what we already had (3D modeled food) and simply added physics. Watching a loaf of bread boiling in a pot adds immensely to the game’s humour.

You can play Stir Fry Blues in your browser with the Unity Web Player, or download it:

Play Stir Fry Blues (

Download (Windows)

Download (Mac OSX)

Though I’m quite proud of the final product, making a game that’s entirely menu-driven and has lots of custom content isn’t actually much fun. Writing the data structures for the ingredients (their prices, taste values, expiration, etc.) felt like I was developing CMS software. At least I learned a lot about C# and Unity while doing so! For my next side project, I’d definitely prefer to tackle a more mechanics-driven game.

→ No CommentsTags:  ·  · 

So Many Twitter Bots

Internet, Programming

Since making @HoroscopeBot and @EveryBookBot, I’ve been on what you might call a bot-making rampage. I’ve really enjoyed tinkering with tiny scope coding projects that can be finished over a weekend, as opposed to my game-making side projects that often take months. Here, briefly, are five new bots I’ve assembled over the last few weeks:

@RandomChessBot plays random chess moves until it finds a checkmate, then tweets the final board state. This bot was particularly easy to code thanks to Jeff Hlywa’s excellent chess.js library, which provides a list of legal moves and exports the board state in ASCII. It’s worth noting that the majority of random chess games do not end in checkmate, but rather in an “insufficient material” draw state (the bot disregards these results.)

My friend Peter Javidpour made an amazing website called See Hear Party, which plays GIFs in time with the beat of a song (using Giphy & SoundCloud). As soon as he demoed it, I immediately wanted to help promote it with a Twitter bot. @SeeHearPartyBot pairs three random GIF search terms with a random electronic song from SoundCloud, occasionally creating an affecting juxtaposition or serendipitous harmony. This was also the first bot I implemented in Python instead of JavaScript.

@GameOfLifeBot tweets GIFs of Conway’s Game of Life simulated for 100 generations from a random initial seed. I used Tristan Hearn’s game of life library; since his implementation uses matplotlib, it was easy to export each generation as an image using various colour maps. I then used images2gif to assemble the individual frames into an animated image. This bot has inexplicably been my most popular bot since @HoroscopeBot; maybe people just like GIFs?

I noticed that Twitter has an official account that follows every verified user (a.k.a. “key individuals and brands”). This gave me a silly idea for a bot that tweets the out-of-context descriptions from the bios of random verified accounts. Fortunately this concept only took a few hours of coding to get up and running, and @VerifiedBioBot was born.

My most recent Twitter bot is @TinyCrossword, and it’s a personal favourite. It generates tweet-sized crossword puzzles, drawing clues from Simple English Wikipedia. For a tweet with an image (117 characters remaining), each clue can be no more than 36 characters long. It creates a new puzzle every day at noon PST, then tweets the solution a few hours later. This bot also scans the replies it receives, and will credit the first person who solves the puzzle correctly (sadly, nobody has yet to do so). I’m glad that I finally came up with a bot idea that was interactive!

These five new bots bring my total to eight. Sadly these will also be my last, at least for now. I’ve been using these short development cycles to procrastinate one some of my larger side projects. Making bots has been extremely entertaining and valuable, but I’m ready to get back to some meatier long term endeavours.

Also, if you’re interested in bots, be sure to check out the livestream of Darius Kazemi’s Bot Summit 2014 this weekend.

Tags:  ·  ·  · 

© 2007-2015 Matthew Gallant, hosted by A Small Orange, powered by Wordpress.