Sunday, March 6, 2011

Disaster averted

These days, the little crane that could constitutes my livelihood. So it would make sense to take very good care of this product. Well, this morning I almost made a monumental mistake that could have done a lot of damage.

When preparing the 1.2 version update, I had put in some testing code that ignores the purchase made by the customer (the game is free, but customers can purchase extra levels). I was about to upload this version to Apple, when I decided to make one more screen shot of the application. I fired up the game on my iPad to make this screen shot, when I noticed that I could not play the level I wanted to, because it was still locked. That's odd, because I thought I already unlocked the content on that device. Then it dawned on me: could the test code still be active?

If this version had gone live, all the paying customers that downloaded the update would have seen their premium content locked again: argh! And I am not sure if Apple's review would have caught this error, as the in-app-purchase got introduced in 1.0 and I am not sure they will retest in subsequent versions. If they do: kudos to them.

Throughout the years, I have learned that paranoia helps when developing software. A paranoid coder is the best coder. And this is especially true during release time. Anyways, let me conclude with what will be coming in the v1.2 release of the little crane that could:

  • Big improvement in frames-per-second for smoother gameplay.
  • Added level "tower crane".
  • Optimized OpenGL ES2 drawing.
  • Faster fragment shader (no branching).
  • Fixed stutter when first moving levers.
  • Fixed crash when quickly changing the level after you fail one.
  • Disabled OpenDE asserts for faster physics computations.
  • On iPad, prefer interstitials over banners when available.

5 comments:

Bram Stolk Sr said...

Ach, een beetje programmeur staat altijd al met een been in de rechtzaal. There is no such thing as error free code.
Overigens begint volgens mij nu juist release 1.1 goed aan te slaan. The graphs go up in Madagaskar iPad sales.
Hoe gaat het met de EasterEgg transporter?

jacco said...

Speaking of disasters, according to news reports you guys had a narrow escape over there in Vancouver...

Chris Moeller said...

Nice catch!
What kind of 'QA' process do you go through for your games?

That is a mistake I probably wouldn't have seen, but need to get a good testing process before I have a more popular game.

Bram said...

Chris: I pretty much make up my QA as I go along. I have no script.

I do make a point of playing each level a lot of times, and never to release after I changed a level or code without first playing them again. So I know at least it is possible to play through them.

Also, if ads are supported: I play both the premium and free versions, to catch problems.

Luc said...

Cool games, congratulations !

Luc