In this post I would like to share details with you how my first mobile game OddSpotter came about. OddSpotter for iPad is live on AppStore now and you can download it for free here.
I’ve been developing commercial apps for iOS mostly for a while now. Mostly for large companies and some for startups. Most of the apps are to support the existing business models of a company and couple (like Alcometer and Airtumble) are a technical innovations themselves.
But, lately I’ve felt a bit dry developing for commecial clients and I need a personal project of my own.
I’ve always been fascinated by games and I play quite a lot myself. So on a weekend on March 2012 I started to develop my first mobile game OddSpotter.
It’s ‘spot the difference’ type of game, where player will see two images side by side and they will have to spot the differences between those two.
There are three reasons why I chose this game to be my first birdie.
1. The concept itself comes from my friend Strange (strange name right) who I had a pleasure to study together with in Odense Denmark. Strange visited Shanghai, china and said people loved a game called ‘find the difference’. He said people were paying money in China to play this game.
2. I’m a hobby photographer so I have no problems with content for such a game.
3. This kind of game is relatively easy to build (especially coming from commercial apps background). So I take it as a study into in-app-purchases and game center etc. Before I move on to my next game idea.
I started with a little market research. There was some apps like this in AppStore, so I could evaluate the overall quality that is needed. I found out that to succeed I needed to have two important features: pinch&zoom for gameplay and free app with in-app-purchases as a pricing model. First would make my game to stand out among others, and other would give me a chance spread the game and to maybe earn something.
Convinced that it is worth it, the next thing in the list was to start developing. I started from the core functionality as a proof of concept. Took a photo and built the hotspots, and worked on pinch&zoom functionality. There were bugs in the gameplay, but as soon as I saw I can do it well and it is playable, I continued with everything around the game.
I was surprised that the game core is actually not the part of the game that takes the most amount of work. It’s rather everything around it. The worlds, the leveling system and their UI’s, score keeping, timing etc. Once I nailed the UI for the levels and made it functional I started to build content. That meant a lot of photo editing. I took all the photos from my showcase http://sandbox.teemusk.com/nightshots2 and used clone stamp tool in Photoshop to make them different.
Then I built a custom Adobe Air app where I could mark out the difference spots on each of these photos, and which would turn the spots to data readable by OddSpotter. Once I had my database files filled with data about the photos and their Odd Spots I included them into the app.
Note that at this point I had no clear idea how would the selling be done. Should I sell a pro version of the app? Maybe sell levels or worlds as in-app-purchases.
Anyways, although the UI was not polished I decided to show the game to a friend during lunch break. He liked it, but found it too difficult (I guess the stamp tool radius was too small making odd spots rather small too). So he was asking for hints all of the time from me. “Around where is the next spot?”, was something that I heard a lot. I ended up zooming the view to a place where an odd spot was and he was trying to find it. This worked. So he gave me a superb idea. I will sell hints via in-app-purchases. Game will come with 5 hints and when you spend them all you can buy more for real money. All levels will be free. Genial. Perfect.
Next thing I built the hints functionality and started testing in-app-purchases. The latter was a nightmare. I pulled my hair out for two days wondering what am I doing wrong, only to find out Apple’s sandbox server for in-app-purchases was down. I can honestly say that was the most difficult and stressful part of the whole development.
I waited for another two days until apple IAP sandbox came up again and was all set.
At this point I had a ready built app with my own photos as content. I was ready for more testing on real people. I took my iPad with me everywhere and let people play the game telling them the story behind it and asking questions about the gameplay. Most of the people were my friends and ofcourse they said they like the game, but also gave me a lot of insights what should be done better. As the first friend it was obvious that the levels should be easier than they were.
Also, though nobody really told me, I realized that people don’t really want to look at photography that much. The photos were all night shots and looked too much the same. Then my girlfriend came up with an awesome idea to use paintings as content and not photos. Everybody loves art. After googling around for legal stuff and good data sources I found out that I can use Public Domain art as content for free. That was settled then. I dumped all the photos as a content (lots of time wasted there) and started again with paintings.
Lots of photoshopping followed, but after couple of days I managed to make the app fully functional again with paintings as content. And I must say this really worked. It’s so much more fun and educational to look for art from famous painters and find odd spots on the artwork.
But. My struggles did not end there. I had one major problem, app ksize. The app with all the levels/paintings inside would weigh more than 40 mb. That’s way too much. A good app won’t have more than 20mb as initial download. If an app is more than 20 mb then AppStore won’t let users download the app on a 3G connection, but wifi has to be used. That means many potential clients would be turned away after “INSTALL” click.
So I had a plan. I added first 20 levels into initial app download and developed a whole new system so I can dynamically add more levels over time. The system goes shortly as follows. App will check for updates after being 10seconds active, if an update is found it will download new levels as a zip package. After download it will unpack the zip and add them to level selection notifying the user about new levels.
That was also quite a lot of work, but I pulled it off over a long weekend.
Promo screenshot which shows tutorial and gameplay basics
After giving the game final touches (like tutorials for first level of the first world), I was ready for submission.
I learned quite a lot from developing the game, but the main points I should remember are as follows:
- It is much more work than you think it’ll be.
- It’ll take longer than you think it’ll take.
- The game engine is a little percentage of the overall work. A lot of work is around the engine itself.
- Test the game on real people as early as possible and modify it if necessary.
- Try to get to acceptable build asap and submit it. You can make updates later
- Try to think about marketing as early in the game as possible.
- You can figure out/modify the monetizing ideas later.
OddSpotter for iPad was released 1st of May 2012.
I might write about initial sales and marketing efforts soon if there’s enough interest.