The Dreamhold for iOS

Saturday, May 26, 2012

Comments: 5   (latest 7 days later)

Tagged: hadean lands, zarfplan, zarf, interactive fiction, if, dreamhold


It is up on the App Store! Go take a look.

(If you have an iPhone or iPad or whatever, I mean. If you don't, you can still play Dreamhold on my web site or however you like. For old time's sake.)



(The Dreamhold cover art is based on a photograph by Trey Ratcliff: The Festival of Lights in Lyon (CC by-nc-sa).)

I know most of you have already played Dreamhold -- it's a 2004 game, after all -- but it's been a fun game to revisit. This iOS release has a nifty map and some nifty (if cliche'd) trophy achievements, so maybe that will spark some competitive spirit or speedrun hijinks out there in Internet-land.

Unfortunately, I managed to ship the thing with a crashy bug. Several players have reported "Fizmo fatal error: Caught signal 11" messages. It isn't happening to everybody, and some people have gotten past it simply by quitting and restarting several times. (The problem seems to be showing up only on iPhone 4 and 4S, so far.)

I apologize for the bug, of course, and I hope to hunt it down this weekend. (EDIT-ADD: I have submitted a bug fix, as of May 27th. It is awaiting App Store review.) (June 4th: Bug fix is available; grab the 1.0.1 update.)

Bugs aside, what does this mean for the greater world of interactive fiction?


First, this Z-code interpreter (an iOS port of Fizmo) is available on GitHub now. Do you have a Z-code game that you want to put in the App Store? Now you can. (I mean, when the bug is squashed.) Free or for money, it shouldn't be a problem either way.

(You'll have to be a registered iOS developer, though. Also, I haven't documented the build process in any useful way -- sorry. This will improve over time. For the present, just install the project and its submodules from GitHub, replace Game.z5, and fire up Xcode.)

Some answers for the IF author contemplating an App Store release:
  • Can I customize the display style?

Yes. I put in hooks for game-specific fonts and color schemes.
  • What about that awesome map?

The map is Dreamhold-specific, so it's not included in the interpreter release. The same goes for the Game Center achievements. I think I'm going to keep those as private extensions. (I'm pretending to do this for a living, so I have to have some kind of, whaddayacall, "value add".)

If you're good at iOS coding, you are of course free to write your own interpreter customizations. The source is under a BSD-style license.
  • Is this a fully functional Z-code interpreter?

Urm, mostly. It only handles V5 and V8 at this time. (The V3 status line code might work, but is untested.) Timed input works, but the color opcodes do not. There are undoubtedly some bugs -- I know the status line height can go wonky at startup in some games. (Fortunately not Dreamhold! I know what's going on with this bug, I just haven't gotten around to it yet.)
  • What about Glulx? (Hadean Lands will be a Glulx game, after all.)

I have most of the Glulx interpreter working (see iosglulxe), but it's missing one key feature -- the ability to launch the game where you left off. This is critical for iOS, obviously. Follow my GitHub progress to see when that's ready.
  • Can anybody use this? What if someone goes and posts all of your IF on the App Store?

The App Store has a lot of cloning and shovelware floating by. This is a sad fact of the app world. It is possible that somebody could take this opportunity to flood the world with games using my name -- or, for that matter, start uploading the entire IF Archive.

I hope that doesn't happen, though. I would like to build up a small selection of Zarf IF games on the App Store, both free and for-money, with nice game-specific bonus features. That would be good for the Zarfhome label.

(I have nothing against iOS Frotz, which is awesome -- it's not an app that features particular games. Flooding the App Store search results with a bunch of cloned IF is entirely different.)

(Note: if you are this sort of shovelware bozo, and you're posting other people's games from the Archive for free, you're a bozo. If you do it for money, or put ads on, you're a bozo who is probably violating a bunch of software licenses. All my games say "Do not distribute commercially without permission," for example. Don't go there.)

Well, we'll see what happens, right? Enough of that mess.
  • And Hadean Lands?

I turned Dreamhold over to the App Store review queue a week ago. Since then, I've been chewing through the pile of HL design documents that have been accumulating for the past oh-so-many months.

I now have a complete picture of the puzzle structure -- every ritual and special action, major and minor. It's... somewhat terrifying. Remember I said "53 major puzzles"? It's up to 72 now. There are 98 distinct spell components on the list.

Inform's parser isn't really optimized for carrying around 98 objects. I mean, you can't actually carry all 98 at once, because some of them are made from each other. But it's still way too many. Inform allows it, but I suspect the parsing will bog down on slower machines -- like phones.

But then, why should the player have to do all that inventory management at all? Expect a lot of attention to shortcuts and automatic object-fetching. "You run over to Herbarium and pick some rosemary..."

Anyhow, the next step will be typing all of these puzzles and components into PlotEx, to make sure I haven't completely broken the plot. (I'm sure the first thing I'll discover is that PlotEx isn't optimized for 98 objects either, and then there will be some more optimization. Whee!)

After that? My usual IF implementation strategy is "start with the first room, work forward until done." That is absolutely not going to work here. What will I do instead? Stay tuned...

A couple of other IF-related links from the past month:

The Bundle in a Box charity promotion is offering seven Windows adventure games in a pay-what-you-choose bundle. This includes six graphical adventures (by Jonas Kyratzes, Wadjet Eye Games, and Size Five Games) and one text game: Peter Nepstad's 1893: A World's Fair Mystery. Proceeds support indie developers and charitable causes.

Is it time for a text game revival? (Gamasutra article by Leigh Alexander.) Runs through several sorts of text-based games, from Infocom's heyday to modern e-literature, the Kickstarter revival of many old fan favorites, Emily Short's new project at Linden Labs, and so on. Includes the splash banner for Hadean Lands, so I'm in favor.

Interactive Fiction Communities: From Preservation through Promotion and Beyond (Article by Nick Montfort and Emily Short.) Introduction to IF (which I'm sure you don't need) but also a history of the genre and the community, in some detail. Worth reading if you haven't been immersed in the stuff for the past few decades.



Comments imported from Gameshelf