Twinebook – Printable Interactive Fiction

Update: I’ve ceased hosting a public version of this project, but you can still check out the source code and run it for yourself.

Twine 2 is a popular tool for making hypertext interactive fiction, but there’s something about physical printed “choose your own adventure”-style gamebooks that isn’t quite replicated when you’re playing on the Web. Maybe it’s the experience of keeping your finger in a page break to facilitate a “save point” for when you inevitably have to backtrack and try again?

Annabe enjoying Choose Your Own (Minecraft) Story books.
These are the first branching novels I’ve introduced her to for which she’s felt the need to take notes.

As a medium for interactive adventures, paper isn’t dead! Our 7-year-old is currently tackling the second part of a series of books by John Diary, the latest part of which was only published in December! But I worry that authors of printed interactive fiction might have a harder time than those producing hypertext versions. Keeping track of all of your cross-references and routes is harder than writing linear fiction, and in the hypertext

Hand-written note showing branching path story plan, from John Diary's Twitter.
John Diary tweeted about his process back in 2017 and it looks… more manual than I’d want.

Twinebook

So I’ve thrown together Twinebook, an experimental/prototype tool which aims to bring the feature-rich toolset of Twine to authors of paper-based interactive fiction. Simply: you upload your compiled Twine HTML to Twinebook and it gives you a printable PDF file, replacing the hyperlinks with references in the style of “turn to 27” to instruct the player where to go next. By default, the passages are all scrambled to keep it interesting, but with the starting passage in position 1… but it’s possible to override this for specific passages to facilitate puzzles that require flipping to specific numbered passages.

Thumb in the page of a Sorcery choose-your-own-adventure gamebook.
In some adventure games, keeping your thumb in the page feels like it’s essential.

Obviously, it doesn’t work with any kind of “advanced” Twine game – anything that makes use of variables, Javascript, etc., for example! – unless you can think of a way to translate these into the written word… which is certainly possible – see Fighting Fantasy‘s skill, stamina, luck and dice-rolling mechanics, for example! – but whether it’s desirable is up to individual authors.

If this tool is valuable to anybody, that’s great! Naturally I’ve open-sourced the whole thing so others can expand on it if they like. If you find it useful, let me know.

Twine screenshot showing many branching paths of the game "Inpatient".
Mapping a complex piece of interactive fiction is a job for a computer, not a human.

If you’re interested in the possibility of using Twine to streamline the production of printable interactive fiction, give my Twinebook prototype a try and let me know what you think.

× × ×

The Ballad of John Crawford

Following the success of our last game of Dialect the previous month and once again in a one-week hiatus of our usual Friday Dungeons & Dragons game, I hosted a second remote game of this strange “soft” RPG with linguistics and improv drama elements.

Thieves’ Cant

Our backdrop to this story was Portsmouth in 1834, where we were part of a group – the Gunwharf Ants – who worked as stevedores and made our living (on top of the abysmal wages for manual handling) through the criminal pursuit of “skimming a little off the top” of the bulk-break cargo we moved between ships and onto and off the canal. These stolen goods would be hidden in the basement of nearby pub The Duke of Wellington until they could be safely fenced, and this often-lucrative enterprise made us the envy of many of the docklands’ other criminal gangs.

I played Katie – “Kegs” to her friends – the proprietor of the Duke (since her husband’s death) and matriarch of the group. I was joined by Nuek (Alec), a Scandinavian friend with a wealth of criminal experience, John “Tuck” Crawford (Matt), adoptee of the gang and our aspiring quartermaster, and “Yellow” Mathias Hammond (Simon), a navy deserter who consistently delivers better than he expects to.

Thieves' Cant tableau at the end of a game of Dialect, with cards strewn around the table.
Our second tableau was somehow more-chaotic than the first, even after I accidentally removed several cards before taking this picture!

While each of us had our stories and some beautiful and hilarious moments, I felt that we all quickly converged on the idea that the principal storyline in our isolation was that of young Tuck. The first act was dominated by his efforts to proof himself to the gang, and – with a little snuff – shake off his reputation as the “kid” of the group and gain acceptance amongst his peers. His chance to prove himself with a caper aboard the Queen Anne went proper merry though after she turned up tin-ful and he found himself kept in a second-place position for years longer. Tuck – and Yellow – got proofed eventually, but the extra time spent living hand-to-mouth might have been what first planted the seed of charity in the young man’s head, and kept most of his numbers out of his pocket and into those of the families he supported in the St. Stevens area.

The second act turned political, as Spiky Dave, leader of the competing gang The Barbados Boys, based over Gosport way, offered a truce between the two rivals in exchange for sharing the manpower – and profits – of a big job against a ship from South Africa… with a case of diamonds aboard. Disagreements over the deal undermined Kegs’ authority over the Ants, but despite their March it went ahead anyway and the job was a success. Except… Spiky Dave kept more than his share of the loot, and agreed to share what was promised only in exchange for the surrender of the Ants and their territory to his gang’s rulership.

We returned to interpersonal drama in the third act as Katie – tired of the gang wars and feeling her age – took perhaps more than her fair share of the barrel (the gang’s shared social care fund) and bought herself clearance to leave aboard a ship to a beachside retirement in Jamaica. She gave up her stake in the future of the gang and shrugged off their challenges in exchange for a quiet life, leaving Nuek as the senior remaining leader of the group… but Tuck the owner of the Duke of Wellington. The gang split into those that integrated with their rivals and those that went their separate ways… and their curious pidgin dissolved with them. Well, except for a few terms which hung on in dockside gang chatter, screeched amongst the gulls of Portsmouth without knowing their significance, for years to come.

Crop from Fine View of 1798 The Gunwharf Portsmouth Dockyard by E G Burrows

Playing Out

Despite being fundamentally the same game and a similar setting to when we played The Outpost the previous month, this game felt very different. Dialect is versatile enough that it can be used to write… adventures, coming-of-age tales, rags-to-riches stories, a comedies, horror, romance… and unless the tone is explicitly set out at the start then it’ll (hopefully) settle somewhere mutually-acceptable to all of the players. But with a new game, new setting, and new players, it’s inevitable that a different kind of story will be told.

