Blair MacIntyre sent me a nice proof of concept of an augmented reality virtual pet running on an iPhone.
So I thought, why not write about “the making of ARf”?
Shot a couple of questions to Blair and he conveniently turned it into a well structured interview. Thanks Blair!
Here it is for your edutainment.
games alfresco: Hey Blair, I’d like to write about ARf in my blog.
Blair: Great! :)
games alfresco: Is there anything beyond the video that I could share?
Blair: We (my student Kimberly Spreen, really) did this relatively quickly. She figured out how to get video [on an iphone], and we’d been thinking about doing a virtual pet game for quite a while, so we decided to implement some of the ideas to test out the iPhone.
games alfresco: Could you share a description of the current features?
Blair: Right now, you can interact via the touch screen, and by moving the markers. Kim did a nice little implementation of multi-marker tracking where you can just add new markers as you feel like and don’t need to preconfigure the multi-marker layout. You can interact with the dog by touching it (touch its nose and it jumps up to lick, its tail and it chases it, rub its back and it rolls over to let you rub its tummy) or by touching the ground to send it somewhere. If it gets near its water it drinks, near the other dog it plays, or near a smudge (that you put on the ground by rubbing the ground) it sniffs it (alas, the smudge looks like a little “pile”, which works, but wasn’t the intent).
games alfresco: Plans for a full game?
Blair: This is a project we’ve been thinking about for a few years, going back to our “Dart the Dog” project that we did in Director. The goal is to explore what it means to let everyone have a virtual pet they can take with them, and interact with through different interfaces (desktop, handheld, handheld AR, etc). Most importantly, we want the location (bedroom, living room, work, bus, bar, etc) and activity (sound level, light levels, etc) and presence of other pets to impact how the pet develops.
To handle the development, we are talking to some folks at an AI company, who are creating an engine for doing creature AI based on reinforcement learning. They hope to have something we can use next year. If we can get that, we will be able to really have pets that grown, change, evolve, etc.
A few company’s who are funding us are interested in this, so I hope we can devote some energy to it next year. We’ll probably target a few platforms, but obviously the iPhone has a lot of appeal. From a research perspective, I’m interested in it because there is the potential to release a research game and (with permission of the people who download it, of course), collect a lot of usage data. Ironically, since the create AI engine is server based, I don’t know if we could handle a big success and provide the AI service to everyone who gets the game, but I’ll worry about that it we ever get there.
games alfresco: Can you share more details about the software? Is it a Jailbroken iPhone?
Blair: Official iPhone SDK, unhacked phones. I have no interest in working with jailbroken phones; the appeal of the iPhone is the potential for mass distribution to support broad evaluation and feedback.
Obviously, we have hacked the API to get at the camera, so we can’t release this until Apple creates an official API.
We are using StbTracker for tracking. The rest of the software was written by us.
games alfresco: Cool. Thanks for showing us “under the hood” of ARf.
For a doggie game, the name ARf works nicely in English.
It could get weird when translated into:
- Spanish – jau, jau
- Afrikaans – blaf
- Albanian – ham, ham
- Arabic – how how
- Armenian – haf, haf
- Basque – zaunk-zaunk
- Bulgarian – jaff, jaff
- Catalan – bau, bau
- Chinese, Cantonese – wow, wow
- Chinese, Mandarin – wang, wang
- Croatian – vau, vau
- Danish – vov, vov
- Dutch – waf, waf;
- Esperanto – boj, boj
- French – ouaf, ouaf
- German – wuff, wuff;
- Greek – ghav, ghav
- Hebrew – hav, hav
- Hindi – bho, bho
- Icelandic – voff, voff
- Indonesian – guk, guk
- Irish – amh-amh
- Japanese – wan, wan
- Korean – mung mung
- Latvian – vau, vau
- Persian – vogh, vogh
- Portuguese – béu-béu
- Russian – gav, gav
- Serbian – av, av
- Slovenian – hov, hov
- Thai – hoang, hoang