Teaching Game Design With a Simple Toolkit

Paint Wars- A Perlenspiel gameOne of the paradoxes of life is that the ability to choose is made harder by having too many choices available. User interface (UI) designers are taught that menus on computer screens should have no more than seven items because human brains generally can only remember 7 (+/- 2) items.

So if you are teaching game design and want to encourage students, giving them fewer choices to work with may inspire them. That’s what Professor Brian Moriarty suggests. Moriarty is a veteran game designer from Infocom and LucasArts and creator of Loom, who now teaches at Worcester Polytechnic Institute. He devised Perlenspiel, a JavaScript toolkit to help him teach a course on digital game design. It uses a mosaic-like grid, colored pixels (aka “beads”- Perlen is German for bead), and a text-based status box to provide instructions.

The PerlenSpiel toolkit is freely available and licensed under GPL 3, which means if you develop anything with it, you are expected to publish your source code. It’s just an HTML5 web page plus a small JavaScript file with a number of event handling functions (responding to clicks etc) that you flesh out to create the game. The full API is published on the PerlenSpiel website where you can download the toolkit.

Although it doesn’t sound like you could do much with it, and graphically it just about challenges Atari VCS games, that’s not the point. The toolkit provides about 40 functions to use including making sounds (Piano, Harpsichord or Xylophone), change color and transparency of beads, load images from disk and show them on screen and even some debugging functions.

The ten examples demonstrate great ingenuity in game crafting, and all include their source code so you can see how they did it. The “Just Cogs” game is very stressful and “Stumbling down the road” needs good timing and planning to clear each level. There’s even an adventure game.

This is recommended for anyone who wants to design games. If you use it and publish an  interesting game on a website, please let me know and I’ll add a link to it in this article. Don’t forget that you must include the source code under the GPL. As this is JavaScript, it’s difficult to not include the source but a download link is considerate!

Since I think of myself as a game designer I’d better lead from the front and create a game. Watch this space!