In its latest "Road to the IGF Mobile" feature, Games On Deck talks to Andrew Fischer, head developer of Concrete Software's IGF Mobile 2008 Innovation in Augmented Design Award (presented by Nvidia) finalist 3D Lawn Darts3D Lawn Darts, a version of the classic game of lawn darts that uses the mobile device's camera to simulate throwing a real dart.
What kind of background do you have in the game industry or in making games?
Andrew Fischer: My brother Alan and I have dabbled in some form of game development for many years, starting on an old Commodore 64. We did quite a bit of Half-Life modding in while in college during the late 90's, and actually built up a small following for one mod, called WizardWars. And we had a demo contest entry that won some awards at the visualization lab where we did our graduate work. But we didn't get serious until about three years ago when a student project we worked on was showcased at the IGF. That hooked us.
We really enjoy the technical aspects of game development: rendering, physical simulation, etc. Especially when you have hardware and/or platform limitations to make it challenging. So gravitating toward mobile development was a natural move.
What motivated you to make your game?
AF: A friend of ours from school had always wanted to make a lawn darts game so it had been in the back of our minds for awhile. During a game concept brain storming session the Lawn Darts idea floated to the surface. It met several criteria for a mobile game: broad audience appeal, a recognizable name, and easy to learn.
Of course the standard game of lawn darts isn't that interesting as a video game. You just correct for wind, adjust throw power, and try to hit a target. So we developed the multiple dart types idea, which added a whole strategy element to the game. Some play testing indicated we now had a fun project really worth pursuing.
Where did you draw inspiration from in its design and implementation?
AF: The original outdoor game of lawn darts was our main inspiration. It's a little tough to do research on it since the actual darts have been banned in the US for years so it's rarely played, but we eventually learned enough about the various rules to implement a game.
The strategy of using multiple darts actually came from playing FPS style games. Half the reason I think they're fun is the multiple weapons you can use. So we tried adding multiple "weapons" to the standard game of lawn darts and discovered that along with drastically altering the game play, it was a lot of fun. Since using special darts discarded any realistic appearance we just ran with it, giving the game a cartoon feel.
Using the camera for motion detection really started as an afterthought. Higher-end mobile phones have all these great features like bluetooth, 3D, camera, etc. and we like to make use of as many of them as we can. Throwing a lawn dart is a smooth, underhanded throw motion. We're familiar with image processing from school. It just all came together, we implemented it, and we're really pleased with the results.
What sort of development tools have you been using in the production of your game?
AF: Our most useful tool is our mobile game engine Toadlet. It provides a scenegraph, consistent 3D api, physics, networking, and the image processing on all the different platforms. The game code is written in C++ with Visual Studio 2005 for Windows Mobile and in Java with advanced text editors and custom ant scripts for other phones.
Texturing is done with a combination of Photoshop and Gimp, depending on the task at hand. The 3D models are created with Milkshape 3D using our Toadlet plugins. We also have an engine driven toolchain that handles the 3D model compilation for all the different 3D APIs on mobile devices (Direct 3D, OpenGL ES, jsr184, Mascot Capsule). All audio is composed by our sound guy, Eric, using Cakewalk's Sonar.
What do you think the most interesting element of the game is?
AF: I'd have to say the camera based motion detection. The throw motion you use just fits so well with the actual game of lawn darts; it really is fun to use, especially when using bluetooth multiplayer, and it gets people's attention.
Another big plus is that we actually only need to analyze a single camera snapshot, not several images or a video feed, for our motion detection. This means the camera throwing action can be used on surprisingly low powered phones as long as they have a camera you can access.
I'll also throw a prop in here for the game's strategy element involving the special dart types, just because it was so unexpected. On harder levels it almost feels like a game of chess; the first mistake loses. You find yourself thinking several throws ahead and counting the points you need to reach 21.
How long have you been developing your game, and what has the process been like?
AF: The game itself was created in about 6 months. This was followed by almost 3 months of pushing the game to different sites and carriers, making revisions, jumping though hoops. All the little things you need to do to get a mobile game out in the wild.
Overall the process went smoothly, except for the camera motion detection. In theory it was straightforward, but getting it to work on all the different java handsets was a nightmare. You run into all sorts of permission issues and random behavior when accessing the camera on different devices. We have to give kudos to Microsoft here. The Windows Mobile 5 and 6 phones with Direct Show made it straightforward to access the camera, and it almost always works.
If you had to rewind to the start of the project, is there anything that you'd do differently?
AF: We would start by making sure we knew how the cameras functioned on several different phones right away. It would have been nice to get all those issues sorted out before trying to deal with them on top of an existing game. The other change we would make is giving the different character avatars each a personal special dart. As it stands the avatars are just for looks, and choosing different ones doesn't alter the gameplay.
What are your thoughts on the state of independent game development in the mobile industry, and are any other independent mobile games out now that you admire?
AF: It seems that independent development in the mobile industry is at a tough place right now. The initial growth period of mobile gaming, when it seemed like almost anything could get on a carrier deck, has passed. It's matured to the point where the big names are all on board vying for a piece of the pie, and they largely push the independent titles off the main channels.
However, the industry hasn't yet come up with a really good alternative distribution method for independent games. Browsing to different web sites to find and install games on your phone so far doesn't cut it, since for many phones and carriers it isn't an option at all. When that changes, and the platforms open up, I believe we're going to see another big surge in independent mobile games.
As for other games, I admire any mobile game that uses the features specific to a mobile phone, be it bluetooth, the camera, GPS, etc. Those features are what make mobile games unique, and unique games help drive the adoption of these features on more phones. The accelerometer is a good example: I really hope those become mainstream in devices, because they'll provide a whole range of new game types.
You have 30 seconds left to live and you must tell the mobile game business something very important. What is it?
AF: The control carriers exert over the ability to install 3rd party apps and games, and the ability of installed games to access the hardware features of mobile phones, has got to loosen before the mobile games business can see order-of-magnitude growth.
They claim it's about security, but I believe it's about control. You can replace the word "security" with "control" in most statements from a carrier and often get a more meaningful statement. Preventing access to the cellular radio, makes sense. Locking out the camera or GPS, does not.