Parser vs. Hypertext

(Crossposted from my blog)

Last week I updated the Gamefic repo with an SDK that can compile game code into pure JavaScript. There’s a standard API that provides functions for sending player commands and receiving game data. Developers can use HTML and CSS to customize the game interface. As an experiment, I used the SDK to compile two versions of Cloak of Darkness. One uses a traditional parser-based interface. The other has a graphical interface that works completely through point-and-click. The world model and solution are functionally the same.

The graphical version required about ten additional lines of core game code. Most of the heavy lifting is managed by the multimedia and hypertext libraries, which are available as imports. There are a few more lines to assign images to entities. The rest of the differences are handled on the interface side in HTML, CSS, and JavaScript.

I’m curious to see how feasible it is to build more ambitious point-and-click games that use a traditional parser-based game’s world model and rules. One issue is how to present every necessary hypertext command without telegraphing the solution to a puzzle. The Cloak of Darkness example resolves it by hiding a crucial command behind two interface layers: you have to check your inventory to see your cloak, and you have to examine the cloak before you can drop it. This could be sufficient for a lot of basic puzzles that involve object manipulation. For puzzles that require creativity or abstract thought, a link that explicitly describes the solution might take a lot of the fun out of it.

Of course, there’s a rich history of point-and-click adventures from which to draw inspiration. LucasArts, Sierra, Twine, and Choice of Games are just a small sample.

So here are some of the questions I’m pondering. How much value is there in building point-and-click interfaces for traditional text adventures? What are some interesting ways to present puzzles in hypertext? In a point-and-click game, does a traditional adventure’s interactive world model provide benefits, or would most people prefer CYOA-style branching narratives?

One way to do this is to create lists of verbs and nouns that are clicked on to build a command rather than complete commands. See Lucasarts/SCUMM engine adventures and Legend adventures for this type of interface. I’d love to see an interpreter that builds this automatically and presents it neatly for tablet touch interface.

Good call. Mobile was one of the reasons I started experimenting with point-and-click. Keyboards that absorb half the screen make text games frustrating on 7-inch tablets, let alone phones.

An interface for building commands seems feasible. As it stands now, the hypertext library automatically adds commands based on context, e.g., a link to drop an item in your inventory when you examine it. Theoretically it could use similar rules to provide command options a component at a time.

Agreed. Fun fact: the first SCUMM games had way more verbs to choose from than the later ones.[spoiler]Maniac Mansion
Push, Open, Walk to, Unlock, Turn on
Pull, Close, Pick up, New kid, Turn off
Give, Read, What is, Use, Fix

Zak McKracken
Push, Open, Walk to, Put on, Turn on
Pull, Close, Pick up, Take off, Turn off
Give, Read, What is, Use

Monkey Island
Open, Walk to, Use
Close, Pick up, Look at
Push, Talk to, Turn on
Pull, Give, Turn off

Later games
Give, Pick up, Use
Open, Look at, Push
Close, Talk to, Pull[/spoiler]

This was built into a mobile version of The Shadow in the Cathedral, still unreleased. We had hoped to make the word list mechanism a public extension…but this seems unlikely to happen at this point. I would have to release the entire codebase of Shadow and for now, that’s not possible.

But in Inform 7, this is entirely possible. Of course you need some way of pulling this data out of the VM and making a UI that implements it. That’s another story…and one that FyreVM does pretty well, if not perfectly. I’m working on that though.

David C.

Quest lets you build text-based verb/noun games like this; I don’t know why it isn’t more popular. My guess is that it’s because dev systems are fashion driven; people use IF dev systems because they aspire to be like (seem like) a particular IF author whom they admire, and no big-name authors have made text-only verb/noun games to my knowledge.

But I also wonder whether it’s because nobody really ever loved that interaction model. Parser lovers fundamentally enjoy typing in a game; parser lovers have kept a torch burning through a long and very dark period for interactive fiction. IMO, a lot of Sierra/LucasArts players love graphical puzzle storytelling; the verb/noun interaction is just the lowest pain mechanism to let the player interact with the game’s graphics and puzzles. That is, the fun isn’t verb/noun; the fun is seeing Guybrush lose his wig. Verb/noun is just a means to an end.

