Hyperlink Interface Extension

Link: https://raw.github.com/Blecki/Hyperlink-Interface/master/Hyperlink%20Interface.i7x

Inspired by the conversation in this thread http://www.intfiction.org/forum/viewtopic.php?f=23&t=9596 , I have extracted the hyperlink-interface code from one of my games and made it into an extension. (https://github.com/Blecki/Hyperlink-Interface)

It’s written using Passages, which is a text-based build tool I wrote to write novels with. (https://github.com/Blecki/Passages). To build from source, you’ll need Passages; but I’ve included a built copy of the extension so you don’t have to. (https://raw.github.com/Blecki/Hyperlink-Interface/master/Hyperlink%20Interface.i7x). The benefit of Passages is that the extension is broken up into multiple files, making it collaboration-friendly.

The extension will turn things into links that examine the thing, and it will add a list of common actions to a thing’s description. It also will list a set of global commands. It integrates with Conversation Package so that topics get linked as ‘ask’ rather than ‘examine’.

You can define your own actions. There are standard actions, which can be applied to any thing, and global actions which apply to nothing. You can also give objects special actions which only they have. Rules determine if a specific action should be shown for some specific object. The entire interface can also be turned off, if the player wants to just use the parser.

Some things I want to do are:

  • List the commands in the status line, or a separate window, instead of in the output.
  • Integrate better with Conversation Package. In the game this was for, I simplified ask/tell/give into just ask. Currently, the extension will turn all topics listed by Conversation Suggestions into ‘ask’ links.
  • Integrate with Threaded Conversation
  • Write documentation

Beyond simply trying it out (There is a sample game in the github repository https://raw.github.com/Blecki/Hyperlink-Interface/master/story.ni) I’d also like your thoughts on how the links are presented, and what actions should be included in the list of standard and global actions.