Being brutally honest

I was writing a comment to The Many Authors of IFComp over at Sibyl Moon Games, but it became so long and slightly tangential that it's better to post a proper article instead.

Historically there have been several parser IF writing communities with partially overlapping members. The "main" community, originating from newsgroups before largely migrating to the web forum, makes up for the bulk of the high-profile activity and covers the most diverse collection of authoring tools. Smaller communities are usually focused around individual authoring systems (ADRIFT, Quest).

The approach these communities take to providing feedback to authors varies greatly. The main community used to be on the far end of the scale: "brutally honest" would probably describe it best. The community expects and rewards quality, and things that don't work are meticulously brought out in reviews.

On the other side of the scale there are communities that reward effort. No matter how bad the game is, you get cheers and pats on the back just for releasing it. Feedback, if any, is overwhelmingly positive. The community doesn't necessarily even expect that published games would be open for criticism.

The games produced by these two extremes are also very different. Communities that only reward effort produce a lot of games that are almost without exception, to be brutally honest, utter crap. This is because of two main reasons: Firstly, there is no incentive to spend time designing, polishing and testing your game because you'll still get the same reward in positive responses no matter what the quality of the result is. Secondly there is no peer pressure: when no-one expects high-quality games, there's no outside push to aim there.

The brutally honest camp produces less games but they're generally of better quality. There's a sieve that the authors are pushed through: all work undergoes close scrutiny. Authors who can't handle the criticism will drop out, but those who stay are less likely to repeat their mistakes and more likely learn from the feedback and keep improving. The peer expectation of game quality is generally high and the authors aim higher in the first place.

The downside of unchecked criticism is that, from the point of view of an individual author, the feedback can feel unnecessarily harsh. A novice author can easily give up if the feedback is crushing, which is understandable; when you do things as a hobby, you want to have a positive experience or you go do something else.

The challenge is to combine the better parts of the two extremes. How to not punish anyone for producing creative work but at the same time encourage high quality?

The trend is already moving in this direction: some reviewers (including me) post only reviews that are net positive and events like Spring Thing have non-judged categories. This is only a partial solution. Lack of feedback shields authors from negative feedback but also leaves them without means to improve.

It would be great to have some kind of mentoring system where experienced authors could help out newcomers to design and polish their games. The downside is that it's not mass-reproducible: it would require a lot of effort from the mentors and the ratio of newcomers to experts is too high for everyone to get a mentor.

How to make a great IntroComp entry

IntroComp 2015 logo It's IntroComp season again! IntroComp is one of the oldest active IF competitions, run yearly since 2002. The idea is to make a short intro that showcases a work-in-progress that will eventually be expanded into a full game. Competition judges are asked to rate the entries based on how much they would want to play the full version.

Here are some tips for competition participants on how to make the best of their entry.

Plan further than the intro

This is perhaps the most common sin of IntroComp entries: the author has not designed the game beyond the entry itself, which makes it hard to continue building the full version.

It would be wise to have the story and gameplay thought out at least twice as far as the actual intro, preferably all the way to the end, at least conceptually. This includes visioning what happens immediately after the intro ends and what is the overall story structure: the intro is the beginning but what happens in the middle and how the full story is resolved in the end. Otherwise there's a good change that the intro ends in a creative dead end with no easy way forward.

It's not hard to tell if an author has planned the story beyond the intro. Intros with short term design are often tightly self-contained and convey no feeling of there being something else beyond what you see. When the world and the general plot is well thought out, it's almost automatically visible in the resulting work. (See also a previous article discussing the subject.)

Start with the relevant story

Sometimes the word "intro" is taken too literally and the entry ends before the actual story even gets to start.

A fictitious example: Your story is a retelling of the 12 labors of Hercules. A good intro would contain the first labor to its completion; it would give a good indication of how the gameplay works and judges could easily imagine what the rest of the story would look like in its full version.

A bad intro would be about Hercules packing his backpack and a puzzle about finding a map for the location of the Nemean lion, and it would end just after reaching the entrance to the lion's cave. It would tell very little about what the game is actually like.

So cut off everything that's inconsequential to the big picture and start right from the action.

Make a proper ending...

Even though we're talking about introductions, it's still important that the entry reaches some kind of conclusion of its own. Sometimes that's easy to do when the story can be neatly divided into independent scenes (like in the 12 labors of Hercules example), but sometimes you'll have to work harder to find a good place to end the intro.

As a rough generalization you'd have one or two short term goals that are resolved during the intro while the overall goal is both left unresolved and made clear to the player.

...but leave some loose ends untied

This comes back to the "plan ahead" advice. Even though it's good to resolve a short term goal or two, there should be some kind of hook that makes the player want to continue playing the finished work.

A cliffhanger is a traditional way to end the intro, but it shouldn't be the only hook. As said before, the intro's purpose is to build expectations for the full version. It shouldn't be self-contained: leave room for future expansion. A couple of locked doors, interesting inventory items with reuse potential, references to NPCs not yet encountered. Anything that makes the player's imagination run wild.

