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 texturewriter.com. (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.

IFDB statistics, part 2: Development systems

Click here to read all posts from the IFDB statistics series.

When we talk about development systems in IFDB, it’s good to remember that some systems have better coverage than others. Parallel communities like Quest (201 games in its own site, 26 in IFDB), non-parser systems and the AIF crowd are underrepresented. Another factor that skews statistics is that game listings tend to display the system in which the game is available now—for example Scott Adams adventures are listed as Inform 6 games because the downloads are for the Inform ports.

In the all-time popularity chart Inform 6 is the clear leader: a quarter of all games have been made with it. Inform 6 and 7 together cover more than a third of all games.

The chart for current (2010-2012) systems is a bit different. Inform 7 has risen to dominate the field with the market share of two thirds. Inform 6 has dropped significantly and all other systems are in the margins. Does this mean that the field has become less diverse or that IFDB has not kept up with new systems?

The Commercial Era

I’ve split the statistics in two eras: the commercial era (before 1994) and the hobbyist era (from 1994 on). 1994 marks the beginning of a renaissance—IF died commercially but at the same time the publication of Inform practically created the modern hobbyist scene.

Many of the commercial era games don’t have the system marked down or have a suspicious “none” (were they written directly into machine code?) or a vague “custom”. The most popular system was Eamon, which was exclusively used to create stories in the Eamon game world. The Quill was almost as popular, although the Wikipedia article says there were more than 450 commercial The Quill games (203 listed in IFDB) which would make it more popular than Eamon.

The large number of Inform 6 games is because of ports, as mentioned above.

Looking at the numbers by year, Eamon reaches quickly its highest point in mid-80s and declines from there more or less steadily. The Quill and AGT have a more steady growth all the way to the 90s. As you might imagine, BASICs popularity drops quickly after dedicated development systems become available.

Here’s the same chart but with percentages from the total number of games: the vertical thickness of the area denotes more games in relation to other systems, the full height being 100%. The data in this chart goes up to 1998 so that we see how all the “old” systems drop practically to zero in popularity by then.

The Hobbyist Era

In the mid-90s the playfield changes completely. TADS, Inform, ADRIFT and other systems are released and especially Inform gains popularity.

Inform’s domination is apparent in the percentual view. TADS 2 has steady popularity until the turn of the millennium when it begins a downward slope. TADS 3 gains a small foothold but never grows very much. Hugo has seen a small resurrection lately, mostly thanks to a small but active group.

Inform

After Inform 6 was released, it rose to cover almost half of all published games in only two years. The same happened when Inform 7 was released: in a few years it took the lead, eating mostly Inform 6’s popularity.

This year only a handful of Inform 6 games have been released and Inform is at almost 70%.

The question is: has Inform 7 attracted people into IF who would otherwise not have done so, or would people who now use Inform 7 started to use something else if it had never been released? Surely there are people in both groups, but the graph above suggests that Inform 7 is eating away the Inform 6 userbase, not others. The “everything else” line does not seem to have any correlation with the Inform 7 line.

TADS

TADS 2 was at its height in 1999 when 27% of all games were written using it. Another peak was in 2002 after TADS 3 was released, but since then their popularity has been on a steady downward curve.

Again, the statistics show no correlation between Inform and TADS. Peaks in Inform’s popularity do not show anywhere in the TADS statistics. (You could argue that I7 might have cut short TADS 3’s slow climb between 2004 and 2008, but I very much doubt it.)

IFDB statistics, part 1: Publishing date

Click here to read all posts from the IFDB statistics series.

A few months back Mike Roberts, the curator of IFDB, together with Andrew Plotkin released the full IFDB database dump. This is certainly a great deed, since the IFDB is the most complete source of information about IF to date and there’s always a risk of data loss if the database is behind only one person. The database is an invaluable resource to (future) historians, researchers and people who love statistics.

And I do love statistics.

I’ve pulled a lot of interesting graphs from the database and will present them in a series of blog posts, of which this is the first one. We’ll start slow by looking at the games’ publishing dates and progress later to searching for more and more specific correlations.

It’s worth noting that while IFDB has a lot of information, it’s by no means comprehensive or 100% accurate. Therefore all this data reflects IFDB contents rather than the real world. How much the truth differs from the available data is open to discussion.

Click on the images to see the full data set, an interactive chart and chart display options. All available statistics can be seen collected on this page. More graphs are added as the series progresses.

You can also gladly suggest in the comments what kind of data you’d like to see analyzed.

Publishing date by year

There are 4173 games in the database, of which 4027 have a known publishing date. The graph for total number of games over time looks like this:

Total amount of games

More informative is the number of games published each year:

Games by year

You can see the “golden age” from mid-80s to early 90s, a small dip, and a steep rise starting soon after. I have no explanation for why there were so many releases in 2001–2003. In 2001 there were twice as many releases as in 2009.

In recent years the number of releases has varied between 115 (in 2009) and 173 (in 2010). There’s no discernible trend to either direction and there’s not enough data to make any predictions about the future. 2012 is not included in the graph but at the end of October there were 164 releases which is already more than in 2011 (153 releases).

Publishing month

Games published by month

This (and the next graph) is wildly inaccurate since about 70% of games have only the publishing year listed, not the exact date (which is why January 1st is excluded). Still, you see what you’d expect: IFComp games are released in October so it has the most releases and November is not a good time to release because the competition draws all the attention.

Publishing weekday

Publishing weekday

Games are released most often on Sunday and least often on Friday. Shouldn’t be a surprise that weekends are the most common release days as most games are hobbyist efforts.

Next time we’ll look at development system popularity.

Random IF reviews

After updating the IF Name Generator I went ahead and made an IF Review Generator that uses the name generator to make a title and mashes together sentences from IFDB reviews to create a new one. Just like the random names the reviews are mostly a jumbled mess, but occasionally it spits out a real gem.

The generated reviews are saved and can be retrieved with the same URL for sharing the best ones.

Starborn in Ramus

Felix Plesoianu has ported Starborn to his hypertext system Ramus, which resembles Undum quite a bit but has a lower barrier of entry for the author (with the cost of fewer features). The story can be read here.

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.

IF Recorder version 3

The tool formerly known as “Transcript recording plugin for Parchment” has been successfully used as a betatester transcript recorder with at least one game, and even in the currently running IFComp. Thanks to liberal version numbering scheme it has now reached version 3 and has been renamed IF Recorder.

Here are the major new features:

  • Works with Undum. Now someone might wonder why anyone would want to record hypertext fiction stories, but even if there’s less need to check what kind of input readers give, other reasons still apply: you might want to get statistical data on which choices the readers make, or see if the readers give up at some certain point in the story, or even find out if some of the choices just don’t work as they should.
  • Web interpreter template for Inform 7. There’s a ready-made Inform 7 template to use with the “Release along with an interpreter” option. This makes it easier to start using the recorder although you still have to set up the database and the server scripts.

The project’s new headquarters are at Github along with the instructions and downloads.

More Undum examples

Here’s two more small Undum examples, with commented source code. They use slightly more advanced techniques than the previous one.

Monty Hall Paradox

An implementation of the Monty Hall paradox, this example lets the player guess which door holds the best prize in a game show. The correct door is randomized and the story text changes according to the player’s choices. The player is asked to give their name before the story begins and the name is later used in the story text.

Combat

A simple randomized combat system. The player character and NPCs are given attributes and combat is resolved by throwing dice. The player has health potions that restore hit points.

Transcript recording plugin for Parchment released

As promised, the transcript recording plugin for Parchment has now been published. As the player is playing the game, the plugin sends the transcript to the server where it’s saved to a database. The author can then later view the saved transcripts or use the information in the database to calculate statistics.

The plugin saves more than just plain text: it preserves text formatting and saves status lines as well, so the transcripts look (almost) the same as the actual game. (See this example of Bronze with status lines, colors and text formatting. Note that Parchment uses small caps in place of bold text.) The saved transcripts can be viewed with or without the status lines. In addition when the game waits for a single keypress, non-alphabet characters like enter, space and arrow keys are marked in the transcript.

There’s a live demo with a transcript viewer available. Games played in the demo installation can be seen in the viewer.

The plugin and accompanying tools can be downloaded from Google Code where you’ll also find installation instructions. Only Z-machine is supported at the moment, Glulx support will be added later.

Starborn statistics follow-up

Earlier I posted some statistics from transcripts collected from online plays of Starborn. Based on those statistics I released a new version at the end of January, mainly adding synonyms based on the most common typos players had made.

Looking at the data from before and after the update, here’s what happened to the total amount of invalid commands:

Continue reading “Starborn statistics follow-up”