There is probably more than one person following this blog that contemplates developing a pervasive game for the IPhone, so I thought I would share our experiences with using it. Besides the fact that it has a working business model for distributing your game, it has a lot of interesting sensors built in (GPS, accelerometer and in its last incarnation a magnetometer) which potentially could make it an excellent platform for pervasive games. And yes, it can be used for pervasive games, but just barely. It has several quirks that makes it less suited than one might think.
We have tried out the IPhone twice, first in the development of our pervasive game evaluation tool ‘Babylon’. Babylon lets players report on what they are doing in a game while it is ongoing; the current version lets them report their current emotion or activity. It also tracks their current position. The player wears the IPhone strapped to one of the arms, and uses the entire screen as a touch pad (the screenshot to the left shows the emotion evaluation tool). The players move markers (in this case, tiny face icons) on the screen to report on their current emotion or activity. Babylon is extremely simple to use and looks pretty, and could potentially be a really useful tool for pervasive game evaluation.
Now, here is the first quirk: we had to configure the phone to never go into sleep mode. The neat and simple interaction model would be ruined if players had to first wake the phone up to report. But also, since the IPhone doesn’t allow installed programs to run in the background, the phone would stop reporting its position as soon as it went into sleep mode. It is possible to run an IPhone this way, but it gobbles up the battery: for us the phone would run out of battery in less than an hour. Our solution was to buy external batteries (the Mophie juice pack to be precise) which got us up to about four hours of operation time, just about enough to allow us to evaluate Interference using Babylon.
We also had huge problems with the temperature span of the IPhone touch screen, that seems to be designed for a Californian climate. Outdoors in Swedish february when we were running Interference, the screen would freeze up and become almost impossible to use. And indoors it would overheat instead, since a phone in ‘aways on’ mode gets rather warm! The net result was that players found it hard to use the touch screen both indoors and outdoors.
Using the IPhone for positioning also turned out to be a bit trickier than we thought. This, we discovered in a later experiment with distributed game management. This time we had four different groups running around in a forest, each accompanied by a game master who was equipped with an IPhone. The IPhone ran a simple application ‘maphack’ that showed a map over the forest with heat traces of all three groups’ movements. (Again, the IPhones were put into ‘always on’ mode.)
This time, we got hit by the IPhone’s positioning algorithm. The IPhone uses two methods for positioning: GPS when available, and triangulation from known base station positions when it can’t get a GPS fix. As there are very few base stations in the middle of a forest, base station positioning became very inaccurate in this experiment. For some reason, one of the phones kept losing GPS positioning all of the time (it might just have been put in a deep pocket), resulting in a heat trace that looked like it was created by a spider on acid. The effect ruined the function both for this game master as well as for the other groups (two that tried to avoid them, and one trying to attack them). The problem can be avoided by filtering out positions that are completely off, but most developers will miss it as it is unlikely to surface in the home office.
The approach I would recommend though, is to use something like the GSM/GPS trackers that I’ve blogged about before for tracing players. We really like them; they are always on, durable, and has excellent battery time – but those experiments are worth a blog post on their own. The IPhone can be used to show the resulting traces to players or game-masters, and for that purpose it works pretty well.
There is a pervasive game called “The Journey” available for S60 phones from Ovi Store. Played it through the other day – very simplistic, but the technology works fairly well, so it could be adapted to more complex interactions as well.
There is also a Java-based technology called “MUPE” (http://www.mupe.net/) which allows you to write fairly complicated context-based games (not only location).
By: Janne Jalkanen on July 16, 2009
at 09:19
Thanks for the tip, Janne — should try it out, except that I don’t have an Ovi-capable phone anymore..
It’s this one, right? I think it’s been around for quite a while, actually, but only recently hit Ovi. Best played on a rainy autumn night, I suppose…
– Markus
By: Montola on July 16, 2009
at 10:06
Yup, that’s the one.
Mupe games should work on most Java-enabled handsets.
By: Janne Jalkanen on July 16, 2009
at 10:14
Yeah, we should blog MUPE at some occasion since we’ve tried it out in several projects. That will be less of a rant, since MUPE was designed from start to support context-aware applications.
By: Waern on July 16, 2009
at 14:15
Thanks, useful post!
By: Matthijs on July 28, 2009
at 14:54