Remember though that it's important that you as the author know where the loose ends are going – you can't just drop a locked door somewhere without knowing where it leads. Anything that serves a purpose usually comes across as such in the writing, whereas pointless scenery is often easy to spot.

Have the entry betatested

While technical issues are not explicitly in the judging criteria, bugs and spelling mistakes will reflect poorly on the entry. After all nobody wants to play a buggy game and the intro is taken as an indication of the finished entry's quality.

You don't need a whole army of testers, one or two should be sufficient for a short intro (although more is always better.) It's easier to find testers for IntroComp entries than for many other games because potential testers know that the game should be short and therefore doesn't require a huge time commitment. Testers can be recruited from the beta testing site or from the forum, among other places.

Remember that choice-based entries need testing too for things such as spelling, tone, and pacing.

Hugo online

Note: this interpreter has been superceded by HugoJS which is located at The links to the old interpreter automatically redirect to the new one.

I've set up an online interpreter for Hugo games. It's basically the same tech used by Internet Archive's online MS-DOS games collection: a JavaScript version of DOSbox running the DOS version of the text-only Hugo interpreter.

Hugo online interpreter screenshot

The major missing feature is the ability to save and restore games – or, more accurately, the saves aren't persistent between sessions. You can save and restore while playing the game but as soon as you close the browser window the saves are lost. There seem to be a couple of techniques available that might help so this is probably going to get fixed later.

The interpreter is at with a small library of games. For now you can only play the games that are pre-compiled for the interpreter. Later I'll add a feature to upload your own story files.

For people interested in Hugo innards or stuck with Hugo games I've also made a .hex story file parser that can extract just about anything there is to extract from a Hugo story file: Dictionary, text bank, objects, grammar, ... It can even output the Hugo bytecode in a (slightly more) readable format. The .hex parser is at

Comments are dead. Long live discussion!

From here on commenting on new posts is disabled and the following text is displayed after each post:

Comments? Start a discussion at the forums or tweet to @JuhanaIF!

If there's already a directly related thread on the forums the link points there instead of the main page.

The blog has seen generally three types of comments: discussion about the post topic, tangential comments about IF in general from people new to the community who might not know about the forums, and congratulatory "I like this" comments. And spam. A lot of spam.

Blog comments aren't really suitable for conversation. The system is built for individual comments, not for discussion threads. They attract spam and replying to other comments is cumbersome. Commenting on something that's more than a couple of days old guarantees that apart from the blog author only a handful of people will ever see the comment, and starting a discussion about a post that's several months old is pretty much always a dead end. Furthermore people participating in the conversation are unlikely to keep returning to that single post to see if their comment has generated any additional comments.

All in all it's better to direct discussion to someplace that's designed specifically for conversation, especially since the topics here are more likely than average to spark general discussion that works better with a wider audience.

As for the congratulations, they're always personally appreciated but don't really bring any extra value to the blog post itself. Twitter is the best way to send a quick and short personal message.

Best of 2014

Game of the Year: 80 Days

80 Days

Inkle's 80 Days is a steampunk retelling of Jules Verne's Around the World in Eighty Days. Phileas Fogg has placed a bet that he can circumnavigate the world in only 80 days. He sets off with his French valet Passepartout, first crossing the Channel in a submersible train and then continuing the journey in various mechanical contraptions.

What's impressive about 80 Days is that it has a "real" game mechanic in addition to the literary side, without compromising either. You can play it strategically and ignore the prose, or read it as a story and ignore the game, or anything in between. It's easy to see why it's been succesful with so many different types of players.

It is visually gorgeous, both in its illustrations and typography; the music evokes an atmosphere of travel and adventure. The writing is sublime and only becomes awkward in the segments with canned default responses. The gameplay suits mobile gaming perfectly: it's easy to pick up and play any duration at a time.

Apparently 80 Days started out as a small side project to their Sorcery! series but the scope soon got out ouf hand. As such it's also a testament to how small side projects can grow to become something truly great.

Game of the Year first runner-up: Hearthstone

Hearthstone card Archmage Antonidas

Measured by hours played this one would easily take the top spot of 2014. Hearthstone is a digital multiplayer trading card game in the style of Magic: The Gathering. The difference between Hearthstone and M:TG is that the latter is great fun played with physical cards but fails utterly as a computer game. Most of its gameplay consist of waiting for phase timers to run out which slows the tempo to a crawl.

Hearthstone however is free from baggage of the physical world. It's fast-paced and well balanced: the leveling system makes sure you always get opponents that are generally at your skill level.

Hearthstone's free-to-play system deserves a special mention. Winning matches earns you gold which you can use to buy additional cards, enter arena tournaments, and buy single-player campaigns. The prices are low enough that getting everything you need just by playing is feasible, there's no double economy where some things must be bought with special tokens that in practice cost real money, and those who do choose to spend real money aren't given an unfair edge over those who don't. People, this is how you do free-to-play right.

Game of the Year second runner-up: Hadean Lands


Andrew Plotkin's Hadean Lands is the result of a Kickstarter from five years ago. The style is unmistakably Plotkin; anyone who has enjoyed his previous games should feel right at home.

