More extension updates

I have now posted v2 of Measured Liquid, which gets around an Inform bug that creates some problems compiling to the Z-machine. If you’re compiling to Glulx anyway, this shouldn’t affect you; otherwise you may want a new copy.

Also up is a new version of Simple Graphics Window, upgraded for 6E59. If you run it and have trouble with a problem message saying you need a newer version of Glulx Entry Points, please note: a correct version of GEP is included inside your Inform build, but it is possible that if you had installed some intermediate version yourself in your personal extensions directory, that version will interfere with compilation. You should uninstall any version of GEP older than version 8, and rely on the built-in version.

Further systems in the CYOA spectrum

A couple of days ago, I received from Ian Millington an email that may interest people who have been playing around with alternatives to parsing.

I really enjoyed the long-form post on Parsing and alternative types of IF. It reminded me that I had an almost complete hybrid CYOA / IF system on my hard-drive. So I dusted it out and made it open source and put it online.

A trivial (two state) example is at: http://idm.me.uk/undum/tutorial.html (no loading progress bar yet, so wait until the images load).

And the code is available from: http://github.com/idmillington/undum

The code requires a modern (non-IE) browser. The key point is that it is implemented in Javascript, so there’s no need to fake the ability to do proper processing. You can auto-generate text from state, create random events, timing, etc. The kinds of things you can do with any full IF language.

Although the dedicated documentation is pretty scant, the source code is very thoroughly commented (e.g.
http://github.com/idmillington/undum/blob/master/media/js/undum.js).

I haven’t played with it very much yet, but I do admire the pretty presentation style in the tutorial. It appears to share some features of the Choice Of… games, such as tracking of stats and branching/rejoining story paths. What it does differently: all text from previous attempts is retained, rather than clearing the screen, so what you get is a continuous narrative. The typography is attractive, and images can be included as embellishments.

Those interested in this space should check it out.

Edited to add: the code and examples are now available from undum.com instead.

Parser Discussion, Redux

A couple of clarifications on the last post, because there was a lot there, and some of the discussion is arguing against things I mentioned in passing rather than against my actual conclusions. So, to sum up:

  • The answer to the question I posed in the title is yes. I do still want a parser. Something else would not be close enough to IF as I know it.
  • In fact, I still want players to type. Clicking buttons or using drop-down menus (a) encourages a design with too few verbs and (b) removes the textual give-and-take. I also consider that an important part of IF. I also dislike the cluttered look of interfaces with a lot of menu and button stuff around the body of text.
  • Indeed, I still want to accept standard-form commands such as OPEN DOOR, in that order.
  • But the command prompt doesn’t give enough information to help players negotiate the command space. I think this a real defect in the current parser interface, as a matter of interface design.
  • Therefore I think we should give the player a way to interrogate the game directly about what his options are. One way to do that would be the textual equivalent of clicking on something and bringing up a radial menu: that is, letting the player type a noun name and find out about his options for manipulating it.

So, Do We Need This Parser Thing Anyway?

…or: What does it mean to be writing interactive fiction?

When asked about outreach prospects for IF at PAX East, I said this:

We have a two-part accessibility problem.

One part is the interpreter: people don’t want to download separate files and don’t want to have to figure out file formats. That structure is unattractive and increasingly out of step with the way casual players play games — and especially with the way that they’re persuaded to try new work. We (as a community) are working on that by developing better browser-based interpreters and making it easier for people to publish material to websites. It’s not true that there’s been no Java Glulx terp at all, but it required its own downloading and does not offer the option of creating an attractive game display within a browser window. Just the last couple of months have seen major strides on this front, with both Quixe and ZMPP reaching the point where they can play Glulx games in a browser window. Zifmia is a project to present games from a server interpreter, while FyreVM is an experiment in letting authors customize their output with channel IO. For TADS 2 there is Jetty, and Mike Roberts is actively working on changes to TADS 3 that would make it possible to do web service of those games. So we’re making a lot of progress here.

The other problem is the parser. When you look at novice reactions to IF — found in responses to IF games posted on indie gaming sites, or in student reactions to playing IF for the first time — the initial reaction is often enraged frustration with the parser. The first few (or few dozen) moves of a new player’s interaction with the game often consists of many many failed attempts that do not move the game forward in any way.

This is alien to most gamers these days. These days, even fairly difficult console games usually guarantee that at the beginning of the experience it’s just about impossible for the player to do something wrong or to fail meaningfully. Interaction options are introduced gradually. By contrast, most IF games are not designed with any kind of tutorial mode or game-opening section, instead offering (at best) a lengthy menu of instructions. There are exceptions (Dreamhold, Blue Lacuna). My own recent games have included an optional tutorial mode (which I think of like training wheels) that give turn-by-turn contextual advice to the player based on what’s currently happening.

It’s not clear to me how well those games have worked in attracting novices and making them comfortable with IF, however. (I just don’t know: I’d love to hear about it if, e.g., there were a bunch of Blue Lacuna players who got acclimatized to IF through that approach.)

Fundamentally, however, we’ve got a bigger problem, which is that the command prompt is a lie. It tells the player “type something, and I’ll understand you.” Which it won’t.

Continue reading “So, Do We Need This Parser Thing Anyway?”

“Designing Morality in Games”

There’s an interesting post on designing games with moral choice (and moral ambiguity) over at Gamasutra, which looks at the Bioshock games especially and speculates about the value of moving away from super-simplistic black-and-white good and evil, which is a pet peeve of mine as well.

Something the article doesn’t touch on much, though, is why we are including these moral choices in the first place – something I think we need to know in order to decide what sorts of structure and context should be provided. Are we making a rhetorical point about something we believe? Are we telling the story of how a particular character in a particular context wrestled with moral decision-making? Are we pushing the player to explore his beliefs about a difficult situation (a la The Baron or Fate)?