But more than that, the backdrop itself impacted on the tale we wove. On Mars, we were physically isolated from the rest of humankind and living in an environment in which the necessities of a new lifestyle and society necessitates new language. But the isolation of criminal gangs in Portsmouth docklands in the late Georgian era is a very different kind: it’s a partial isolation, imposed (where it is) by its members and to a lesser extent by the society around them. Which meant that while their language was still a defining aspect of their isolation, it also felt more-artificial; deliberately so, because those who developed it did so specifically in order to communicate surreptitiously… and, we discovered, to encode their group’s identity into their pidgin.

Prison Hulks in Portsmouth Harbour by Ambrose-Louis Garneray

While our first game of Dialect felt like the language lead the story, this second game felt more like the language and the story co-evolved but were mostly unrelated. That’s not necessarily a problem, and I think we all had fun, but it wasn’t what we expected. I’m glad this wasn’t our first experience of Dialect, because if it were I think it might have tainted our understanding of what the game can be.

As with The Outpost, we found that some of the concepts we came up with didn’t see much use: on Mars, the concept of fibs was rooted in a history of of how our medical records were linked to one another (for e.g. transplant compatibility), but aside from our shared understanding of the background of the word this storyline didn’t really come up. Similarly, in Thieves Cant’ we developed a background about the (vegan!) roots of our gang’s ethics, but it barely got used as more than conversational flavour. In both cases I’ve wondered, after the fact, whether a “flashback” scene framed from one of our prompts might have helped solidify the concept. But I’m also not sure whether or not such a thing would be necessary. We seemed to collectively latch onto a story hook – this time around, centred around Matt’s character John Crawford’s life and our influences on it – and it played out fine.

And hey; nobody died before the epilogue, this time!

I’m looking forward to another game next time we’re on a D&D break, or perhaps some other time.

× × ×

We Are The Martians

This week our usual Dungeons & Dragons group took a week off while our DM recovered from a long and tiring week. As a “filler”, I offered to facilitate a game of Dialect: A Game About Language and How It Dies, from Thorny Games, who I discovered through a Metafilter post about their latest free print-and-play game, Sign: A Game about Being Understood. Yes, all of their games about about language and communication; what of it?

Dialect

Dialect could be described as a rules-light, GM-less (it has a “facilitator” role, but they have no more authority than any player on anything), narrative-driven/storytelling roleplaying game based on the concept of isolated groups developing their own unique dialect and using the words they develop as a vehicle to tell their stories.

Dialect's rulebook and card deck.
It’s also super-pretty to leaf through and hold.

This might not be the kind of RPG that everybody likes to play – if you like your rules more-structured, for example, or you’re not a fan of “one-shot”/”beer and pretzels” gaming – but I was able to grab a subset of our usual roleplayers – Alec, Matt R, Penny, and I – and have a game (with thanks to Google Meet for videoconferencing and Roll20 for the virtual tabletop: I’d have used Foundry but its card support is still pretty terrible!).

The Outpost

A game of Dialect begins with a backdrop – what other games might call a scenario or adventure – to set the scene. We opted for The Outpost, which put the four of us among the first two thousand humans to colonise Mars, landing in 2045. With help from some prompts provided by the backdrop we expanded our situation in order to declare the “aspects” that would underpin our story, and then expand on these to gain a shared understanding of our world and society:

  • Refugees from plague: Our expedition left Earth to escape from a series of devastating plagues that were ravaging the planet, to try to get a fresh start on another world.
  • Hostile environment: Life on Mars is dominated by the ongoing struggle for sufficient food and water; we get by, but only thanks to ongoing effort and discipline and we lack some industries that we haven’t been able to bootstrap in the five years we’ve been here (we had originally thought that others would follow).
  • Functionalist, duty-driven society: The combination of these two factors led us to form a society based on supporting its own needs; somewhat short of a caste system, our culture is one of utilitarianism and unity.
Finished game board from The Outpost backdrop of our game of Dialect.
Our finished game board, or tableau.

It soon became apparent that communication with Earth had been severed, at least initially, from our end: radicals, seeing the successes of our new social and economic systems, wanted to cement our differences by severing ties with the old world. And so our society lives in a hub-and-spoke cave system beneath the Martian desert, self-sustaining except for the need to send rovers patrolling the surface to scout for and collect valuable surface minerals.

In this world, and prompted by our cards, we each developed a character. I was Jeramiah, the self-appointed “father” of the expedition and of this unusual new social order, who remembers the last disasters and wars of old Earth and has revolutionary plans for a better world here on Mars, based on controlled growth and a planned economy. Alec played Sandy – “Tyres” to their friends – a rover-driving explorer with one eye always on the horizon and fresh stories for the colony brought back from behind every new crater and mountain. Penny played Susie, acting not only as the senior medic to the expedition but something more: sort-of the “mechanic” of our people-driven underground machine, working to keep alive the genetic records we’d brought from Earth and keep them up-to-date as our society eventually grew, in order to prevent the same kinds of catastrophe happening here. “Picker” Ben was our artist, for even a functionalist society needs somebody to record its stories, celebrate its accomplishments, and inspire its people. It’s possible that the existence of his position was Jeramiah’s doing: the two share a respect for the stark, barren, undeveloped beauty of the Martian surface.

We developed our language using prompt cards, improvised dialogue, and the needs of our society. But the decades that followed brought great change. More probes began to land from Earth, more sophisticated than the ones that had delivered us here. They brought automated terraforming equipment, great machines that began to transform Mars from a barren wasteland into a place for humans to thrive. These changes fractured our society: there were those that saw opportunity in this change – a chance to go above ground and live in the sun, to expand across the planet, to make easier the struggle of our day-to-day lives. But others saw it as a threat: to our way of life, which had been shaped by our challenging environment; to our great social experiment, which could be ruined by the promise of an excessive lifestyle; to our independence, as these probes were clearly the harbingers of the long-promised second wave from Earth.