One of the more clever design decisions of Hadean Lands is how it manages to both include and subvert the difficulty level of Infocom-era IF. In the early days of adventure gaming a misstep could bring the game to a deadlock and the player was supposed to restart and replay several times to solve the puzzles. Hadean Lands also requires replaying but with "soft" restarts that keep information from previous playthroughs.

Book of the Year: S.

S. (photo credit: Casey Fiesler)

S. is written by Doug Dorst and J. J. Abrams, the latter being better known from his TV and movie work.

S. comes in a package that contains a book titled Ship of Theseus by "V. M. Straka". In the book's margins two college students have written correspondence to each other. In addition to these scribblings, between the pages there are newspaper clippings, letters, pages from notebooks, postcards and other "feelies". S. is not the book itself but the entirety of these three elements (the book, the footnotes and the feelies).

The "found footage" angle brings a whole new dimension to the reading experience. It's not possible to read S. like you would normally read a book (unless you purposefully ignore everything except the printed text of Ship of Theseus) which makes it kind of hard to place on the static <–> interactive continuum.

(Technically S. was published in 2013, but that's close enough.)

Movie of the Year: Interstellar

Interstellar poster

Interstellar is Christopher Nolan's sci-fi film about humanity's search of a new home when plant diseases are about to destroy Earth's capability to grow food.

Typical of Nolan's work the film takes one or two themes and builds everything else around them. What the theme is is always debatable but to me it was loneliness: personal loneliness and the loneliness of humans as a species. Also, a constantly recurring motif to look for: rotation and rotating things.

The movie is evocative and thought-provoking; I only wish that they had toned down the "power of love" angle a bit. In many ways it's the modern 2001: A Space Odyssey.

Blog of the Year: These Heterogenous Tasks

These Heterogenous Tasks

Sam Kabo Ashwell reviews various IF and almost-IF games at These Heterogenous Tasks.

The reviews are exceptional in that Sam not only reviews the games as they are but sees them in a wider perspective in game and narrative design. Often he uses the game in question only as a lens through which to inspect the bigger picture or a common trope in all game design.

This approach is both interesting to the reader and fair to the reviewed game. No-one and nothing exists in a vacuum, which is something that's easily forgotten. By placing the design decisions in context the discussion shifts away from picking on an individual designer's choices and towards a more general inspection of what works and what doesn't.

Competition of the Year: 20th Annual Interactive Fiction Competition

IFComp logo

The torch for organizing the Interactive Fiction Competition was passed to Jason McIntosh who not only took the responsibility but completely revised the web site and started to modernize the entire competition. The quantity and quality of entries went up and the event attracted a good amount of attention and reviews.

IFComp once eclipsed everything else that was happening in the IF world; now it's still the main event but the focus has evened out to other events and splinter communities. With the reformations taking place there's still a good chance that IFComp has value in the future as well.

Collaboration of the Year: ESA comet lander

Photo credit: ESA

The European Space Agency ESA's Rosetta spacecraft reached the comet 67P, and sent the Philae lander to its surface. Rosetta became the first spacecraft to orbit a comet, and Philae the first man-made object to land softly (as opposed to just crashing) on one.

While the mission is a technological marvel, it's also a collaboration of 20 European nations. That's 20 countries and cultures working together towards a common goal – an example to humanity that must ultimately learn to do the same in many other things.

The year 2014 saw some excellent content, the ones above and much more that could have been mentioned. Now we'll move on to 2015 and perhaps to even bigger and better things.

Introducing Texture

I've been working with Jim Munroe (Everybody Dies, Guilded Youth) on developing a new kind of text game authoring system. It's called Texture, and it debuted yesterday at the WordPlay Festival in Toronto.

Stories authored with Texture are structured like books. Each scene or node is one page that has about one screenful of text. On each page under the text are some verb boxes. Dragging and dropping the verbs on the text changes the story, resulting in a sort of e-book that mutates and evolves based on the reader's interaction.

The interface is designed for touchscreen devices. It's possible to play with a mouse but dragging the verbs with a finger is the more natural way of interaction.

The writing tool looks almost the same as the resulting story, with added authoring controls.

Texture writer

There's very little modal difference between the reader and the writer. You write the text on the page directly and create commands by first adding some verbs and then dragging them on nouns, just like you do when you're reading the story.

A prompt that lets the author choose how the command alters the story text

The writer's user interface steals borrows heavily from Twine 2 which I think does a lot of things right and having similar elements hopefully makes the interface easy to learn. The system itself is Jim's vision, my role is mostly on the implementation side.

When's it out, you ask? Right now! You can try the alpha version at (Disclaimer: early alpha. Not tested in IE, use Chrome or Firefox if possible. In Safari you need to save the page manually after clicking the "download" button. You may also need to try dragging the verbs twice before it responds to dropping the verb on words.)

The one major feature that's still missing is setting and reacting to flags, which would let you change the output based on earlier interaction. At the moment the system is basically stateless although not linear – you can branch the story by having different actions open different pages.

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.