31 October 2011

iPad Plans

A number of people have asked if the iPad build would be Universal — the same app running in native resolution on both iPhone (and iPod touch) and iPad.

We don’t know.

It is absolutely our plan to do that — I’d like people to keep their Game Center achievements, or play on any device. But we’ve also been actually developing for only two days, and it’s early to make promises.

Although there have been only two days of coding, I didn’t even start that until I came up with a design that should work on iPad. There’s no value in simply blowing the existing interface up to fill the larger screen — iPad can already do that. Well sure, you’d have crisper text, but you’d still be scrolling through advisors and text.

And, since we didn’t have a perfect crystal ball in 1997 when we began our art pipeline, the highest resolution available for images is 640 x 480 pixels. There’s no way to fill the iPad screen without introducing some distortion, however kind a good filter might be.

Someone asked if it would be the same UI as the desktop version. Besides the fact that the original crammed in a lot of controls and wasn’t at all touch-friendly, I think we can do a better job presenting information with the extra real estate.

So there will be larger images than the iPhone version, and larger text.

Now that iOS 5 is out, what about iCloud? Wouldn’t it be cool to play a game on your iPad, and play a turn or two on your iPhone while you’re waiting in line at the post office?

Of course it would. But what happens if neither device is online, and you play a few turns on each? There would need to be a way to resolve the conflict. And UI to specify whether to use iCloud at all. This is starting to seem like a lot of work that would actually not be that great a benefit to that many people. I don’t want to delay the project for features that won’t actually let more people play, so there will be no iCloud support.

So there’s still a lot of uncertainty — I don’t know for sure it can be Universal. Likely this depends in part on how large it ends up (it will almost certainly be at least twice as big a download), which I don’t know. And I don’t know how long it will take. (So far none of the approximately 40 screens is really redone.) But I hope that still provides some information as to what’s going on.

Oh, one more thing. If you only have an iPhone or iPod touch, and it’s a much larger Universal build, what’s in it for you? I have at least one new scene (with new artwork) planned, and there will be bug fixes. So hopefully it will be worth the download for everyone.

30 October 2011

Trial Version


A number of people have wondered why there’s no trial version of King of Dragon Pass. After all, we know that our Windows/Mac demo, which ends after one year, helped convince people to buy the full game.

 In fact, we think a trial would be the best way to introduce people to the game. (The casual game industry did a fair amount of testing, and found that sales were best when they offered a 60 minute free trial.)

But, according to the App Store Review Guidelines,
2.9  Apps that are "beta", "demo", "trial", or "test" versions will be rejected
which is pretty definitive.

So we would need to come up with something that is a self-contained game. A common approach is to offer a “Lite” (sic) version with say 10 levels, and a paid version (ideally through in-app purchase) with 100 levels. But King of Dragon Pass is really not this sort of game. What kind of story just stops arbitrarily after one year? Or even ten? Many games would make this more acceptable by having a score, but again, King of Dragon Pass tells a story, not a number.

So far we haven’t come up with any ideas that seem likely to pass App Store review. So we’ve been putting development energy into things like VoiceOver support or an iPad version.

28 October 2011

Happy Birthday, King of Dragon Pass!


The original version of King of Dragon Pass was released to the world on 29 October 1999. On Saturday, it turns twelve years old! That means it can finally play itself, since the version in the iOS App Store is rated 12+.

To celebrate, we’re putting the game on sale for US$5.99 (it’s normally $9.99). This special price is good for one week only, beginning 29 October 2011.

Version 2.0 was already significantly improved from the desktop version. Now we’re making it bigger than ever: we’re creating a build that will take advantage of the iPad screen. With about 40 screens to adapt, this will take a while, and we don’t have a release date.

I’ll be discussing the iPad build in the future, but I want to remind people that the original artwork was scanned at 640 × 480 pixels, which is much smaller than the 768 × 1024 pixel iPad screen. However, we will use the larger (compared to the 480 × 320 pixel iPhone) artwork, and take advantage of the extra screen real estate to reduce scrolling and make items easier to target.

