30 August 2011

King of Dragon Pass Is In Review

King of Dragon Pass has hit a really big milestone: it’s submitted to the iOS App Store and is now waiting for review by Apple.

To get there, it had to meet our standards for quality (we rejected the first release candidate), and Apple’s technical requirements for metadata, code signing, and API usage.

Now we wait for Apple to approve the build, which is likely to take a week (although I don’t know if the US summer vacation season will impact that). That is, assuming it gets approved — this is not a formality, and in fact I’ve gotten bug reports from the review process.

That gives us some time to prepare marketing material and second guess our thoughts on pricing. Once we get approval, we’ll pick a release date (the US Labor Day holiday could impact this if it doesn’t delay review). We want to be able to let the media — and you! — know beforehand.

Looking a bit further ahead, we will do at least two updates. There’s around 20 bugs which are worth fixing (but weren’t worth delaying for). And then I want to finish supporting VoiceOver, so that King of Dragon Pass will be accessible to blind players.

So with luck, it will be out in the first half of September.

24 August 2011

Release Candidate 2

Last time, I said that creating a release build “might introduce subtle bugs.” Sadly, this turned out to be true.

Any sort of change can introduce bugs, which is why towards the end of a project, the bar for fixing bugs gets higher. In this particular case, it turned out that the debug logging had an important side effect, which  masked a bug that could occur when one (but not more than one) of your clan leaders died of old age.

In some ways the bug was minor (reporting “he” instead of “she”), but you get to know your leaders, so this really stood out as jarring. Anything that breaks the fantasy is important.

I also wanted to do a little more tuning of the economy, and fixed a few low-risk typos.

Like I said before, having more than one release candidate is common. You hope otherwise — the idea really is that you are happy with the quality and could release the build — but it’s not cause for alarm.

So, RC2 is going out to our testers, and I still think a September release is likely.

19 August 2011

Release Candidate 1

King of Dragon Pass just hit a pretty important milestone. I just sent out a release candidate to our testers.

Different studios define “release candidate” differently, but in general it’s a build that you wouldn’t be ashamed to ship. There may still be bugs, but they are rare or minor enough not to be a problem for the vast majority of players. Typically you just fixed a bunch of bugs, so you need additional testing to make sure the fixes haven’t introduced new bugs. It’s common for a game to have multiple release candidates.

Also, this is the first release build we’ve distributed — there are no more debugging aids (like the incredibly handy log file). This alone might introduce subtle bugs.

The point is, this still doesn’t give us a release date.

Once we’re satisfied that the game really is in good shape, we’ll submit it to Apple for approval. That can take an unpredictable amount of time, but they actually seem to have really caught up, and the odds are as good as I’ve ever seen them.

Of course, this doesn’t mean we’re done. There’s still testing to do, and we need to work on the marketing. And there’s some stuff I’d like to add in an update.

01 August 2011

September

The question on everybody’s mind (including ours!) is, when will the game be out? The obvious answer is: when it’s ready. So when’s that?

Ideally software would never ship with bugs. Or at least with no known bugs. But that’s pretty much impossible. Some bugs maybe very hard to reproduce. Others may have very low impact. Sometimes it’s not every completely clear if certain behavior is a bug or not.

King of Dragon Pass has followed a conventional software development model: implement the features, go through a period of stabilization during which no features are added, test internally and externally.

Some of our testers have thought the game is ready for some time. However, I get to see all the bugs (typically a beta tester will report a handful). They’ve run the gamut, from crashes that could affect everyone, problems on certain devices or iOS versions, bugs in new scenes, the wrong sound effect for a dialog, memory leaks, etc. One category of bug has surprised me a little: the number of bugs and typos in the original scenes. Those have been there since the 1999 release! Some were introduced just before that release, which explains why our QA department didn’t catch them. And, it’s a really big game, with a lot of content, and a lot of randomization. If things don’t happen in just the right order, you may not get the bug.

Anyway, we’ve been getting bug reports and fixing them. This time around we don’t have one or two full time QA people, so the stabilization period is perhaps a bit longer. On the other hand, two thirds of the game has survived the test of time — we may be finding bugs in it, but they didn’t get seriously in people’s way so far. And the new code is working pretty well, without major bugs in a couple weeks. And some of the important code paths have recently been tested (e.g. I just won a long game as Queen of Dragon Pass).

So the plan is to send out two more beta releases. In addition to the testers who’ve helped so far, we’d add another batch of new testers. The second would be a release build (without the useful tools that allow easy reporting and identifying of bugs, but matching what we’d ship). If all goes well, we’d then submit to the App Store.

So what could go wrong? Obviously it would be someone finding a serious bug. Especially if it’s in a release build with no handy debug information. Or play balance is off, and more tuning needed. Either way, the release clock would be reset.

App Store approval is a big wildcard — Apple has occasionally rejected (or worse, not reviewed) apps for what appear to be capricious reasons. However, currently 94% of apps get approved within 7 days. And we’ve certainly tried to play by the rules.

iOS 5 is another wildcard. We’ve been testing with it a prerelease version. A new version might introduce new incompatibilities.

Once the app is approved, we don’t plan on releasing it immediately. As a small development house, we don’t have extensive marketing plans, but we do want a little time to make as big a splash as we can.

So what does that all mean? I think it’s safe to say that we plan on releasing the game in September. If all goes well, as early as the second week. (Likely something will go wrong, but we can slip three weeks and still be September.)

We’ll certainly be letting you know more as the actual date approaches.

And now, to investigate the bug report that came in while I was writing this…