Ex Nihilo

Part of this year's New Year's speed-if event I've released a hypertext story called Ex Nihilo. You may find it interesting.

It's (naturally) Vorple-powered but with a custom engine. It might have been possible to massage Undum into giving the same results, but not without quite a lot of work. Making a simple hypertext engine is not a hard job—the WWW itself is already one big hypertext engine. (Undum's strengths are, among others, ability to save and replay stories, which is a hard job.) Ex Nihilo's custom engine is only about 200 lines of code and mainly takes care of animation effects and deals with nodes in uniform manner.

The source code is available from GitHub, and archivists can download the whole thing from the "zip" link on that page. Playing offline is not possible, you'll get a network error at one point if you don't have a server set up. A text-only Glulx version is also available, but it's severely lacking compared to the real thing so it's not really recommended unless the online version is not accessible.

Starborn: the Vorple edition

A screenshot of the story, showing the story text, the map and the keyword listAlmost one year ago to the date I released Starborn, a short keyword-based scifi story made with Inform 7. Now I'm proud to present an Undum-based version, enhanced with Vorple, of course.

The content is essentially the same. Instead of typing the keywords you click on hyperlinks that are highlighted in the text and shown in a separate list next to the story. A clickable, dynamic map of locations is displayed on the opposite side. There's background music, but sound support is still a bit shaky in some browsers. Internet Explorer 7 or earlier will not work.

It uses the yet-unpublished version 1.2 of Vorple and demonstrates the use of the button interface in the map and in the keyword list, and tooltips that are displayed as brief instructions and as labels for the map. Under the hood it uses disposable links and other similar features. It's also using the IF Recorder plugin, probably the first time for an Undum story.

Vorple proof of concept published

I presented a demo of Vorple, a user interface library for IF, at the IF Demo Fair in Boston last month. The demo or rather the proof of concept has now been published (with minor additions) at a brand new domain vorple-if.com. A brief description is available along with the demo, and further developments are announced through @VorpleIF Twitter account.

Introducing Vorple

Emily Short and the comrades from People's Republic of Interactive Fiction are hosting a demo fair for user interface and NPC interaction innovations.

Screen shot of Vorple showing a demo game and a balloon tooltip pointing to the input line, instructing the player to type a command

My entry to the fair is Vorple, an interface layer to be integrated with existing web interpreters and an accompanying UI library. It would work together with Parchment, Quixe, Undum, or some other web interpreter or system that would provide the engine running the actual game.

Vorple has two main features: giving games access to JavaScript and Vorple's library, and providing ready-made functions and features that could be easily added to games. For example, an Inform 7 author could do something like this:

After examining the television:

play YouTube video "oHg5SJYRHA0".

To players it would be just like any other web interpreter, but for authors Vorple would provide means to break free from the virtual machine into what is admittedly another sandbox, but one with a lot more possibilities. Authors who want total control could insert JavaScript commands that control the user interface or add whatever JavaScript/HTML elements they wish. People who don't want to mess around with JavaScript could use the ready-made elements and functions like shown above.

The players would benefit of an independent UI layer even if the game author wouldn't use any of Vorple's features. You could use independent JavaScript widgets like notepad or (auto)mapping that would work with every game.

An interesting side effect would be that if Vorple were made to work together with Parchment and Quixe it could act as a general-purpose interpreter like Gargoyle or Zoom, making the difference between Z-machine and Glulx even more invisible to the player.

The features demonstrated at PAX will be:

  • Keeping the transcript clean: hiding error messages and UI hints the next turn, showing meta information (about, credits) in popups
  • Changing the content of previous turns. In the demo you can change temperature and speed units between metric and imperial. Doing so will change the previously displayed units as well.
  • Bubble popup hints, as seen in the screenshot
  • Linking to Twitter
  • Sending commands to the parser from the user interface, either as normal commands, silently, or as partial commands (for example clicking on the word "examine" fills the input line with that word and lets the player to add the noun)
  • Images in different layouts and popups
  • Playing videos (local videos for now because internet access at the demo event might be difficult to come by, but YouTube videos would work just as well)
  • Accessing and displaying the system time (although it's not that amazing anymore now that Glulx supports this)
  • An interactive version of the How to play IF card!
  • + more

This is just a taste of what the library will include. The best part of course is that because the user interface and the game could communicate between each other the author would be free to come up with all sorts of interesting new interfaces and game mechanics outside the standard set of features. For example I had an idea of a time travel game where travelling into the past would actually change the content of previous turns that happened in the future—this would be impossible in any of the current interpreters, but perfectly doable with Vorple.

As said Vorple will be presented at the demo fair at PAX East in Boston this Saturday starting at 8 pm. If you're around come take a look; you won't need a PAX badge. The demo will be posted online later, but I'm travelling during March so it might take a couple of weeks.

Vorple won't be out for some while as it's currently just a bunch of stuff thrown together to demonstrate the basic concept. In the meanwhile you can follow @VorpleIF on Twitter for release announcements and updates on the progress.