Space to play

Tree by Pocketmonsterd on Flickr

The lan­guages you’ve mas­tered shape your think­ing. Nouns, verbs, adjectives…if you think of your day-to-day inter­ac­tions on the web it’s clear the lan­guage you’re using is (very) lim­it­ed. Does that lim­it your range of thoughts, and the things you’re able to express? Cer­tain­ly, I’d say.

A quote from an old Ben Cer­ve­ny bio found in the Doors of Per­cep­tion muse­um:

Cer­ve­ny is inter­est­ed in har­ness­ing the com­pu­ta­tion­al pow­er of plat­forms like Playstation2 to cre­ate sim­u­la­tions with basic rule-sets that allow com­plex­i­ties to emerge, form­ing pat­terns of behav­iour and inter­ac­tion that peo­ple instinc­tive­ly parse. He believes that this essen­tial human abil­i­ty to find pat­terns in com­plex sys­tems remains untapped by cur­rent “click on the smi­ley face to buy our prod­uct” inter­faces. “There is a cer­tain algo­rith­mic light­ness to a basic rule­set, like that of the game Go,” he argues. “Espe­cial­ly as it replaces a top-down spec­i­fi­ca­tion for human-com­put­er inter­ac­tions.“ ‘

That was in 2001. Game-like inter­ac­tions have the poten­tial for expand­ing your think­ing. Sta­men—where I’m told Cer­ve­ny is spend­ing part of his time—is doing this with datasets.

Recent­ly, I’ve been asked by sev­er­al peo­ple to come up with con­crete exam­ples for my “play­ful” shtick. I’m wor­ried that peo­ple expect stuff that makes a typ­i­cal UI more play­ful. Like a sauce. That’s nev­er been my inten­tion.

The exam­ples I’m con­sid­er­ing (which I intend to describe as pat­terns) are of a more struc­tur­al kind. When I point to emer­gent behav­iour in games, I’m not kidding—the idea here is to allow for sur­pris­ing results. Results that you as a design­er have not fore­seen. Space to play. That’s what sets the typ­i­cal web inter­ac­tion apart from some­thing like Digg Labs.

Play is free move­ment with­in a more rigid struc­ture”. There is (almost) no free move­ment in your typ­i­cal web app. That’s why I would not call it play­ful. These apps are designed to fit pre­de­fined user sce­nar­ios and eval­u­at­ed based on how well they sup­port them. No sur­prise they turn out bor­ing in stead of fun.

How­ev­er: Not every web app has to be play­ful, because not every web app is try­ing to teach you some­thing.

In DOET Nor­man writes on p.124:

What are not every­day activ­i­ties? Those with wide and deep struc­tures, the ones that require con­sid­er­able con­scious plan­ning and thought, delib­er­ate tri­al and error: try­ing first this approach, then that—backtracking. Unusu­al tasks include […] intel­lec­tu­al games: bridge, chess, pok­er, cross­word puz­zles, and so on.“1

So that’s why I believe much of the foun­da­tions of human-cen­tered design are not applic­a­ble to play­ful experiences—the teach­ings of Nor­man are aimed at every­day activ­i­ties. The activ­i­ties that are not aimed at mak­ing you smarter, at giv­ing you new insights.

On the web (and in com­put­ing in gen­er­al) we’ve moved beyond util­i­ty. If we keep design­ing stuff using meth­ods derived from Don­ald Norman’s2 (and other’s) work, we’ll nev­er get to play­ful expe­ri­ences.

  1. Nor­man has a blind spot for dig­i­tal games, although he does include a NES as an exam­ple in his book. About this he admits he made “a few attempts to mas­ter the game” (p.138). []
  2. I’ll be speak­ing at a con­fer­ence that has Mr. Nor­man as keynote speak­er. I mean no dis­re­spect. []

Pollinator — a casual game prototype made with Mobile Processing

I wrote a game about a bee and flowers today

Last sun­day I sat down and cod­ed a pro­to­type of a casu­al game in Mobile Pro­cess­ing. I got the idea for it the evening before: You’re a bee who needs to col­lect as much hon­ey as pos­si­ble in his hive while at the same time keep­ing a flower-bed bloom­ing by pol­li­nat­ing… Play it and let me know what your high score is in the com­ments!

Thinking and making

