If you’re interested in learning to make games with Twine – and especially if you’re interested in using them to build up a portfolio – it’s well worth considering how to reach as many players as possible.
Anything that runs in a browser (such as a Twine game) will tend to be played more often that something must be installed, and anything that’s primarily text and choice -based (like most Twine games) is generally more accessible to players with disabilities than something that depends primarily on using quick reflexes to respond to graphics on screen. By making just a few small adjustments to your Twine games – such as ensuring your text is clearly legible, and adding descriptions to any visual media included along with it – you can boost their reach even further!
This post offers a few quick tips, as well as links to further resources if you want to look into the subject in a little more detail:
Hey all, After our group discussion about my “Disability Media” Twine project on Frost accessibility, I went on to do some further research on how to make Twine and the HTML you put in it as accessible as possible. I hope to update this post as I learn more, because this is actually to some […]
Twine offers several handy options when it comes to displaying text in particular ways. From straightforward bold or italics to more eye-catching animated effects, there are a whole range of features built right in and this tutorial will show you how to use them.
The following techniques are all very simple, but if you’ve never used Twine before then you might like to start off with this tutorial which offers a very basic introduction to it. You might also be interested in my tutorial covering how to colour text in Twine, which this one will also touch upon.
Much of this tutorial is so simple that you could probably get the hang of it simply by reading through the example piece, Snazzy Susan and the Majestic Markup. However, the tutorial below will go into slightly more detail as well as linking to other guides and resources, so if you find that you’re struggling with anything then do pop back. Continue reading
Colouring text in Twine is incredibly simple, but also incredibly useful. If you’re dealing with important information – whether that’s a particularly significant word or phrase, or a stat the player must recognise at a glance – then it helps to format it in some way that immediately sets it apart from the rest of the text on screen.
If you’re unfamiliar with Twine, you might like to familiarise yourself with it using this tutorial which will get you started in just four clicks – and possibly take a glance at some of the others in the series – but many of the following techniques will be very straightforward. If all you want to do is change the colour of specific bits of text in Twine, this tutorial will help you do just that.
In fact, this tutorial is so simple that you can probably just glance through the example story, Snazzy Susan and the Majestic Markup, which will contain most of the following information (as well as a few examples of how to style text in other ways). This post will only go into marginally more detail, but will also link to some handy external resources so do pop back if you get stuck. Continue reading
If you want to make your Twine games more interesting, there are few easier ways to do that than the (live:) macro. This thing can do as little as shuffle your random text from time to time, or as much as introduce completely new mechanics into your game. This tutorial will borrow a few ideas from others in the series, but honestly – if all you want to do is make your games a little more dynamic – it shouldn’t be too hard to follow on its own. Here are a few different methods of using (live:) to do interesting things:
Method Zero: What (live:) Actually Does
This macro behaves a little differently to (if:), (else:), (either:), etc. so I think it’s worth taking a moment just to introduce it. If you open up Twine 2 and type in (live:)[Here’s some text I want to appear live.], this is what you’ll see when you run the game:
At a glance, it’ll appear that nothing’s going on. However, what’s actually happening is that the (live:) macro is constantly refreshing that text. You just can’t tell because refreshing the text doesn’t actually do anything. It looks the same every time it shows up, so it doesn’t really matter whether it’s being re-displayed a thousand times a second or it’s displayed once and just stays there. However, the fact that this doesn’t draw attention to itself can actually be pretty useful, as you’ll see in the next step. Continue reading
Have you ever noticed a really neat feature in a Twine game and thought: “Hey, I wonder how they did that?” Well, wonder no more because it’s (usually) super easy to find out.
Twine 2 has many advantages over Twine 1:
- It’ll run in your browser so there’s no need to install.
- The default story format (Harlowe) is simpler to learn. and easier to read if you’re working with variables.
- The playable HTML file is also the editable flowchart version of the game.
In my first Twine for Beginners tutorial I recommended using the “Publish to File” option regularly in order to save your work in case of accidents. I touched upon the fact that this file is both a copy of your work and a playable game that you can share, but never really explained the full significance of that:
Anything that’s been made in Twine 2, you can open up and edit for yourself.
My philome.la profile includes just about every Twine project I’ve ever finished. The vast majority of these can be opened up and explored with the process I’m about to describe. For now, click on Ultraviolent Unicorn Deathmatch of Destiny.
You’re welcome to poke around any of my stories that you like, but a small handful were written using Twine 1 and so can’t be (easily) imported into Twine 2. For the sake of demonstrating the process, Unicorn Deathmatch was both written using Twine 2 and provides an interesting, comprehensible example once it’s imported with these simple steps: Continue reading
Even using only the most basic range of tools, Twine gives you a lot to work with. You can produce a fully featured interactive story with nothing more than plain old hyperlinks, and if you’re willing to sink just a little time into learning how to use variables, you can introduce some very sophisticated adventure game elements with minimal effort. But those tools only take you so far. No matter what you do with them, games produced with only hyperlinks and variables will always be entirely deterministic: the same sequence of actions will always produce the same effect.
That’s actually a perfectly good way to go. Sometimes – if anything most of the time – you want people to know that what happens in the game will be a direct result of what they’ve decided to do. But an element of chance can spice things up, and if the player is going to be coming back to the same passage again and again (maybe it’s a room they pass through several times, or an action they must take repeatedly) then it never hurts to vary the text they see. There’s a really easy way of doing this:
The (either:) Macro:
Simply writing (either: “one thing”, “another”) is enough to display one thing or another. If you don’t have a whole lot of possible options in mind you can just stick this in the story where you want the random text to appear and it’ll do the job nicely.
This looks like a mess, but the text it generates when played is perfectly serviceable. It might look like this:
Back in my first Twine for Beginners tutorial (which I recommend at least taking a glance at before tackling this one), I mentioned that it was possible to do just about anything you see in the classic Fighting Fantasy books using only passages and hyperlinks. These gamebooks use a system of numbered passages and references, and choosing which passage to turn to performs exactly the same function as choosing which hyperlink to click in a Twine game. In addition to these standard choices, however, the passages will occasionally say something like “If you have a dagger, turn to 294. If you do not have a dagger, turn to 334.”
There’s a totally obvious way to do this in Twine, and that’s to directly copy the method used in this Fighting Fantasy book. “[[If you have a dagger, click here]]. [[If you do not have a dagger, click here]]” will do exactly the same job and involves absolutely no Twine know-how that wasn’t covered in my first tutorial. If you’re happy to simply ask the reader to keep track of their previous choices (or note things down on some kind of character/inventory sheet) and don’t fancy reading on, then you can just do that. Continue reading
If you’re writing interactive fiction, you’d be hard pressed to find a better tool than Twine. It’s incredibly simple and incredibly powerful, with a reassuringly shallow learning curve. With a little know-how you can use it to create very sophisticated role-playing games, but even with no know-how at all you can jump right in and write a fully functional Choose-Your-Own-Adventure-style story. I’ve already written a tutorial that shows how you can get started in just four clicks! This one will pick up where that left off and show you how to convert your Twine story into a format that can be read on plain old paper without the aid of a computer.
I do very much recommend having a look at that first tutorial before beginning to follow this one, by the way. At least keep it open in another tab to refer to. Nothing in here is going to be particularly complicated, and if you’ve already had a fiddle around with Twine 2 then chances are you could probably follow along well enough. However, having my Getting Started in Four Clicks tutorial handy would probably save some confusion, as I’ll be referring back to it here from time to time.
In Getting Started in Four Clicks I made the case that merely by knowing how to link passages in Twine using double square brackets, you’ve got just as many options available to you as Steve Jackson and Ian Livingstone did when writing the Fighting Fantasy series back in the ’80s. However, though these simple Twine stories would in theory work perfectly well on paper, there are a few extra steps involved in converting them from Twine’s (far superior) system of hyperlinks into the (slow but printable) system of numbered passages and “Turn to…” instructions used by pen-and-paper gamebooks. Continue reading
I’ve been writing interactive fiction using Twine for a few years now, but one thing that’s stuck with me is just how simple it was to get started and just how quickly that simple start led to bigger, more impressive things. In fact, starting out with Twine is actually easier now than it was when I first gave it a go, and in my opinion there’s quite a bit more you can do with it than there used to be. The software has changed a lot in the time I’ve been using it. Take a look!
On the left, My Name Algernon, written using Twine 1.4.2 and currently available to supporters of Ten Little Astronauts. On the right, Inquisition, seen here in Twine 2.1.1 and included in my flash fiction anthology, Robocopout. (Click the screenshots to see them full-size.)
There are a whole bunch of great Twine tutorials out there already, many of which already make the case that Twine is a great way for non-programmers to get into making games. However, as a non-programmer who has used Twine to get into making games, I feel as though I’m in a pretty good position to add one more to the mix. Here’s my comprehensive, foolproof guide to making your first game in Twine 2.1.1.
I’m not kidding about it being foolproof, by the way. I’ll be describing the entire process click-by-click, and I promise if you follow these steps exactly, you can have your first Twine story set up in literally four clicks. I can do it in three.
This weekend was Global Game Jam 2017, which means that much like last year I ended up spending the whole shebang knocking together a complete game in just 48 hours. Not on my own, though: that would be crazy! These things are best tackled as part of a team effort. Last year’s game was Brituals, a social-awkwardness simulator set in a hellish parallel Britain (playable here). This year’s was Undercurrent, a nautical interactive fiction piece featuring rhythmical Mexican-wave action. The theme for this year was “waves,” by the way, which will probably be apparent in the range of games produced for the event.
This video should give some idea of what the finished game might look like: impressive, no? Unfortunately, we didn’t quite get the whole thing put together in time for the presentations at the end, but basically all the elements were there. If you download the source code .zip file on the GGJ page, you’ll find what we’ve got so far. However, if you don’t feel like poking around with that, have no fear! I spent a frantic three or four hours at the end of the event implementing the entire game in Twine, complete with an approximation of our central Mexican wave mechanic. It doesn’t have any of the audio or eye-candy hinted at by the video above (in fact, anybody who spent a particularly long time trying to uncover the arcane meta-mystery of Project Proteus is likely to find the overall appearance of this game very familiar indeed), but it is playable beginning to end and should give some idea how the finished thing would actually behave.
I feel as though I managed to weasel my way into a really strong team this year. Laurence had a hand in the audio for Everybody’s Gone to the Rapture, and Mark is the guy behind the Posetastic drawing reference app. Fiona wrote the bulk of the actual story in the game (my main contribution was the nonsense island encounters), and Morrison tackled getting the interactive text into Unity. I’ll definitely be checking out how to do that myself because if I could manage even half of what he did, my interactive fiction would be at least 800% more stylish and flashy. Continue reading