Even as new colonies were founded, the Martians of the Hub (the true Martians, who’d been here for yams time, lived and defibed here, not these tanning desert-dwellers that followed) resisted the change, but it was always going to be a losing battle. Jeramiah took his last breath in an environment suit atop a dusty Martian mountain a day’s drive from the Hub, watching the last of the nearby deserts that was still untouched by the new green plants that had begun to spread across the surface. He was with his friend Sandy, for despite all of the culture’s efforts to paint them as diametrically opposed leaders with different ideas of the future, they remained friends until the end. As the years went by and more and more colonists arrived, Sandy left for Phobos, always looking for a new horizon to explore. Sick of the growing number of people who couldn’t understand his language or his art, Ben pioneered an expedition to the far side of the planet where he lived alone, running a self-sustaining agri-home and exploring the hills until his dying day. We were never sure where Susie ended up, but it wasn’t Mars: she’d talked about joining humanity’s next big jump, to the moons of Jupiter, so perhaps she’s out there on one of the colonies of Titan or Europa. Maybe, low clicks, she’s even keeping our language alive out there.

Retrospective

The whole event was a lot of fun and I’m keen to repeat it, perhaps with a different group and a different backdrop. The usual folks know who they are, but if you’re not one of those and you want in next time we play, drop me a message of some kind.

× ×

Banners Begone!

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

It’s a clicker quest of purging banners from your homepage!

Push through dozens of banners and upgrade various web-tools to grow your ad-blocking power.
Hone your clicking skills – matters are in your own fingers hands!

There’s no time for idling, show these ads their place!

I quite enjoyed this progressive game: it’s a little bit different than most, the theming is fun, it lends itself to multiple strategies, and it’s not geared towards making you wait for longer and longer intervals (as is common in this genre): there’s always something you can be doing to get closer to your goal.

You’ll need a mouse with left and right buttons.

×

Cheating Hangman

A long while ago, inspired by Nick Berry‘s analysis of optimal Hangman strategy, I worked it backwards to find the hardest words to guess when playing Hangman. This week, I showed these to my colleague Grace – who turns out to be a fan of word puzzles – and our conversation inspired me to go a little deeper. Is it possible, I thought, for me to make a Hangman game that cheats by changing the word it’s thinking of based on the guesses you make in order to make it as difficult as possible for you to win?

Play “Cheating Hangman”

The principle is this: every time the player picks a letter, but before declaring whether or not it’s found in the word –

  1. Make a list of all possible words that would fit into the boxes from the current game state.
  2. If there are lots of them, still, that’s fine: let the player’s guess go ahead.
  3. But if the player’s managing to narrow down the possibilities, attempt to change the word that they’re trying to guess! The new word must be:
    • Legitimate: it must still be the same length, have correctly-guessed letters in the same places, and contain no letters that have been declared to be incorrect guesses.
    • Harder: after resolving the player’s current guess, the number of possible words must be larger than the number of possible words that would have resulted otherwise.
Gallows on a hill.
Yeah, you’re screwed now.

You might think that this strategy would just involve changing the target word so that you can say “nope” to the player’s current guess. That happens a lot, but it’s not always the case: sometimes, it’ll mean changing to a different word in which the guessed letter also appears. Occasionally, it can even involve changing from a word in which the guessed letter didn’t appear to one in which it does: that is, giving the player a “freebie”. This may seem counterintuitive as a strategy, but it sometimes makes sense: if saying “yeah, there’s an E at the end” increases the number of possible words that it might be compared to saying “no, there are no Es” then this is the right move for a cheating hangman.

Playing against a cheating hangman also lends itself to devising new strategies as a player, too, although I haven’t yet looked deeply into this. But logically, it seems that the optimal strategy against a cheating hangman might involve making guesses that force the hangman to bisect the search space: knowing that they’re always going to adapt towards the largest set of candidate words, a perfect player might be able to make guesses to narrow down the possibilities as fast as possible, early on, only making guesses that they actually expect to be in the word later (before their guess limit runs out!).

Cheating Hangman
The game is brutally-difficult, but surprisingly fun, and you can have it tell you when and how it cheats so you can begin to understand its strategy.

I also find myself wondering how easily I could adapt this into a “helpful hangman”: a game which would always change the word that you’re trying to guess in order to try to make you win. This raises the possibility of a whole new game, “suicide hangman”, in which the player is trying to get themselves killed and so is trying to pick letters that can’t possibly be in the word and the hangman is trying to pick words in which those letters can be found, except where doing so makes it obvious which letters the player must avoid next. Maybe another day.

In the meantime, you’re welcome to go play the game (and let me know what you think, below!) and, if you’re of such an inclination, read the source code. I’ve used some seriously ugly techniques to make this work, including regular expression metaprogramming (using regular expressions to write regular expressions), but the code should broadly make sense if you want to adapt it. Have fun!

Play “Cheating Hangman”

Update 26 September 2019, 16:23: I’ve now added “helpful mode”, where the computer tries to cheat on your behalf rather than against you, but it’s not as helpful as you’d think because it assumes you’re playing optimally and have already memorised the dictionary!

Update 1 October 2019, 06:40: Now featured on MetaFilter; hi, MeFites!

×

Twee2 – Interactive Fiction Authoring for Geeks

There’s a wonderful tool for making web-based “choose your own adventure”-type games, called Twine. One of the best things about it is that it’s so accessible: if you wanted to, you could be underway writing your first ever story with it in about 5 minutes from now, without installing anything at all, and when it was done you could publish it on the web and it would just work.

Screenshot of a Twine 2 story map
A “story map” in Twine 2. Easy interactive fiction writing for normal people.

But the problem with Twine is that, in its latest and best versions, you’re trapped into using the Twine IDE. The Twine IDE is an easy-to-use, highly visual, ‘drag-and-drop’ interface for making interactive stories. Which is probably great if you’re into IDEs or if you don’t “know better”… but for those of us who prefer to do our writing in a nice clean, empty text editor like Sublime or TextMate or to script/automate our builds, it’s just frustrating to lose access to the tools we love. Plus, highly-visual IDEs make it notoriously hard to collaborate with other authors on the same work without simply passing it back and forwards between you: unless they’ve been built with this goal in mind, you generally can’t have two people working in the same file at the same time.

Sublime Text demonstrating multi-line-selection.
Now THIS is what code editing should look like.

Earlier versions of Twine had a command-line tool called Twee that perfectly filled this gap. But the shiny new versions don’t. That’s where I came in.