I’ve been look­ing for an excuse to get some expe­ri­ence with Pro­cess­ing (par­tic­u­lar­ly the vari­ant suit­able for devel­op­ing mobile stuff) for a while. I also felt I need­ed to get back into the mak­ing part of the field I’ve been think­ing about so much late­ly: Game Design. I agree with Saf­fer, Webb and oth­ers — mak­ing is an impor­tant part of the design prac­tice, it can­not be replaced by lots of think­ing. The things learnt from engag­ing with the actu­al stuff things are made of (which in the case of dig­i­tal games is code) aren’t gained in any oth­er way and very valu­able.

Get the game

I’ve uploaded the first ver­sion of the game here. You can play it in the emu­la­tor in your brows­er or if your phone runs Java midlets, down­load the file and play it like you’re sup­posed to: While out and about. The source code is pro­vid­ed as well, if you feel like look­ing at it.1

Pollinator 0.1

How to play

You’re the yel­low oval. The orange tri­an­gle in the top left cor­ner is your hive. Green squares are grass, brown squares are seeds, red squares are flow­ers and pink squares are pol­li­nat­ed flow­ers. The field is updat­ed in columns from left to right (indi­cat­ed by the yel­low mark­er in the bot­tom). A seed will turn into a flower (in rare cas­es a pol­li­nat­ed flower). A flower will die, a pol­li­nat­ed flower will die and spread seeds to grass around it. Move your bee with the direc­tion­al keys, use the cen­tre key to grab nec­tar from a flower. You can cary a max­i­mum of 100 nec­tar. Drop your nec­tar off at the hive (again using the cen­tre key) to up your score. When you first grab nec­tar from a pol­li­nat­ed flower and sub­se­quent­ly from a nor­mal flower, the lat­ter is pol­li­nat­ed. Try to keep the flower-bed in bloom while at the same time rack­ing up a high-score!

You’ll get 10 nec­tar from a flower (in bloom or not). Pol­li­nat­ing a flower costs 5 nec­tar. If you try to take nec­tar more than once from the same flower, you’ll loose 10 nec­tar.2

Improvements

Stuff not in here that I might put into a next ver­sion (when­ev­er I get around to it):

  • Ani­ma­tion — I need to get my feet wet with some script­ed ani­ma­tion. Thing is I’ve always sucked at this. For now it’s all tile-based stuff.
  • Bet­ter feed­back — For instance show the points you earn near the bee and the hive. I think that’ll make the game a lot eas­i­er to under­stand and there­fore more fun.
  • Menus, pause, game over — It’s a pro­to­type, so you get dumped into the action right away. (The game starts on the first key you press.) And there’s no actu­al game over mes­sage, the field just turns green and you’re left to won­der what to do.
  • Bal­ance — I’m not sure if the game like it stands is bal­anced right, I will need to play it a lot to fig­ure that out. Also there’s prob­a­bly a dom­i­nant strat­e­gy that’ll let you rack up points eas­i­ly.

The aim was to cre­ate a rel­a­tive­ly casu­al game expe­ri­ence that will almost allow you to zone out while play­ing. I think it is far too twitchy now, so per­haps I real­ly should sit down and do a sec­ond ver­sion some­time soon.

Mobile Processing

I enjoy work­ing with Mobile Pro­cess­ing. I like the way it allows you to pro­gram in a very naive way but if you like struc­ture things in a more sophis­ti­cat­ed fash­ion. It real­ly does allow you to sketch in code, which is exact­ly what I need. The empha­sis on just code also pre­vents me from fid­dling around with ani­ma­tions, graph­ics and so on (like I would in Flash for instance.) Per­haps the only thing that would be nice is an edi­tor that is a bit more full-fea­tured.3 Per­haps I should grab an exter­nal edi­tor next time?

Feedback

If you played the game and liked it (or thought it was too hard, bor­ing or what­ev­er) I’d love to get your feed­back in the com­ments. Any­one else out there pro­to­typ­ing games in Pro­cess­ing? Or using it to teach game design? I’d be very inter­est­ed to hear about it.

  1. Not that it’s par­tic­u­lar­ly good, I’m an ama­teur coder at best. []
  2. I’m not sure this is the right kind of neg­a­tive rein­force­ment. []
  3. The auto­mat­ic code for­mat­ting refused to work for me, requir­ing me to spend a bit too much effort on for­mat­ting by hand. []