08 June 2013

Architecture Redux

I’ve mentioned the game’s architecture before, but understanding it helps answer some common questions, so I thought I’d draw a picture.


The game has three main divisions. In the original version, different developers were more or less responsible for each.

The user interface (the 50 or so screens and dialogs) were created for the Windows and Macintoshes of the day (that day being somewhere between 1997, when we started the project, and 1999, when it was released). We used mTropolis, a powerful multimedia development system that was discontinued over a year before the game came out.

The interactive scenes (and news) were coded in OSL (the Opal Scripting Language, or the Opal Scene Language).

The game engine, written in C++, executed the OSL code, ran the economic model (tracking cows and the effects of treasures on them), and was responsible for saving the game. It was cross-platform, running equally well on Mac OS and Windows.

When we created a new version for iOS, the basic game code and the scenes didn’t need radical change. Both were enhanced (for example, the game had more advice and supported 7 new treasures, and there were 28 new scenes) but existing code continued to work. By contrast, none of the user interface code could be used. Not that it would have mattered much, the small touch screen needed a new user interface anyway. This was a very substantial effort, and it ended up being partly duplicated for iPad and again for the 4 inch display.

There are numbers in the diagram because they suggest why the iOS version is distinct from anything else. Saved games assume a specific number of scenes and treasures. Adding more would mean substantial reworking of the C++ code. But this code had to work with mTropolis, so it’s tied to 1998 era systems. The hardware and compilers I used back then are long gone.

So that’s why the GOG Windows version can’t be updated.

Some have asked about a new Windows or Mac version, or an Android version. Since mTropolis no longer exists and UIKit is iOS-specific, any version for any other platform will require reworking the user interface (possibly with some redesign, definitely a brand new implementation). Think of it was rewriting a third of the game.

The first iOS release took about 20 calendar months. Since the C++ code didn’t need significant updating, the user interface could thus be said to be about half the code needed for that project.

Actually, there was some new C++ code, because we wanted to add Game Center achievements. Most of this would work on Mac OS X, but not on other platforms.

So unlike the original version, where it was trivial to build for both Mac and Windows, there’s a daunting amount of work to bring the game to another platform.

What we’ve done instead is reflected in those numbers: reworking the 50 screens for iPad (and soon the iPhone 5). And adding new treasures and new scenes in an update we hope to release this month.

10 comments:

  1. So it is technically possible to do the update, it's just not economically feasible given the large amount of work and the unknown demand.

    Have you considered a Kickstarter for it? I know I'd be in for an updated copy on Mac and Windows, despite owning the original CD, the GOG.com version and the iOS version.

    What can I say, I like giving you money.

    ReplyDelete
    Replies
    1. My partner always used to say, “all things are possible in software.” But at some threshold of difficulty, it’s really not possible. So in the spirit of “Orlanthi all,” it’s not possible to update the Windows version.

      Kickstarter is great and many games have done well by using it. But I have not seen any campaign provide additional time, only the converse.

      Delete
    2. I agree with you, I recently discovered this game and its great. I'd love to see it spread to a larger market and have access to it on other than apple devices (of which I don't own)

      Delete
    3. I also own the old boxed CD and GoG version. And been waiting if there would be a version for some other platform than iOS. Originally Android, but now WP would also do.

      I was also thinking of a Kickstarter campaign as I've participated multiple ones. But I guess that's also out of the guestion... Too bad.

      Delete
    4. I have seen actual people with Windows Phone devices, but there’s no evidence I can see that makes WP a viable market for an indie developer.

      Delete
  2. Wow, the update for iOS coming this month! That's exciting news!

    ReplyDelete
  3. Hello I have played the PC version quite a while ago and really enjoyed it....will you be bringing the game to Android at any time?

    Thanks!

    ReplyDelete
    Replies
    1. He answered that question in the post already. Its just not feasible.

      Delete
    2. Which sucks, as for many people it would be an instant purchase, and I for one will likely never get an iPhone.

      Delete
  4. For anyone who is curious: it is possibe to play the GOG Windows version on OS X 10.7 and newer through Wineskin Winery. It is playable, aside from one pesky bug.

    http://appdb.winehq.org/objectManager.php?sClass=version&iId=28963&iTestingId=77542

    ReplyDelete