In that way that people who know me are probably used to by now, I was very-slightly unsatisfied with one aspect of an otherwise fantastic product and decided that the correct course of action was to reimplement it myself. So that’s how, a few weeks ago, I came to release Twee2.

Twee2 logo
Twee2’s logo integrates the ‘branching’ design of Twine adventures with the ‘double-colon’ syntax of Twee.

If you’re interested in writing your own “Choose Your Own Adventure”-type interactive fiction, whether for the world or just for friends, but you find user-friendly IDEs like Twine limiting (or you just prefer a good old-fashioned text editor), then give Twee2 a go. I’ve written a simple 2-minute tutorial to get you started, it works on Windows, MacOS, Linux, and just-about everything else, and it’s completely open-source if you’d like to expand or change it yourself.

(there are further discussions about the concept and my tool on Reddit here, here, here and here, and on the Twinery forums herehere and here)

Get Twee2

× ×

Post-It Minesweeper

Remember Minesweeper? It’s probably been forever since you played, so go have a game online now. And there went your afternoon.

A game of Microsoft Minesweeper in progress.
This is actually a pretty tough move.

My geek-crush Ben Foxall posted on Twitter on Monday morning to share that he’d had a moment of fun nostalgia when he’d come into the office to discover that somebody in his team had covered his monitor with two layers of Post-It notes. The bottom layer contained numbers – and bombs! – to represent the result of a Minesweeper board, and the upper layer ‘covered’ them so that individual Post-Its could be removed to reveal what lay beneath. Awesome.

Ben Foxall discovers Post-It Minesweeper
Unlike most computerised implementations of Minesweeper, the first move isn’t guaranteed to be safe. Tread carefully…

Not to be outdone, I hunted around my office and found some mini-Post-Its. Being smaller meant that I could fit more of them onto a monitor and thus make a more-sophisticated (and more-challenging!) play space. But how to generate the board? Sure: I could do it by hand, but that doesn’t seem very elegant at all – plus, humans make really bad random number generators! I didn’t need quantum-tunnelling-seeded Minesweeper (yes, that’s a thing) levels of entropy, sure, but it’d still be nice to outsource the heavy lifting to a computer, right?

Screenshot of my Post-It Minesweeper board generator.
Yes, I’m quite aware of the irony of using a computer to generate a paper-based version of a computer game, why do you ask?

So naturally, I wrote a program to do it for me. Want to see? It’s at danq.me/minesweeper. Just line up some Post-Its on a co-worker’s monitor to work out how many you can fit across it in each dimension (I found that I could get 6 × 4 standard-sized Post-Its but 7 × 5 or even 8 × 5 mini-sized Post-Its very comfortably onto one of the typical widescreen monitors in my office), decide how many mines you want, and click Generate. Don’t like the board you get? Click it again!

Liz McCarthy tweets about her experience of being given a Post-It Minesweeper game to play.
I set up the first game on my colleague Liz’s computer, before she came in this morning.

And because I was looking for a fresh excuse to play with Periscope, I broadcast the first game I set up live to the Internet. In the end, 66 people ended up watching some or all of a paper-based game of Minesweeper played by my colleague Liz, including moments of cheering her on and, in one weird moment, despair at the revelation that she was married. The internet’s strange, yo.

Anyway: in case you missed the Periscope broadcast, I’ve put it on YouTube. Sorry about the portrait-orientation filming: I think it’s awful, too, but it’s a Periscope thing and I haven’t installed the new update that fixes it yet.

Now go set up a game of Post-It Minesweeper for a friend or co-worker.

× ×

The Hardest Hangman

What’s the hardest word to guess, when playing hangman? I’ll come back to that.

A game of hangman; D_N; wrong guesses are R, E, S, O, T and I.
Whatever could the missing letter be?

Last year, Nick Berry wrote a fantastic blog post about the optimal strategy for Hangman. He showed that the best guesses to make to get your first “hit” in a game of hangman are not the most-commonly occurring letters in written English, because these aren’t the most commonly-occurring letters in individual words. He also showed that the first guesses should be adjusted based on the length of the word (the most common letter in 5-letter words is ‘S’, but the most common letter in 6-letter words is ‘E’). In short: hangman’s a more-complex game than you probably thought it was! I’d like to take his work a step further, and work out which word is the hardest word: that is – assuming you’re playing an optimal strategy, what word takes the most-guesses?

A hanged man being quartered by his executioner.
The rules of hangman used to be a lot more brutal. Nowadays, very few people die as a result of the game.

First, though, we need to understand how hangman is perfectly played. Based on the assumption that the “executioner” player is choosing words randomly, and that no clue is given as to the nature of the word, we can determine the best possible move for all possible states of the game by using a data structure known as a tree. Suppose our opponent has chosen a three-letter word, and has drawn three dashes to indicate this. We know from Nick’s article that the best letter to guess is A. And then, if our guess is wrong, the next best letter to guess is E. But what if our first guess is right? Well, then we’ve got an “A” in one or more positions on the board, and we need to work out the next best move: it’s unlikely to be “E” – very few three-letter words have both an “A” and an “E” – and of course what letter we should guess next depends entirely on what positions the letters are in.

A tiny fragment of possible states for the tree of three-letter words, in hangman.
There are billions of possible states of game play, but you can narrow them down quickly with strategic guessing.

What we’re actually doing here is a filtering exercise: of all of the possible letters we could choose, we’re considering what possible results that could have. Then for each of those results, we’re considering what guesses we could make next, and so on. At each stage, we compare all of the possible moves to a dictionary of all possible words, and filter out all of the words it can’t be: after our first guess in the diagram above, if we guess “A” and the board now shows “_ A _”, then we know that of the 600+ three-letter words in the English language, we’re dealing with one of only about 134. We further refine our guess by playing the odds: of those words, more of them have a “C” in than any other letter, so that’s our second guess. If it has a C in, that limits the options further, and we can plan the next guess accordingly. If it doesn’t have a C in, that still provides us with valuable information: we’re now looking for a three-letter word with an A in the second position and no letter C: that cuts it down to 124 words (and our next guess should be ‘T’). This tree-based mechanism for working out the best moves is comparable to that used by other game-playing computers. Hangman is simple enough that it can be “solved” by contemporary computers (like draughts – solved in 2007 – but unlike chess: while modern chess-playing computers can beat humans, it’s still theoretically possible to build future computers that will beat today’s computers).

