Challenges for iPhone CocoaGlk March 11th, 2008

First off, a screenshot. It might not look like much (or anything), but this is actually a bit of a milestone: that’s a glk window in CocoaGlk running under aspen:

The reason this is interesting is that it was actually several days worth of work before CocoaGlk could achieve the same feat. I’ve been able to take across even some of the UI code from the ‘full’ OS X version of CocoaGlk, so things are progressing quite fast.

There are still a few things that I need to make some decisions on, though. Read on for the details.

Read the rest of this entry »

Some success with the SDK March 9th, 2008

After some wrangling, I managed to get the SDK to download. Apple’s servers decided to reset my download after 12 hours at 1.6GB in such a way that Safari thought the entire thing had downloaded, so no resuming… Or at least there would have been no resuming if I hadn’t started a new download and applied some text editor-fu to the Info.plist in the .download package to make it think that the 1.6Gb file was the thing it should have been resuming. Sheesh, even the hopeless transfer manager that Microsoft makes you download stuff from MSDN is better than this.

This means that I managed to get the SDK installed an hour ago, and spent some time pointing it at the GlkClient source files, which compiled with barely a hitch: mostly I just needed to replace Cocoa.h with UIKit.h and change some NSColors to UIColors. Awesome: you can compile UI-less glk interpreters now. That’s the easy part done: now I need UIKit implementations of the glk protocol classes, and some new startup code to run the interpreter in a separate thread instead of in a separate task (which would be pointless on the iPhone and would probably annoy Apple anyway).

I’ve also created a Google Code project for this, so you can track progress at http://code.google.com/p/cocoaglk.

IF and the iPhone March 7th, 2008

So, Apple have (finally) released the iPhone SDK today. developer.apple.com is apparently too busy celebrating this momentous occasion to actually bother to respond to any http requests so I haven’t had a chance to look at the SDK yet.

Even so, I plan to port CocoaGlk as soon as I get my hands on it, at least assuming the requirements for distributing free software aren’t too onerous. $99 for a key doesn’t sound too bad to me, anyway.

I’m not entirely sure what to expect; I haven’t played around with jailbreaking my iPhone, so I’ll be going in blind. What I think is likely, however, is that half of CocoaGlk will port just fine: that is, the GlkClient framework that interfaces with the interpreters. What is less certain is how well the UI half will port: that is, GlkView. If NSTextView is ported, and the typesetter behaves the same way, then it’s going to be really easy to get the UI working in some manner, and probably not that hard to support all the features of blorb.

Getting games onto the phone is also a bit of a challenge. I think that taking some of Zoom’s existing inventory management and connecting to IFDB might be a good idea.

I’ll post a beta when I get things working: I imagine a glulx or frotz-based interpreter is likely to be released first. I’ve been thinking about doing something with LLVM to JIT games; something that would be a curiosity on the fast machines that CocoaGlk runs on at the moment, but which could be vital to running games on the much slower iPhone.

Zoom 1.1.2 November 22nd, 2007

Zoom version 1.1.2 is now available here. The main new feature in this version is integration with the IFDB site, as well as a much improved plugin manager. This version also fixes some Leopard compatibility issues and adds support for QuickLook, both for story files (displaying cover art and bibliographic information in the Finder) and for save game files (displaying the complete transcript that lead up to the save command).

Read on for the complete change list and some screenshots…

Read the rest of this entry »

GlkTerm 1.0.3 August 4th, 2007

I’ve now released GlkTerm version 1.0.3. This is an update to the previous version of GlkTerm that uses the new 1.0.3 version of CocoaGlk.

Zoom 1.1.1 July 27th, 2007

Well, it seems that some of the new features in Zoom 1.1.0 had a few of the usual .0 release issues. I’m not sure how I managed to miss that TADS 3 games were failing to save.

Zoom 1.1.1 fixes these issues and adds many new features to the plug-in system so now Glulx, TADS and Hugo games all get the same save-game features as Z-Code games, at least as far as is possible with their respective interpreters.

Read on for the complete change log. Zoom 1.1.1 is brought to you by the revision number 2691.

Read the rest of this entry »

CocoaGlk 1.0.3 July 27th, 2007

CocoaGlk 1.0.3 is now available. This version of CocoaGlk mainly focuses on bug fixes, but also includes a couple of new features aimed at making it easier to port multimedia interpreters and customise client behaviour.

Read on for the complete list of changes.

Read the rest of this entry »

Fix for black-on-black issue in Zoom 1.1.0 July 9th, 2007

The X11 version of Zoom 1.1.0 has an issue that can cause it to appear black on black. Oops: this was caused by a new preference in the OS X version not having an equivalent in the X11 version.

I’ve made a patch for this problem, which you can download here.

(Updated 13/07/07 to fix a further issue which could result in some games now having psychedelic colours. Sigh.)

9 features you may not know about in OS X Inform June 11th, 2007

While developing the Inform 7 IDE, many features were added to make developing a game smoother. This article lists some of the features that you may not have spotted.

Read the rest of this entry »

TADS 3 plugin fails to save games under Zoom 1.1.0 June 3rd, 2007

Oops, it seems that due to a bug in CocoaGlk, TADS 3 games are unable to save their contents. If you’re encountering this problem, I’ve written a workaround. You can download an updated version of the TADS 3 plugin here.

To install it, right-click on your copy of Zoom in the Finder, choose ‘Get Info’, then go to the plugins tab and click ‘Add…’: the old plug-in will be replaced and TADS 3 will regain the ability to save games.

The next version of Zoom will incorporate this fix.