JavaScript front ends for Inform Games

I initially titled this post “Glulx-compatible Vorple,” but felt that possibly that headline wouldn’t convey much to authors who aren’t already familiar with the esoteric edges of IF tooling history. The good news is that it is now much easier to make your Inform game look good in the browser, and to take advantage of CSS and JavaScript in sophisticated ways.

Juhana Leinonen has announced a public beta of the Vorple extension set for Inform that works with Glulx, consisting of not one but several connected extensions for achieving various JavaScript effects.

Vorple’s functionality goes beyond the (still quite cool) work that furkle did to support the front end of WorldsmithA version of Vorple has been around for some time, and the prototypes for it existed as far back as the IF Demo Fair, but what’s been available so far has been compatible only with the Z-machine, a format so small that it’s increasingly hard to generate any viable Z-machine games with Inform 7 at all. Meanwhile, Hugo Labrande has maintained a Vorple version suitable for use with Inform 6.

There are some extra details available at the announcement post here.

The new edition of Vorple opens the following possibilities for games that are being played online or in a browser (which, these days, is more and more of them):

  • Large (not the tiny and currently rare z-machine format) Inform games that can issue JavaScript instructions
  • Authorial control over fonts and typography on a level that has generally been difficult or impossible
  • Hypertext games programmed and driven through Inform, something that was previously possible but tended to come out looking rather clunky
  • Parser IF that makes attractive, dynamic use of illustrations, maps, and even videos
  • Inform games that use JavaScript to access information that has usually been sandboxed off, from checking the date to using information widely available on the internet. The Vorple extension set includes an example that pulls data from Wikipedia, for instance
  • Games that remove text after it has already been printed to the screen (something that was just about impossible with former non-Vorple Inform interpreters); this means that one can, among other things, remove error messages from the scrollback, or change the game’s printed history to reflect changes in the protagonist’s mentality
  • Tooltips and modal dialogue boxes to do things like offer definitions or confirm player choices outside the main narrative
  • Help menus other than the horrid nested, keypress-driven things we’ve been suffering with since 1994
  • Probably many other things I have not thought of yet.

I’ve had the chance to play with the extension set as Juhana tested it for release, and it is really cool.

In addition, those in range of London are welcome to join us for the IF Tools meetup May 31, where Juhana will Skype in to talk to us about the Vorple project, so those interested can get a first-hand introduction.

September Mail

Hello Emily,

You don’t know me. I read your blog and I actively use Adrift to experiment with make IF games and have tinkered with Twine also.  I know you are super busy so i will get right down to the point, least i start rambling about IF.  

In a brief summary this is about an idea (that may have already been once given to the IF community) of setting up a crowd funding for a prize pool for a IF Creator/Engine competition.

Some might say the best IF creator out there is Inform, i did try it in the past but couldn’t get into it, i tried Quest and that was confusing to use after getting used to using Adrift. I have been tinkering with Adrift on and off for about six years and it has come along way, but falls short in some areas due to only one Dev who adds new features and fixes bugs in his spare time. Adrift does have the ability to use expressions that are close to programming and it is over the last year or so i have learned quite a bit with expressions. I think Adrift is often overlooked (the ability it has with being able to create custom properties for locations, objects and characters. And the ability to create modules to add to your library or share. It still needs lots of polishing).  

I was thinking to myself today, why hasn’t there been a kickstarter (add in other crowd funding options here) on creating the ultimate IF Creator/Engine (that could handle CYOA style games, point and click, IF or all of the above in one game). But then there would be many opinions of what that might be or look like and how it would be internally structured, visually look etc no one would never agree on things. And of course the parser. So what about the next best option;  crowd fund a prize pool for 1st, 2nd and 3rd place for an Interactive Fiction Creator/Engine competition with defined criteria for judging, such as UI, Parser, multimedia support etc you get the idea. I do not know how big the funding would get to make a decent  prize pool worthy to garner attention from programmers around the world. Obviously the bigger the prize pool the more attention and interest in it. I am not a programmer so i do not know what would be a realistic deadline 12 months? 15 Months? for at least a working prototype. Programmers outside the IF world would be at a disadvantage, but could catch up quick reading a number of articles written about IF its weaknesses and strengths with what is currently available to us as tools as well as free content that can be played to see the best of the current crop of IF games in the last ten years. Maybe fresh eyes (programmers outside of the IF community) on the scene might help?

This approach could see some really ingenious ideas that may not win the prize but spark some new ideas to improve on or the winner might have something few didn’t think of that he/she goes on to finish and releases either for free or profit. People tend to be more interested in being in control of their own project and are motivated to be ambitious or think outside the box more this way. I am sure there would be many failed or unfinished entries, but hopefully there might be a small number of really well implemented ideas… 

Continue reading “September Mail”

Jim Munroe on Texture and “Pretty Sure”

Texture is a tool for choice-based interactive fiction, but one with explicit verbs rather than simple links in the text. Designed to feel natural on touch screen devices as well as in the browser, it lets you drag a verb from the bottom of the screen and position it over one or more hot spots in the text.

Here I’ve dragged a “remember” tag to hover the highlighted “your son” text, constructing my own command:

Screen Shot 2016-07-15 at 9.34.38 AM

A beta version of Texture has been around for a while – I first wrote about it in late 2014, and Jim Munroe and Juhana Leinonen have been working on it on and off since then. But that early version was still lacking a number of features. The new iteration is much more complete, both in terms of what the tool can do (better handling of variables and lasting state from page to page) and as a player-facing experience. The new version launched with a small but impressive library of titles, with new works from Jim Munroe, Robert Yang (who has often starred here before), and Jake Elliott (Kentucky Route Zero).