Pile of stones, and the text "the best word to choose in hangman is the word that your opponent will not guess"
Zen Hangman asks the really important questions. If a man has one guess left and refuses to pick a letter, does he live forever, or not at all?

Now that we can simulate the way that a perfect player would play against a truly-random executioner, we can use this to simulate games of hangman for every possible word (I’m using version 0.7 of this British-English dictionary). In other words, we set up two computer players: the first chooses a word from the dictionary, the second plays “perfectly” to try to guess the word, and we record how many guesses it took. So that’s what I did. Here’s the Ruby code I used. It’s heavily-commented and probably pretty understandable/good learning material, if you’re into that kind of thing. Or if you fancy optimising it, there’s plenty of scope for that too (I knocked it out on a lunch break; don’t expect too much!). Or you could use it as the basis to make a playable hangman game. Go wild.

The hardest three-letter hangman words: xxv, xxx, wiz, oak, vex, vox, aux, fox, yuk, www...
The hardest three-letter hangman words. “Sly” is particularly… well, sly.

Running the program, we can see that the hardest three-letter word is “xxv”, which would take 22 guesses (20 of them wrong!) to get. But aside from the roman numeral for 25, I don’t think that “xxv” is actually a word. Perhaps my dictionary’s not very good. “Oak”, though, is definitely a word, and at 20 guesses (17 wrong), it’s easily enough to hang your opponent no matter how many strokes it takes to complete the gallows.

The hardest four-letter hangman words: xxxv, quiz, jazz, zinc, faux, foxy, hazy, jibe, quay, buzz, gibe, guan, huge...
Interestingly, “oaks” is an easier word than “oak” (although it’s still very difficult): the addition of an extra letter to a word does not make it harder, especially when that letter is common.

There are more tougher words in the four-letter set, like the devious “quiz”, “jazz”, “zinc”, and “faux”. Pick one of those and your opponent – unless they’ve seen this blog post! – is incredibly unlikely to guess it before they’re swinging from a rope.

The hardest five, six, and seven-letter hangman words, including jazzy, quaff, foxed, foxing, queued, favour, vaquero, jazzier, quizzed...
“Hazing foxes, fucking cockily” is not only the title of a highly-inappropriate animated film, but also a series of very challenging Hangman words.

As we get into the 5, 6, and 7-letter words you’ll begin to notice a pattern: that the hardest words with any given number of letters get easier the longer they are. That’s kind of what you’d expect, I suppose: if there were a hypothetical word that contained every letter in the alphabet, then nobody would ever fail to (eventually) get it.

The hardest eight, nine, and ten-letter hangman words, including quizzing, puppyish, picklock, jazziness, pollywogs, cufflinks, humbuggery, juxtaposed, bucketfuls...
Some of the longer words are wonderful, like: dysprosium, semivowel, harrumph, and googolplex.

When we make a graph of each word length, showing which proportion of the words require a given number of “wrong” guesses (by an optimised player), we discover a “sweet spot” window in which we’ll find all of the words that an optimised player will always fail to guess (assuming that we permit up to 10 incorrect guesses before they’re disqualified). The window seems small for the number of times I remember seeing people actually lose at hangman, which implies to me that human players consistently play sub-optimally, and do not adequately counteract that failing by applying an equal level of “smart”, intuitive play (knowing one’s opponent and their vocabulary, looking for hints in the way the game is presented, etc.).

Graph showing the proportion of each word of a given length that take a given number of "wrong" guesses to optimally solve.
The “sweet spot” in the bottom right is the set of words which you would expect a perfect player to fail to guess, assuming that they’re given a limit of 10 “wrong” guesses.

In case you’re interested, then, here are the theoretically-hardest words to throw at your hangman opponent. While many of the words there feel like they would quite-rightly be difficult, others feel like they’d be easier than their ranking would imply: this is probably because they contain unusual numbers of vowels or vowels in unusual-but-telling positions, which humans (with their habit, inefficient under normal circumstances, of guessing an extended series of vowels to begin with) might be faster to guess than a computer.

Word Guesses taken “Wrong” guesses needed
quiz 24 20
jazz 22 19
jazzy 22 18
quaff 22 18
zinc 21 17
oak 20 17
vex 20 17
vox 20 17
foxing 22 16
foxed 21 16
queued 20 16
fuzzy 20 16
quay 20 16
pinup 20 16
fox 19 16
yuk 19 16
vaquero 22 15
jazzier 21 15
quizzed 21 15
hazing 21 15
favour 21 15
yoking 21 15
quays 20 15
quark 20 15
joked 20 15
guyed 20 15
foyer 20 15
bumph 20 15
huge 19 15
quip 19 15
gibe 19 15
rump 19 15
guan 19 15
quizzed 19 15
oaks 19 15
murk 19 15
fezzes 19 15
yuck 19 15
keno 19 15
kazoo 19 15
Download a longer list
(there’s plenty more which you’d expect to “win” with)

If you use this to give you an edge in your next game, let me know how it works out for you!

Update – 8 March 2019: fixed a broken link and improved the layout of the page.

× × × × × × × × ×

Movie Title Mash-Ups

I’ve got a new favourite game, this week: Movie Title Mash-Ups (with thanks to Cougar Town). Ruth and I sat up far too late last night, playing it. Here’s how you do it:

Cougar Town characters playing Penny Can.
Cougar Town characters playing… no, wait… this is that OTHER game they play.

Movie Title Mash-Ups

Take two movie titles which share a word (or several words, or just a syllable) at the end of one and at the beginning of the other. Shmoosh them together into a combined movie title, then describe the plot of that movie in a single sentence by borrowing elements from both component movies. See if anybody can guess what your mash-up movies were.

Here are some examples. The answers are ROT13-encoded, but if you’re reading this post directly on my blog, you can click on each of them to decode them (once you’ve given up!).

Zombies claw their way out of a graveyard, and Batman spends most of the film hiding in the attic.
Gur Qnex Xavtug bs gur Yvivat Qrnq

