[I7] Thoughts on game presentation

Andrew Hunter andrew at logicalshift.demon.co.uk
Wed Feb 6 14:13:22 CST 2008


The thread on raif about packaging games has had me thinking about how  
to add this as a feature to Zoom. My first thought was to  
automatically add files in a particular subdirectory of the Resources  
folder to the iFiction window. This would be far from ideal, though -  
the user would be presented with a list containing a single game, and  
would work out that they need to double-click it.

This does address a particular issue with packaging games, though: the  
interpreter is often much larger than the game itself (especially with  
multimedia interpreters like Zoom), so packaging games on a one-shot  
basis is very wasteful. Packaging them with a complete interpreter is  
a lot better, especially when the player can just click the 'Find  
More' button to go to the IFDB and find similar games.

Ideally, we'd like a packaged game to start up immediately, or at  
least present itself in its own way, so when the player starts up the  
interpreter for the first time they are presented straight away with  
the game they downloaded, with the seamless ability to find more later  
on. My thoughts on how this should be achieved is where the compiler  
comes in. Games that wish to be packaged in this way should provide a  
new blorb chunk that contains an HTML title page (and an arbitrary  
number of extra 'files' to contain images, style sheets, etc - these  
could be accessed through a scheme similar to the inform:/ URLs we use  
to access documentation at the moment). This would effectively be an  
extension to the cover image system already in place.

The interpreter, on finding it has a library of exactly one game  
containing a title page would display this by default instead of the  
list of games. The user would click a link, or press a key, and be  
taken to the game itself. Once they'd played the game, they could use  
the same page to navigate to the 'related games' in the IFDB: perfect  
for introducing newcomers to IF.

There's a further step, though. While thinking about embedding HTML in  
games, I started wondering about doing the opposite: embedding the  
game in HTML. The idea is that the game provide a 'gameplay' page,  
which embeds a plugin provided by the interpreter to display the  
game's content: this would allow the game to create a unique look for  
itself, and would also allow the designer to use standard tools to  
create it.

The plugin could provide for communication via javascript - the  
simplest way perhaps to just expose something like CocoaGlk's existing  
automation system, which would be adequate to create something like  
the BBC's hitchhiker's game.

Perhaps communication could also be done directly via requests on a  
custom URL scheme - this would require some interpreter support, but  
such requests could be presented as glk streams to the game. This  
would allow the page surrounding the game to update itself using  
techniques like AJAX. Embedding flash or Silverlight content would be  
possible, too, which would make it possible to relatively easily  
create very rich interfaces.

Something that really makes this appealing to me is that it would be  
very easy to implement, at least with CocoaGlk, as the GlkView class  
could be dropped into a WebKit plugin pretty much unaltered.

Thoughts?

Andrew.



More information about the Inform7-porters mailing list