During the last few days of an unexpectedly home-bound halfterm, I’ve been enjoying building the world of Steam Highwayman III. Juvenile gangs, powerful opponents and dangerous criminal allies have all slotted nicely into place. My graph is showing some tiny growth (after a long, long hiatus) and I’ve been able to share a few passage excerpts on Facebook.
But something also possessed me to reload some of the first pieces of Steam Highwayman I ever wrote. Well, specifically, I reinstalled Twine – the interactive fiction software I’ve used this year to collaborate with a game developer on an as-yet unreleased educational title. My current version was somewhat out of date and had stability issues – it kept crashing – and I expect to have to use it again next year.
The reinstalled program discovered some files I thought I had lost: old, unfinished (of course!) versions of what I have since called ‘Twine Highwayman’. I loaded them up and, though incomplete and missing some of the parts I remembered best (like the ability to rob any passing steam carriage and collect jewelry, or the procedural pub menu system), they still showcase some of the original ideas of the project. Some made it through into book format and others didn’t.
I wrote the programming behind Twine Highwayman in Autumn 2016, creating some really crunchy and idiosyncratic code in formats so inefficient and hard to understand that I have since lost the ability to read them. Nonetheless, the core of the game – for it is a game, not a book – still functions. Take a look, if you like.
It was playing Inkle’s 80 Days – something far beyond my ability to emulate – as well as the excellent Fabled Lands Application (since renamed Java Fabled Lands) that inspired me to give this a try. Considering I had zero previous experience of Twine, I don’t think I did badly. But it was the feature creep (a system for automating the weather… and the phase of the moon… and the mood of antagonists…) that killed the project and convinced me to limit my ambition to a good old, paper gamebook. I’d mimic Fabled Lands, that’s what I’d do. I’d keep it simple and achievable. I wouldn’t attempt to surpass my models, just to match them. I definitely wouldn’t write something 50% longer… Oh, well.
Breakthrough! I’ve rewritten my inventory system in Steam Highwayman to make something much, much more streamlined. Discovering that I was able to display a passage named after the nth string in an array, I’ve moved onto creating a passage for each generic object and giving the reader the opportunity to read about it whenever they open their inventory. The same passage, when displayed within a passage tagged “shop”, gives the option to sell that object.
I always wanted to have variation within the game’s prices, so objects fit into one of six or so categories, and shopkeepers and fences will offer you better prices on some of those categories – eg revolutionaries will give you more for weapons, engineers for tools, hungry people for food.
Now that I’m writing it down, it looks like a minor matter – but I assure you, it’s not!
I’ve also included a photo of a (glitchy) version of what I hope to display in your ‘legend’ section – a list of the deeds of the day and your past deeds. Simply because I’m pleased that it now registers when you have been attacked by a deer.
It’s been a good day astride the velosteam. I’ve created a 2-part mini quest that introduces you to one of my Factions, the Compact for Workers’ Equality. You’ll want to watch out for their posters in urban locations and their supporters in pubs everywhere…
And on the technical side, I’ve been using help on the twine forum to embed a map for the first time. This was one of the first things that I was asked for, so I’ve managed to get the first version embedded as Base64 encoding, whatever that is. It now sits in your inventory just above your pocket watch…
I’ve moved my demo from a separate demo-map into the top left corner of this ‘real’ bit of my old neck of the woods. The demo extends up towards Stokenchurch and beyond Christmas Common, which is the entrance point for your story.
I’ve returned to Fabled Lands as a stimulus for my Steam Highwayman writing. I like the short, pithy passages that leave a lot to your imagination. However, there was never a great deal of conversation in those books and I find dialogue fits into a responsive text very naturally – in fact, it’s one of the easiest and most pleasurable things I write. So I’ve drafted this encounter with a gipsy family: Barsali’s Caravan. It gives a flavour of the style of mini-quests I’m intending to include as you explore the world of Steam Highwayman. Different options would be available to you depending on whether you have collected certain objects, or have certain skills.
I’ve also just begun experimenting with customising colours on Twine, the tool I use to create this.
I’ve now completed a demo map to explore on your velosteam: 14 passages or ‘rooms’ that respond to the order and time in which you visit them, generating unique text and interactive traffic events. I haven’t got any graphic interface for this yet – it exists purely as the relationship between passages. But I have sketched it here to help you locate yourself:
One of the underlying ‘vanilla’ engines of this story was always to be your ability to rob any passers-by, either creating story-lines as you become despised or hated by particular groups or simply making easy money. This means that in true open-world fashion, you will need to be able to interact with all the traffic that comes your way.
At the moment these interactions are very rough, but essentially different sorts of road (main road, road or lane) and different times of day (day/night) will be more or less likely to generate different classes of traffic (pedestrians/farm vehicles/goods vehicles/guild vehicles/locobuses/private steam carriages etc). You may be able to hail them and get rumours or rob them – reminiscent perhaps, and purposefully, of the sail ahoy mechanic in Sid Meier’s Pirates Gold.
I intend to keep working on this demo map until all the major modules are working. So far we have:
A weather generator
Health and wound counters
A rudimentary fight system (not yet plugged into the encounters with traffic
A fence where you can sell items (with still some bugs)
A pub where you can rent a room
Locals who will give you a rumour to investigate (and the space for many more)
Characters who will remember you
A wreck engine that will leave destroyed traffic at the side of the road
New today – the ability to wait somewhere until nightfall or morning
I mean to finish writing Squire Lynch’s quest, finish the interactions with the guild engines and create a quest at a nearby steam fairground. Still haven’t done anything about my pistol engine…
Also I’ve got some lineation and matching issues with the generated text in my passages. I’m slowly building more reliable templates so that in a completed version, everything should look seamless. Other bugs include:
Unwritten encounters with private steam carriages and quest vehicles
This morning I’ve been working on those priority checks – the variables that will test whether you’ve visited a location before, what factors will influence the generated text there and the counters that generate time, the phase of the moon and the weather. I’m going to head out to do some of the creative part soon, thinking about the way I want these passages to sound and look.
I had a long chat with my brother Jack about this and we agree that there’s no point having long passages of description clogging up a reader’s enjoyment of what is essentially a story. In the Fabled Lands series, passages are typically around 60 words, and that suits a smartphone fine, so I’m hoping to extrude the all the vital information in a few pithy sentences.
I’m spending a lot of my writing time working on an interactive fiction project, Steam Highwayman, written using Harlowe 1.2.2 on Twine 2.
This morning I has mostly been building a process by which the protagonist can suffer, bandage and heal wounds. This should slot into my story so that the reactive text remembers if and where you were wounded, editing your options in seamless prose.
And a scar on the eye may unlock the option of an eyepatch. Oooh, Intimidation+1, eyepatch,