13 April 2013

The Debug Dialog

When I was creating the iOS version of King of Dragon Pass, I included some of the same debugging utilities we had in the original game. Unfortunately, I couldn’t remember exactly what we had, and there was no good way to look, because the release version of the game didn’t have them. (And it’s real hard to search an mTropolis project.)

I knew there was a way to trigger a specific scene (critical for running them over and over to test all the possibilities). And a set of commands that do things like get rid of all your food (to test things like starvation advice) or get raided by Trolls.

But I knew there was something more, just not what it was.

Today I happened to run into this code
Returns text about our clan helpful for debugging (shown in the \ dialogette)
char* CPlayerClan::DebugInfo() const
gString = "farmerMorale: ";
UString::Append(gString, this->MoraleFarmers());
gString += ", warriorMorale: ";
UString::Append(gString, this->MoraleWarriors());
gString += ", thrallMorale: ";
UString::Append(gString, COSL::GetIntegerVariable(var_thrallMorale));
gString += ", mood: ";
UString::Append(gString, this->Mood());
gString += "\rvictory: ";
UString::Append(gString, COSL::GetIntegerVariable(var_victory));
gString += ", kingship: ";
UString::Append(gString, this->Kingship());
gString += "\r";
UString::Append(gString, fYearsAsType, "year", "years");
gString += " as clan type\r";

return (char *)gString.data();
} // DebugInfo

which was clearly used to display some internal status useful for testing.

This isn’t as important as it was in 1999, but we’re in the process of thoroughly testing a number of new scenes (currently 14, but several more are in progress). So I put this into the current debug dialog. It’s almost like seeing a long-forgotten friend.


  1. Hey David

    First of all, wanted to say congratulations on the continued success of KoDP. For whatever reason I can no longer post messages on this blog from my iphone, but congrats on all the recent milestones nonetheless.

    Second, I wanted to ask if you really consider game balance when creating new scenes (is this scene an easy boon for the player, or are there real potential risks involved in making a "sub optimal" choice?) or are you just thinking about what would make a cool new scene that adds to the experience and lore?

    Lastly, I wanted to get your opinion on KoDP for the Ipad mini. Have you run the app on one? I was considering selling my iPad 2 and grabbing a mini, and how KoDP runs and looks on the mini is a big consideration for me.

    Thanks again for developing such a great game


    1. Thanks!

      Yes, balance is an issue. Not a major one (one scene among 550 is unlikely to break things horribly), but I don’t want to make one that is awful and inflict it on players just learning the game.

      KoDP runs just fine on iPad mini, which is essentially a smaller iPad 2. We made iPad buttons larger than iPhone buttons, so the smaller size of the mini (compared to other iPads) is not a problem. It’s not a Retina display, which is unfortunate, but who knows when they will get one in that light a device. And iPad mini is such a good commuting device, much more usable on the train than an iPad 2.

      Glad you enjoy it, and I hope you like the update when it’s ready!

  2. Hi David,

    Any news on when the update will be ready? I just might pick KoDP up once more, since there's just no game like it (not even Battle of the Bulge ;) ). Obviously I would be even happier with an entirely new game (King of Sartar? Lunar Emperor?), but I guess that just won't happen.

    I'm actually looking forward to a game called Sorcery, an adaptation of a Steve Jackson gamebook. It looks like this might just quench my desire.

    1. Trying to decide if it makes sense to release something with ~15 new scenes relatively soon, or keep going and do an even bigger update.

      In other words, 2 pretty significant releases, or a much larger one (but much later).

      The question sort of turns into: would you pick up the game again twice?

    2. Well, the fact is the majority of the game (the 400-500+ scenes that have been there from the beginning) remains the same. So you will be playing familiar scenes over and over, just to encounter one that you haven't seen before.

      If I have to choose between the two options you mentioned, I would definetily choose the one big update. Replaying KoDP every time one scene or a couple of scenes are added just wouldn't be my cup of tea.

      But if you're "saving up" new scenes, wouldn't it make more sense to use them in an entirely new game?

    3. Thanks for the comment — I know a few people do seem to play over and over, but many would dust it off only for something big.

      The new scenes are KoDP scenes, they aren’t going to work in another context.

      And they’re not being “saved up” so much as ideas that are taking a while to get implemented and tested.

  3. Alright then. Just trying to push you a little more towards a sequel.

  4. Have you taken a look at Sorcery! by Inkle Studio's yet? I wonder what you think about it. Hopefully it'll provide an experience like Dragon Pass.

    1. Aware of it but haven”t really checked it out yet. The Steve Jackson books were not an inspiration for KoDP, for what it’s worth.