Tuesday, 11 September 2012

"Space Junk!", Are We Learning Yet?


I have been participating in a contest up here in Canada called “The Developer Movement” sponsored by Microsoft. It was designed to encourage development of Windows Phone Apps and also for Windows Azure.  Basically there were three levels of reward and the last level was to possibly have your app promoted by Microsoft through MSDN and other channels.  Well, we had completed two apps in the program already, a GPS and E-mail enabled stop-watch call Geo-Stopwatch that was a freebee with advertising and the previously mentioned Fusion Invasion game.  I needed a third app and settled on yet another game.

After firing around some ideas with the guys, starting out with airplanes crashing, I settled on “Space Junk!”, a game about near misses. I wanted a more original idea than our other games and currently the real space junk is a pretty hot topic.  We saw that as a possible tie in for social marketing of the game.  The premise of the game is to make sure you do not allow satellites (and other miscellaneous stuff) to hit each other, thus creating… Space Junk! (insert impressive echo here).
First I, and a few of the guys around here went about designing the game.  Now, after completing Fusion Invasion, I had a pretty good handle on XNA Games.  The general game design went pretty quickly.  I even borrowed some elements from Fusion Invasion and used them in this game.  Notice that one of the “satellites” looks a lot like the lander in Fusion Invasion, it should.  I wanted to get this done quickly, so learning from past experience was really important.

Using comments from various users I knew some of the things that worked and didn’t work.
Things that worked:
  • Make sure it’s easy to start but gets more difficult.
  • Keep it simple silly! (KISS)
  • Make game play obvious…  We don’t need no stinkin’ manual!
  • XAML for menus and information, XNA for game play.
Things that didn’t work (or were missing in Fusion Invasion)
  • Missing competition through on-line leaderboards.
  • Don’t make the trial too complete or nobody will “buy” your game; why should they?
  • Make sure it’s easy to play another round. (Play again button strategically placed)
Tip: Listen to what your customers say… They are usually pretty smart about that stuff!

Oops, I had more stuff to learn!

Well, I got the game done and released.  I was pleasantly surprised that it got quite a few downloads.  However, most of those downloads were “trial” only downloads.  Microsoft suggests that a good trial will produce about 10% buy-through.  It wasn’t getting anywhere near that number.  In this business you are constantly learning and moving forward or you are running backwards.  I looked at the game and decided a couple of things:
  • The game play was pretty good, fun and addicting and didn’t really need to change
  • I had swung too far the other way with the trial and it was missing one of the greatest features (on-line play)
  • Above stated on-line play was inadequate to fuel the fires of competitiveness, it needed serious tweaking.
I and our CTO, the Houbenator, got in front of a white board and re-designed the whole “tracking of scores” bits.  In the first version I was so paranoid about user privacy that I was somewhat crippled in what I could and could not do with the collecting of leaderboard information.  After some research and also seeing what others had done I realized those fears were unnecessary and there were ways to do things properly.  Windows Phone includes features to allow for that very feature.  Previously we had the game give the player the option of submitting the score, if they chose, and we would register the score using a “screen name” that the user made up.  There were two issues with this.  First, trial players didn’t get the button and could not submit a score.  Second, nobody else pushed the button to submit the score.  It’s kind of a useless feature if only 2 people (and me) are the only people that ever submit scores.
So we did some research and we created a whole new design.  Learning from other games in the marketplace (there is that learning thing again) we changed the App to “register” the player the first time they opened the app.  This would send the anonymous user id (every WP7 user has one tied to their Live Id) to us along with a user entered screen name.  Thereafter, the player wouldn’t have to worry about it anymore.  Every time they finished a round, the score gets submitted by default (we let them turn it off if they really want, but Don’t Please!!!).
Next, to fuel competition, we gave the player a summary at the end of their game indicating how they did in our leaderboard (We cleverly called it the Orbital Guardians Honor Roll, or OGHR, pronounced ogre, Leaderboard, neat eh?).  We show them how they did overall.  We show them how they have done against players in the last 24 hours and we show them how they did against their own previous scores.    I gotta say, this made the game way more fun.
Competition was taken care of!
Tip: Do anything you can to fuel competition.  It’s what keeps people coming back for more!
Bonus Tip: Check out what others have done, there are some great ideas out there!

Mango, Metro and Rockin’ and Rollin’

Lastly, at the same time we were contemplating changes to Space Junk! I attended a Windows 8 Development Camp.  The mantra was “Metro styling” and cool Live Tiles.  Wait a minute, “Space Junk!” didn’t have a live tile…
When I got back to the office I gave the UI a facelift and changed game play buttons to tiles.  The Houbenator wrote a bunch of web services for our leaderboard AND we modified the game to register a push URI (the unique address that let’s Microsoft’s Push servers do their thing) during registration and now we push your current standing in the OGHR Board to your live tile.   So if you have “Space Junk!” make sure you pin that baby to the home screen!
So to review what we did:
  • We added a Live Tile. 
  • We added 3 new leaderboards (Global Infinite, Global Daily, My Infinite, and My Daily) to show the player exactly where they stood.
  • We Mango’d the interface…  (hmmm, sounds close to mangled, but we didn’t, really)
  • We gave the player an instant summary of their results.
  • We let the trial folks submit scores
We have resubmitted the App for certification and publication.  I’ll let you know the results in a later blog… The jury is still out!
Tip: Live Tiles are Hot!