25 October 2011

Our Newest Ring Member


One of the features in the latest update (version 2.0.4) is a new advisor. Like many in the game, the art is based on a real person. In this case, it’s one of our beta testers, Liana Kerr.

We’ve been blessed by a number of helpful and perceptive testers, willing to spoil their potential fun by playing a buggy copy of the game. Since they’re all volunteers, I added to the pool of beta testers as the game got closer to release. Even a game as repayable as King of Dragon Pass will eventually become jaded, and I wanted fresh eyes. (I did however take a number of testers who had played the game before, figuring that a gap of 10 years would make a difference. And these players could tell me if it was still true to the spirit of the original.)

Unfortunately, something went wrong with our bug tracking system, and I can’t get exact counts of how many bugs each beta tester sent. But even without exact statistics, I know it’s Liana. Although she was an old hand, she dove in, and played seemingly endless games, trying out different approaches, and sending all sorts of reports.

Her enthusiasm was remarkable for someone who had already played the game a lot. Here in her own words is her introduction to the game:
“Back in 2001, when my boyfriend and I were at college, he gave me King of Dragon Pass for Valentine’s Day. (Reader, I married him.) I would have enjoyed it well enough if it had just been a clan simulation based around cattle management, exploration and battles, but the sheer amount of random events and notifications, the focus on mythology, the gorgeous artwork and exceptional writing kept me playing it for years, until I thought I had quite played it to death. Even then, every so often I’d still have the urge to build up a happy little Peace clan swimming in cattle and trade goods!”
Once the game was released, I began working on VoiceOver support, so that blind players could enjoy the game too. There were a few bug fixes in that build too, so I sent it to my stable of testers (plus some blind players). You can imagine my surprise when Liana decided to try the game using VoiceOver! Not only that, but she continued sending insightful feedback that helped make the game more accessible.

This was so over the top that I wanted to do something special to say thank you. I asked our iOS artist, Jani Lintunen, if he could create one more set of advisor faces, and he graciously agreed. Since this was to be a surprise, Jani had little to work with. (By contrast, when Stefano Gaudiano did associate producer Elise Bowditch and myself, we gave him photos of our parents.) But he nailed it. Liana says, “The picture of her when she’s old looks very much like my mom, but older (and my husband thinks it looks like my mom’s sister). It’s really eerie!”

Many testers helped make this game more fun and less buggy. I was lucky to get their help. And lucky Liana was willing to play yet again. Thanks again, Liana, and maybe some day I can arrange a visit from Cragspider…

24 October 2011

Sales Breakdown