While trapped in an elevator at the end of October, a superficial man is hypnotised into murdering a bunch of high-school students with knife.
Funyybj Unyybjrra

A crazy professor and a kid travel back in time in a souped-up car, where local bully Biff cuts off the kid’s hand and tells him he’s his father.
Gur Rzcver Fgevxrf Onpx gb gur Shgher

Bill Murray has to live the same day over and over, until he can survive the zombie apocalypse by escaping to an island.
Tebhaqubt Qnl bs gur Qrnq

A pair of alcoholic, out-of-work actors stay at the countryside house of a Monty, dangerous robot who has learned to override his programming.
Jvguanvy naq V, Ebobg

An evil genie who maliciously manipulates words and misinterprets wishes opens a portal between Eternia and Earth, which He-Man and Skeletor come through.
Jvfuznfgref bs gur Havirefr

A bunch of outlawed vigilante superheroes fight shapeshifters and werewolves as they investigate a mystical curse which threatens to shatter the fragile cease-fire between Dark and Light forces in Russia.
Avtug Jngpuzra

Harrison Ford and Michelle Pfeiffer hold a seance to communicate with subterranean humans who worship a giant bomb.
Jung Yvrf Orarngu gur Cynarg bs gur Ncrf

A lion cub born to a royal family grows up, climbs the Empire State Building, and fights aeroplanes.
Gur Yvba Xvat Xbat

James Bond is sent to investigate the murder of three British MI6 agents, who turn out to have been killed using a military satellite that concentrates the sun’s rays into a powerful laser. (hint: both films are James Bond films)
Yvir naq Yrg Qvr Nabgure Qnl

Your turn!

So, what can you come up with?

×

Counterfeit Monkey

Earlier this year, I played Emily Short‘s new game, Counterfeit Monkey, and I’m pleased to say that it’s one of the best pieces of interactive fiction I’ve played in years. I’d highly recommend that you give it a go.

Counterfeit Monkey
Counterfeit Monkey is one of the best interactive fiction games I’ve played in years. And not just because I love puns.

What makes Counterfeit Monkey so great? Well, as you’d expect from an Emily Short game (think Bee, which I reviewed last year, Galatea, and Glass), it paints an engaging and compelling world which feels “bigger” than the fragments of it that you’re seeing: a real living environment in which you’re just another part of the story. The island of Anglophone Atlantis and the characters in it feel very real, and it’s easy to empathise with what’s going on (and the flexibility you have in your actions helps you to engage with what you’re doing). But that’s not what’s most-special about it.

A game of Counterfeit Monkey, underway.
I’m in a bar, presumably in need of a pint of apple. Apple? That’s not what I mean! Where’s my P-Remover when I need one…

What’s most-special about this remarkable game is the primary puzzle mechanic, and how expertly (not to mention seamlessly and completely) it’s been incorporated into the play experience. Over the course of the game, you’ll find yourself equipped with a number of remarkable tools that change the nature of game objects by adding, removing, changing, re-arranging or restoring their letters, or combining their names with the names of other objects: sort of a “Scrabble® set for real life”.

Brought your pet abroad? Consider linguistic realignment therapy. Even a domesticated cat can give birth to chatons. (A public service announcement by the Bureau of Orthography)
Wise words from the Bureau of Orthography.

You start the game in possession of a full-alphabet letter-remover, which lets you remove a particular letter from any word – so you can, for example, change a pine into a pin by “e-removing” it, or you can change a caper into a cape by “r-removing” it (you could go on and “c-remove” it into an ape if only your starting toolset hadn’t been factory-limited to prevent the creation of animate objects).

Dental Consonants Ltd. - what we can't do isn't worth doing. Absolutely no palatials or labials, guaranteed.
Poster for Dental Consonants Ltd. Get your consonants here!

This mechanic, coupled with a doubtless monumental amount of effort on Emily’s part, makes Counterfeit Monkey have perhaps the largest collection of potential carryable objects of any interactive fiction game ever written. Towards the end of the game, when your toolset is larger, there feels like an infinite number of possible linguistic permutations for your copious inventory… and repeatedly, I found that no matter what I thought of, the author had thought of it first and written a full and complete description of the result (and yes, I did try running almost everything I’d picked up, and several things I’d created, through the almost-useless “Ümlaut Punch”, once I’d found it).

Atlantida
Atlantida, nominal ruler of Anglophone Atlantis.

I can’t say too much more without spoiling one of the best pieces of interactive fiction I’ve ever played. If you’ve never played a text-based adventure before, and want a gentler introduction, you might like to go try something more conventional (but still great) like Photopia (very short, very gentle: my review) or Blue Lacuna (massive, reasonably gentle: my review) first. But if you’re ready for the awesome that is Counterfeit Monkey, then here’s what you need to do:

How to play Counterfeit Monkey

  1. Install a Glulx interpreter.
    I recommend Gargoyle, which provides beautiful font rendering and supports loads of formats. Note that Gargoyle’s UNDO command will not work in Counterfeit Monkey, for technical reasons (but this shouldn’t matter much so long as you SAVE at regular intervals).
    Download for Windows, for Mac, or for other systems.
  1. Download Counterfeit Monkey
    Get Counterfeit Monkey‘s “story file” and open it using your Glulx interpreter (e.g. Gargoyle).
    Download it here.

(alternatively, you can use experimental technology to play the game in your web browser: it’ll take a long time to load, though, and you’ll be missing some of the fun optional features, so I wouldn’t recommend it over the “proper” approach above)

× × × ×

Fetch Quest

Commissioned, a webcomic I’ve been reading for many years now, recently made a couple of observations on the nature of “fetch quests” in contemporary computer role-playing games. And naturally – because my brain works that way – I ended up taking this thought way beyond its natural conclusion.

Today’s children are presumably being saturated with “fetch quests” in RPGs all across the spectrum from fantasy Skyrim-a-likes over to modern-day Grand Theft Auto clones and science fiction Mass Effect-style video games. And the little devil on my left shoulder asks me how this can be manipulated for fun and profit.

A typical fetch quest, taken to an illogical extreme. It's only a matter of time until you see this in a video game.