Jim’s big contribution is Pretty Sure, a short story about parenting: I would say a science fiction story, and there are science fictional elements, but it’s really mostly a story about human interactions and responsibilities. Jim was kind enough to talk with me about the making of Pretty Sure and the design decisions that went into it.

Continue reading “Jim Munroe on Texture and “Pretty Sure””

Writing Interactive Fiction With Twine (Melissa Ford)

WritingInteractiveFictionA curious and fascinating thing about Melissa Ford’s Writing Interactive Fiction with Twine is how it combines hypertext craft advice and Twine syntax tutorials with design expectations largely derived from parser-based interactive fiction.

This is a 400 page book about Twine fiction whose index lists Anna Anthropy once (in a passage discussing how she did geographical description in one of her games) and Porpentine never — though it does refer, without attribution, to the tiny Twine jam Porpentine ran. Steve Meretzky and Brian Moriarty appear, but not Michael Lutz or Tom McHenry or A. DeNiro or Caelyn Sandel or Dietrich Squinkifer, nor Michael Joyce or Shelley Jackson or other luminaries from the literary hypertext tradition either. The book has early and prominent chapters about how to design puzzles, inventory, and a room layout; fonts, text transitions, and CSS effects come quite a bit later, despite being much more common than inventory systems in practice. The section on genres starts with a helpful definition of the word “genre,” then runs through bite-sized descriptions of some common fiction genres — rather than, say, trying to describe the range of genres represented in current Twine fiction. The section on story structure explains terms such as “climax” and “exposition” from scratch, assuming essentially no writing-workshop-style experience from the reader.

This writing style, along with the tendency to draw examples from Narnia and Harry Potter, suggests that the author intends the book to be accessible to younger users as well as adults. It would probably be a bit over the head of most young children, but I could picture a motivated tween handling it just fine. Possibly that accounts for a decision not to explore much of the most innovative content for which Twine has been used. If you’ve read Videogames for Humans, almost none of what you saw there is replicated or even mentioned in this book.

Continue reading “Writing Interactive Fiction With Twine (Melissa Ford)”

Mark Bernstein on Hypertext Narrative

Literary hypertext has a long history that isn’t always well understood or well acknowledged by interactive fiction authors, even though with the growing popularity of Twine and other hypertext tools, the techniques are more than ever relevant to us.

Storyspace3Map.jpg

Recently Eastgate released Storyspace 3, a new version of software used to produce many canonical works of literary hypertext; and, to accompany it, their chief scientist Mark Bernstein wrote a book, Getting Started with Hypertext Narrative, in which he discusses the challenges and the craft of writing in this form.

Whether or not you are interested in using Storyspace or writing literary hypertext, the book is worth reading, not least because it offers terminology and insights from a body of work IF authors seldom study.

In the exchange below, Mark and I discuss various sections of his book, together with other relevant tools in the space. We find some common structures and implementation strategies that cross over from one tradition to the other, and notice that Storyspace 3 might be a viable alternative to StoryNexus for people who want to experiment with quality-based narrative structures but don’t want StoryNexus’ art requirements or styling: what Mark describes as “sculptural hypertext” shares a lot in common with QBN.

All blockquotes are from the text of Getting Started with Hypertext Narrative: I sent these to Mark with my comments, and in some cases he had thoughts in response, so this is actually sort of a three-cornered conversation between the book, the author, and me. Thanks to Mark for supplying the text and taking the time to answer, and also for his patience with how long it took me to bring this together.

Continue reading “Mark Bernstein on Hypertext Narrative”

Notes on New and experimental IF Tools

Last night the Oxford/London IF Meetup had a session on three tools, and I promised to write up some notes for the benefit of the people who weren’t able to attend.

inkle’s ink, the open-source, Unity-compatible language used by inkle for 80 Days and other projects. If you’re curious about ink and missed the session, there’s always Joe Humfrey’s GDC talk on the subject; but Jon also talked to us about The Intercept, the new free and open source ink/Unity game.

Screen Shot 2016-04-27 at 12.37.02 PM

Jon was a bit apologetic about the fact that there is currently no specialist ink runner, meaning that if you want to create (say) an ink entry to IF Comp, you will need to use Unity to build standalone apps. But to me, this is also partly a selling point, in the sense that ink is designed to build custom, professional-looking apps and doesn’t constrain the author to something a bit bland.

Doing this doesn’t have to mean figuring everything out from scratch. What I hadn’t realized about The Intercept until that conversation — and it’s very useful to know — is that the whole Unity project is open-source, not just the ink script that goes into the game. This means that if you want to build an ink/Unity game of your own but you have very little Unity experience, you could download the whole thing and then copy or gradually adapt The Intercept‘s look and feel. (Also worth saying: a personal Unity license is free if you’re not making significant money from your projects.)

Edited to add: on Twitter, I learned about the existence of Blot, a rough and ready alternative Unity project using ink that has fewer genre-specific features than The Intercept. So you have options, even!

Personally I’ve found working with an existing Unity project to mod it into something of my own to be a great route into learning how Unity works, because it means I don’t have to tackle understanding every type of asset at once. So if you’re in the same boat, that might be a way to get an ink game functioning, and then later you could start to figure out things like changing the fonts and presentation. (If you want to! Because it’s open source, you could just keep the way it looks, too.)

Indeed, you may want to play The Intercept even if you have no interest in using ink yourself: it is a short piece, short enough to play through (if not necessarily win) in 5-10 minutes, and it makes interesting use of the conversational options, as in the above example. Especially early in the game, we’re offered the chance to lie without really knowing ourselves what the truth is; and I found myself hesitating over whether I wanted to take the course that seemed safest or whether I wanted to steer towards the option that might reveal most about the story. Did I trust the protagonist, or not?

Continue reading “Notes on New and experimental IF Tools”