I thought it might be interesting to share where and when sales of King of Dragon Pass happened. Since the game is only available in English, you’d expect sales to be best in the USA and the UK. And that’s what Apple’s reports show. Almost 48% of revenue is from the US, and 15% from the UK. But more surprising (at least to someone who doesn’t know the game’s history): over 10% of sales are from Finland (a nation of under 6 million people). We can thank the magazines Pelit and Pelaaja for letting the Finns know that the game was out. And of course the players who have kept it in the charts (currently it is #1 in both Strategy and Role Playing categories, both in units and revenue).

A bit more surprising to me is that the game is so popular in France (about 2.3% of revenue). Or that Singapore is the biggest market in Asia.

Games are a hit-driven market, so you would expect to see an early sales spike as the release and our PR hit. We were hoping that the tail of the chart wouldn’t get too low, and while it’s a bit too early to be sure, that looks possible.

The orange graph shows what happens when we release an update.

Although there are some drawbacks to selling in the App Store (Apple doesn’t allow time-limited trials, which would probably be the best form of marketing), in general it’s proven a good way for a small developer to reach customers. In the first six weeks, we sold more copies for iOS than boxed copies of the Windows/Mac version. That’s lifetime sales. We’ll probably hit double by the end of next month. Some of the sales are to people who enjoyed the original game, but obviously many are playing for the first time.

16 October 2011

Other Clans

Several players have been wondering just how King of Dragon Pass manages the other clans in the game. What’s tracked? (I think this usually comes up in the context of whether a second raid on a clan will find them weakened.) Is there an artificial intelligence?

I just fixed a bug where a clan would raid you with 0 weaponthanes, so yes, the game obviously keeps track of that! In fact, I think this bug completely answers the question, in that the AI is clearly not up to player standards.

But it’s not quite that simple. For one thing, the game lets you interact not only with other clans, but groups. Some of these groups are worshippers of a specific deity (e.g. the Uroxi), others are actually much larger or amorphous (the trolls, dragonewts, or Horse-Spawn). This is one reason Horse-Spawn raids can be common: you are actually being attacked by different war bands. For simplicity though, the attitude and other relationship values are common for the entire group.

It’s also worth remembering that King of Dragon Pass tells a story. It’s not a simulation of Iron Age magical economics. So while the game does track food, population, cattle, etc. for every clan, it’s not trying to exactly duplicate what a human player would do. (If it were, the story would probably not have a happy ending…)

So yes, if you trade a treasure, the clan will almost certainly still have it if you go back. If you kill many of their warriors, it will take time to recruit more (just like it does for you). If they’re too short of cows to trade, it may be a while before they have enough. Their chief will remain chief until something happens, etc.

Early in development, we contemplated making King of Dragon Pass a multi-player game. This is one reason every clan is completely detailed. But we never figured out a way to make an interesting story game with multiple participants. There can, after all, be only one King of Dragon Pass!

07 October 2011

Android Thoughts

We haven’t gotten any requests for Windows Phone 7 versions of King of Dragon Pass, but we know some of you wish you could play it on your Android phone (or I suppose other Android device, though not many of those have sold).

I’ve written before about how Android was not a possible platform when we started the iOS version. (Not just unviable, impossible.) Even if it had been, A Sharp is a small studio, and can only do one project at a time.

So what about now? King of Dragon Pass is released on iOS, after all.

Well yes, but it’s not done. We’re still working on Accessibility, using VoiceOver technology to allow blind players to enjoy the game.

On the other hand, that effort is pretty far along. Why not do Android next?

I always hate to say “no,” but I think an Android port is extremely unlikely.

Let’s assume for the sake of argument that device and OS fragmentation is not a problem. And let’s assume that Android piracy is somehow dealt with (or is actually no worse than iOS piracy).

As I keep saying, King of Dragon Pass is a big project. It took 20 calendar months to do an iOS version (admittedly there were some months in there when we undertook other projects). All of the user interface code would have to be written from scratch for Android. Much of the user interface art would need to be reworked (since not all Android devices have a 480 x 320 pixel screen). So an Android version is close to the same amount of effort.

A Sharp has no expertise in Android development. In theory, we could get someone else to do it. However, they would no doubt want to be paid. (Coding 40 screens is a lot of work, if I haven’t mentioned that.) Since King of Dragon Pass is a proven product with a good reputation, it might make sense for someone to do this for royalties. However, the studio we talked to mentioned that Android users are notorious for not being willing to pay for anything. (They do both iOS and Android.) So given the scope of the project, they were not interested.

The alternative is to pay someone prior to release (and thus take on the risk of Android users living up to their notoriety). If King of Dragon Pass had become a smash hit, the risk would be less, and there would be more money to pay for the development. Unfortunately, King of Dragon Pass is probably among the top 25% of games by revenue, but it is not a smash hit.

I suppose another great risk we could take would to create a version for Kindle Fire. That’s close enough to mainstream Android that it would be easy to then do an Android version. The upside may be higher (Amazon actually knows how to sell stuff — both the Fire itself and products for it), but the drawbacks are the same. (It’s still a big project we can’t do or afford.) And I am extremely dubious about how Amazon treats app developers.

So at the moment, I see no road that would lead to an Android version. I know that’s not what you want to hear, but the ways to make it happen didn’t materialize.

But hey, it took 10 months for an Android version of Angry Birds to come out. Something might happen in the next 10 months. But don’t hold your breath.

06 October 2011

Contacting Us

Although we’re totally happy with getting comments on this blog, it sometimes feels odd carrying on a lengthy discussion about, say, game balance under a totally unrelated subject heading.

I realize social media requires an account, but these discussions are probably interesting enough to be conducted on Facebook or Twitter. And those channels just seem better for an unconstrained conversation.

Another important contact is bugz «at» a-sharp.com. This is the email address for our bug tracking system. A number of you have already used this, which is great, because it’s easy for us to get back to you and if necessary, get additional information.

Thankfully, I don’t think anyone has used the worst possible way of getting ahold of us: App Store reviews. Don’t get me wrong, we love reviews! But we have absolutely no way of replying to you. Please write your review, but then contact us through one of the other channels (including this blog).

04 October 2011

The Trouble With Branching

I’ve written a guest post for Betterblog, the blog similar to this one run by Failbetter Games. I’ve been greatly enjoying their Echo Bazaar browser game, which is a narrative game inspired in part by King of Dragon Pass (though it goes in a very different direction). My article discusses the approaches both games have taken to putting actual narrative into games.

One note about Echo Bazaar: don’t be put off by the Facebook or Twitter login. It absolutely does not spam your social network.

02 October 2011

OSL (King of Dragon Pass scripting)

Several people asked about the scripting language used in King of Dragon Pass, OSL. This stands for Opal Scripting Language, since “Opal” was the code-name for the game. Apparently we once called it “MiniScript” (but quickly dropped that name).

Our original plans were to use a multimedia development system, mTropolis, and augment it with C++. I’m not sure if scripting was in the original plan, but if not it didn’t take long to add. Scripting languages tend to be much higher-level, are often domain-specific, and intended for use by people who aren’t programmers.

In 1997 we didn’t have a variety of existing languages to plug in. (Today I’d probably use Lua, though others might pick JavaScript or C#.) So we came up with our own. The basic idea was that a relatively non-technical author could create files that were almost valid code. I figured we were going to want to review them anyway, so I didn’t worry too much about syntax errors, or doing things that would be moderately complex.

You can see a sample of scene coding on our site (it’s too large to include here).

The main features were:

Structure
We needed to support multiple responses and advice. There are no functions, but there’s simple branching.

Tests
A core concept of the game is that most results are not certain. They require an individual to perform a deed. In game terms, this is a test. For example, one of your leaders will test their Combat ability against a dueler. Or the lawspeaker will test his Custom when arguing a case. Or a ring member will test their Poetry (a composite ability) against the surliness of the clan when trying to calm them.

Tests have two outcomes: win or lose. So OSL has those keywords. Sometimes, the degree of success matters, in which case the variable q is set to the amount the victorious side won by.

Variables
All variables are global. However, single-letter variables are reset to 0 at the beginning of a scene. Variables are easily accessible to the C++ code, and are actually one of the principal ways that the multimedia code can talk to the other portions.

Variables can contain a floating point value, a string, or refer to a person, clan, or tribe. In the latter case, specific attributes could be used (e.g. otherClan.chief or c.leadership). Variables could also hold lists of values.

Functions
We started out with special-purpose functions, often used so that script could handle interaction (such as ChooseSacrifice). But our C++ programmer, Shawn Steele, realized that we could come up with generalized list functions
c = StrongestMilitary(ClansWithPositiveAttitude(NeighboringClans))

Placeholders
All text allowed for placeholders, which would be replaced by a value
response 2: “The <survivorClan.plural> are our neighbors.”
Some of these were context-sensitive, to allow for English grammar (<him/her>). And we had a special placeholder used to vary text (to provide more repeatability).
Bargaining with bandits is <d3:giving chickens to the fox/a sign of how weak we think we are/doomed to fail>

OSL is definitely a “little language” — it’s not Turing-complete. But it serves its purpose pretty well. Robin Laws was able to describe scenes which needed very little cleanup to compile, our QA team was able to read the logic, and it helped glue the mTropolis and C++ code together.