The traditional “fetch quest” goes as follows: I’ll give you what you need (the sword that can kill the monster, the job that you need to impress your gang, the name of the star that the invasion fleet are orbiting, or whatever), in exchange for you doing a delivery for me. Either I want you to take something somewhere, or I want you to pick something up, or – in the most overused and thankfully falling out of fashion example – I want you to bring me X number of Y object… 9 shards of triforce, 5 orc skulls, $10,000, or whatever. Needless to say, about 50% of the time there’ll be some kind of challenge along the way (you need to steal the item from a locked safe, you’ll be offered a bribe to “lose” the item, or perhaps you’ll just be mobbed by ninja robots as you ride along on your hypercycle), which is probably for the best because it’s the only thing that adds fun to role-playing a postman. I wonder if being attacked by mage princes is something that real-life couriers dream about?

This really doesn’t tally with normality. When you want something in the real world, you pay for it, or you don’t get it. But somehow in computer RPGs – even ones which allegedly try to model the real world – you’ll find yourself acting as an over-armed deliveryman every ten to fifteen minutes. And who wants to be a Level 38 Dark Elf Florist and Dog Walker?

YAFQ.

So perhaps… just perhaps… this will begin to shape the future of our reality. If the children of today start to see the “fetch quest” as a perfectly normal way to introduce yourself to somebody, then maybe someday it will be socially acceptable.

I’m going to try it. The next time that somebody significantly younger than me looks impatient in the queue for the self-service checkouts at Tesco, I’m going to offer to let them go in front of me… but only if they can bring me a tin of sweetcorn! “I can’t go myself, you see,” I’ll say, “Because I need to hold my place in the queue!” A tin of sweetcorn may not be as impressive-sounding as, say, the Staff of Fire Elemental Control, but it gets the job done. And it’s one of your five-a-day, too.

Or when somebody asks me for help fixing their broken website, I’ll say “Okay, I’ll help; but you have to do something for me. Bring me the bodies of five doughnuts, to prove yourself worthy of my assistance.”

It’s going to be a big thing, I promise.

× ×

Video Games I Have Been Playing – Part Two

Last week, I wrote about two of the big-name video games I’ve been playing since I suddenly discovered a window of free time in my life, again. Today, I’d like to tell you about some of the smaller independent titles that have captured my interest:

Minecraft

A well-developed Minecraft city port, on the edge of a sprawling and mountainous landmass.

I’d love to be able to say that I was playing Minecraft before it was cool, and I have been playing it since Infdev, which came before the Alpha version. But Minecraft was always cool.

Suppose you’ve been living on another planet all year and so you haven’t heard of Minecraft. Here’s what you need to know: it’s a game, and it’s also a software toy, depending on how you choose to play it. Assuming you’re not playing in “creative mode” (which is a whole other story), then it’s a first-person game of exploration, resource gathering and management, construction, combat, and (if you’re paying multiplayer, which is completely optional) cooperation.

Your character is plunged at dawn into a landscape of rolling (well, stepped) hills, oceans, tundra, and deserts, with infinite blocks extending in every direction. It’s a reasonably safe place during the daytime, but at night zombies and skeletons and giant spiders roam the land, so your first task is to build a shelter. Wood or earth are common starting materials; stone if you’ve got time to start a mine; bricks later on if you’ve got clay close to hand; but seriously: you go build your house out of anything you’d like. Then begins your adventure: explore, mine, and find resources with which to build better tools, and unlock the mysteries of the world (and the worlds beyond). And if you get stuck, just remember that Minecraft backwards is the same as Skyrim forwards.

Parts of it remind me of NetHack, which is one of the computer games that consumed my life: the open world, the randomly-generated terrain, and the scope of the experience put me in mind of this classic Rougelike. Also perhaps Dwarf Fortress or Dungeon Keeper: there’s plenty of opportunities for mining, construction, trap-making, and defensive structures, as well as for subterranean exploration. There are obvious similarities to Terraria, too.

I think that there’s something for everybody in Minecraft, although the learning curve might be steeper than some players are used to.

Limbo

This is not a game for those with a fear of spiders.

I first heard about Limbo when it appeared on the XBox last year, because it got a lot of press at the time for it’s dark stylistic imagery and “trial and death” style. But, of course, the developers had done a deal with the devil and made it an XBox-only release to begin with, putting off the versions for other consoles and desktop computers until 2011.

But now it’s out, as Paul was keen to advise me, and it’s awesome. You’ll die – a lot – when you play it, but the game auto-saves quietly at very-frequent strategic points, so it’s easy to “just keep playing” (a little like the equally-fabulous Super Meat Boy), but the real charm in this game comes from the sharp contrast between the light, simple platformer interface and the dark, oppressive environment of the levels. Truly, it’s the stuff that nightmares are made of, and it’s beautiful.

While at first it feels a little simplistic (how often nowadays do you get a game whose controls consist of the classic four-button “left”, “right”, “climb/jump”, and “action” options?), the game actually uses these controls to great effect. Sure, you’ll spend a fair amount of time just running to the right, in old-school platformer style, but all the while you’ll be getting drawn in to the shady world of the game, set on-edge by its atmospheric and gloomy soundtrack. And then, suddenly, right when you least expect it: snap!, and you’re dead again.

The puzzles are pretty good: they’re sometimes a little easy, but that’s better in a game like this than ones which might otherwise put you off having “one more go” at a level. There’s a good deal of variety in the puzzle types, stretching the interface as far as it will go. I’ve not quite finished it yet, but I certainly will: it’s a lot of fun, and it’s a nice bit of “lightweight” gaming for those 5-minute gaps between tasks that I seem to find so many of.

Blue Lacuna

Those with limited capacity for imagination should be aware that this is not an in-game screenshot. An in-game screenshot would consist pretty-much of just text.

I know, I know… as an interactive fiction geek I really should have gotten around to finishing Blue Lacuna sooner. I first played it a few years ago, when it was released, but it was only recently that I found time to pick it up again and play it to, well, it’s logical conclusion.

What do you need to know to enjoy this game? Well: firstly, that it’s free. As in: really free – you don’t have to pay to get it, and anybody can download the complete source code (I’d recommend finishing the game first, because the source code is, of course, spoiler-heavy!) under a Creative Commons license and learn from or adapt it themselves. That’s pretty awesome, and something we don’t see enough of.