For comparison, I enjoy a number of parser games, but I love choice-based games. I love big sweeping actions, like “Annex the Sudetenland,” “Seduce the astronaut,” or “Defend the children at all costs.” You could try to make a verb/noun game with verbs like “annex,” “seduce,” and “defend,” but it’d be weird, even if you make it a noun/verb game where you first click on “Sudetenland” and the option to “Annex” it appears in a pop-up menu.

Perhaps a text-only verb/noun game might not do anything quite right. If you don’t have graphics, and your interaction model is just “least bad,” then the onus is left on the author to write beautiful prose and design amazing puzzles. The puzzles are even harder. Without visual aids, you’ve got one hand tied behind your back; without guess-the-verb, you’ve denied yourself a path to let players surprise themselves with their own cleverness.

This is why I haven’t released this version of Shadow yet. It’s “not quite right”. This is because I’m trying to turn a parser-based game into a word-click game. There’s an inherent design mismatch. I’m contemplating adding a small on-screen/non-native keyboard to allow the user to click-add new words…but I’ll probably just do the best I can with what I have and publish it. Feedback will tell me what I need to know and possibly help others thinking about this path.

David C.

I think Jon Ingold’s A Colder Light probably qualifies. One issue is that I don’t know if the source code for that ever got released in a way that made it easy to emulate; if I want to do a parser game I can do it out of the box, if I want the same game converted to hyperlink form I need to do extra stuff, if I want verb-noun menus I need to do lots of extra stuff and I wouldn’t know where to start.

But also, as you and David alluded to, I don’t find those interfaces very satisfying. Eventually I want to be able to type “go east” or “take bag” rather than finding the options on the menu–for the same reason that when I’m opening a file I type command-O rather than finding the menu shortcut. My mind speaks to my fingers better when I’m typing than when I’m mousing to menus.

Ah so there is one thing here that’s different…it’s meant to be a touch interface. Not a mouse-click interface. That said, it is a Windows 8 app and you can use a mouse. But it’s designed for fingers, which is very different than mouse-clicking.

Just saying.

Oh yeah, I don’t have a touch device so I don’t think about that. My experience on a touch device might be very different.

Also I realized that my comment might be taken to be dumping on the idea of hybrid interfaces which I do not intend. Please everyone who is experimenting with these continue to do so! But just putting a clicky interface on a parser game isn’t a panacea for parser accessibility, as I think you’ve discovered.

Have you ever tried writing a game with Quest?

FyreVM looks pretty cool. I didn’t know you had released it on GitHub.

You could also combine the two. Entering a room, for example, could trigger a scene where the player has to make a selection before proceeding. I’d like to see a choice-based narrative combined with the interactivity and explorability of a world model.

I haven’t played A Colder Light, but from Emily Short’s review it sounds a lot like what I’m trying to accomplish. Unfortunately, the only URL I’ve found for the game itself is a 404.

There’s also The Uncle Who Works for Nintendo. It’s a Twine game that kinda-sorta emulates an interactive world model via game states.

You might be interested in checking out my demo (built on Aaron Reed’s Sand Dancer) of similar functionality: … -take-two/ (This post links to multiple versions of the demo, each following slightly different input and display conventions.)

Colder Light was kind of a response to this demo, so it’s a good fallback if CL is no longer online (a shame!).

I mentioned it to Jon earlier this year; I was hoping it’d be restored at some point.

Wow, that looks real close to my approach, right down to procedurally generating buttons, e.g., displaying an “open” command for a closed container, “remove” for worn clothing, etc.

This is why I bemoan non-downloadable, online-only games. If someone had downloaded the game it would still be available as it’s still pertinent to a current discussion.

Oh wait. Someone has downloaded it. What a stroke of luck.
The Colder Light.rar (546 KB)

That style of click/touch interface (noun -> verb) is becoming more appealing to me as I consider it. There is a natural sort of flow to it. (look at an object, then interact with it.)

Right now my project is the opposite (verb -> noun) with a few exceptions. Somewhere down the line I might allow for both

, thank you very much. I’m extremely grateful for your archiving.

Thanks. I liked that one a lot.

There’s also Clod’s Quest (Undum).
(Unfortunately, Duncan Bowsman hasn’t expanded the original beyond the demo, so the game is very short.) (I’ve also done Inform 6 and Inform 7 ports, but I haven’t distributed them.)

Mike Snyder’s Hallowmoor game is another parser / hypertext hybrid.