Secondly, it’s a text-based adventure. I’ve recommended a few of these before, because I’m a big fan of the medium. This one’s less-challenging for beginners than some that I’ve recommended: it uses an unusual user interface feature that the developer calls Wayfaring, to make it easy and intuitive to dive in. There isn’t an inventory (at least, not in the conventional adventure game sense – although there is one optional exception to this), and most players won’t feel the need to make a map (although keeping notes is advisable!). All-in-all, so far it just sounds like a modern, accessible piece of interactive fiction.

But what makes this particular piece so special is it’s sheer size and scope. The world of the game is nothing short of epic, and more-than almost any text-based game I’ve played before, it feels alive: it’s as much fun to explore the world as it is to advance the story. The “simplified” interface (as described above) initially feels a little limiting to an experienced IFer like myself, but that quickly gives way as you realise how many other factors (other than what you’re carrying) can be used to solve problems. Time of day, tides, weather, who you’ve spoken to and about what, where you’ve been, when you last slept and what you dreamed about… all of these things can be factors in the way that your character experiences the world in Blue Lacuna, and it leads to an incredibly deep experience.

It describes itself as being an explorable story in the tradition of interactive fiction and text adventures… a novel about discovery, loss, and choice.. a game about words and emotions, not guns. And that’s exactly right.

It’s available for MacOS, Windows, Linux, and just about every other platform, and you should totally give it a go.

× × ×

Video Games I Have Been Playing – Part One

As I previously indicated, I’ve recently found myself with a little free videogaming time, and I thought I’d share some of the things that have occupied my time, over the course of two blog posts:

Skyrim

Ava, a level 38 Dark Elf Florist and Dog-Walker, glad that he's wearing thermal underwear beneath his dragonscale armour.

Well; here’s the big one. This game eats time for breakfast. It’s like World Of Warcraft for people who don’t have friends. No, wait…

Seriously, though, Bethesda have really kicked arse with this one. I only played a little of the earlier games in the series, because they didn’t “click” with me (although I thoroughly enjoyed the entire Fallout series), but Skyrim goes a whole extra mile. The game world feels truly epic and “living”: you don’t have to squint more than a little to get the illusion that the whole world would carry on without you, with people eating and sleeping and going to work and gossiping about all the dragon attacks. The plot is solid, the engine is beautiful, and there’s so much content that it’s simply impossible to feel that you’re taking it all in at once.

It’s not perfect. It’s been designed with console controls in mind, and it shows (the user interface for skills upgrades is clunky as hell, even when I tried it on my XBox controller). The AI still does some damn stupid things (not standing-and-talking-to-walls stupid, but still bad enough that your so-called “friends” will get in your way, fire area-effect weapons at enemies you’re meleeing with, and so on). Dragons are glitchy (the first time I beat an Elder Dragon it was mostly only because it landed in a river and got its head stuck underwater, like it was seeing how long it could hold it’s breath while I gradually sliced its tail into salami).

But it’s still a huge and beautiful game that’s paid for itself in the 55+ hours of entertainment it’s provided so far. Recommended.

Update: between first drafting and actually publishing this list, I’ve finished the main questline of Skyrim, which was fun. 85 hours and counting.

Modern Warfare 3

I was incredibly excited by the opportunity to fight my way through the London Underground, until I realised that the Tube in the game was designed by aliens rather than TfL.

I should confess, first, that I’m a Call Of Duty fanboy. Not one of the these modern CoD fanboys, who rack up kills in multiplayer matchups orchestrated by ability-ranking machines in server farms, shouting “noob” as they teabag one another’s corpses. I mean I’m a purist CoD fanboy. When I got my copy of the first Call Of Duty game, broadband was just beginning to take off, and games with both single-player and multiplayer aspects still had to sell themselves on the strength of the single-player aspects, because most of their users would only ever play it that way.

And the Call of Duty series has always had something that’s been rare in action-heavy first-person shooters: a plot. A good plot. A plot that you can actually get behind and care about. Okay, so we all know how the World War II ones end (spoiler: the allies win), and if you’ve seen Enemy At The Gates then you also know how every single Russian mission goes, too, but they’ve still got a fun story and they work hard to get you emotionally-invested. The first time I finished Call of Duty 2, I cried. And then I started over and shot another thousand Nazis, like I was some form of human tank.

Modern Warfare was fantastic, bringing the franchise (complete with Captain Price) right into the era of nuclear threats and international terrorism. Modern Warfare 2 built on this and took it even further, somehow having a final boss fight that surpassed even the excellence of its predecessor (“boss fights” being notoriously difficult to do well in first-person shooters inspired by the real world). Modern Warfare 3… well…

It was okay. As a fanboy, I loved the fact that they finally closed the story arc started by the two previous MW games (and did so in a beautiful way: I maintain that Yuri is my favourite character, simply because of the way his story is woven into the arc). The chemical weapon attacks weren’t quite so impressive as the nuclear bomb in MW2, and the final fight wasn’t quite as good as the previous ones, but they’re all “good enough”. The big disappointment was the length of the campaign. The game finished downloading and unlocked at 11pm, and by 4am I was tucked up in bed, having finished it in a single sitting. “Was that it?” I asked.

Recommendation: play it if you’re a fan and want to see how the story ends, or else wait until it’s on sale and play it then.

Part Two will come when I find time, along with some games that you’re less-likely to have come across already.

× ×

The Board Games Are Breeding

A a means to take a break from the code I was working on for half an hour (I’m doing some freelance work for SmartData in my spare time, since I left them to go and work for the Bodleian Library, in order to help wrap up a project that I was responsible for at the end of my time there), I decided to go downstairs and do some packing in anticipation of our upcoming house move.

The first four boxes full of board games.

I packed about four boxes worth of board games, and then stood back to take a look at the shelves… and damnit, they look just as full as they did before I started.

I swear that my board game collection must be breeding, somehow. “Perhaps that’s where expansion packs come from,” suggests Paul. Perhaps: but that wouldn’t manage to explain the optical illusion that makes it look like I’ve got four boxes full of games when in actual fact they’re all still on the shelves, unless they’re breeding as fast as I can pack them.

This might take a while.

×