Twine 2 lets you do a whole lot with simple text and hyperlinks, and it couldn’t be easier to get started. If you want to take things a step further and add images as well, that’s not hard either! There are actually a few different methods of doing this, each with their own strengths and weaknesses. I’d recommend adding images as Base64 where possible, but there are times when it’s handy to simply display a picture stored in the same place as your game, whether that’s on a website somewhere or on your computer.
About Local Images:
When I talk about “local images,” I’m referring to image files that are stored in the same place as the HTML file containing the actual Twine game. Your overall setup should look something like this:
This is a directory (which Windows refers to as a folder) containing the HTML Twine game itself – Visual Vera and the Three PNGs.html – as well as an image, bananas.png. When the player encounters the passage in which the banana image is supposed to appear, the game will look for a PNG named “bananas.png” in the same folder as itself and, if it’s there, display it in the appropriate place in the game. Continue reading
Twine 2 lets you do a whole lot with simple text and hyperlinks, and it couldn’t be easier to get started. If you want to take things a step further and add images as well, that’s not hard either! There are actually a few different methods of doing this, each with their own strengths and weaknesses. This guide will lead you through my favourite.
Base64 is a method of encoding binary data as strings of text. Put simply, it takes all the 1s and 0s that make up a file (such as a JPEG, PNG or GIF) and translates them into an ungodly string of letters, numbers and symbols that you can paste directly into Twine.
Why would anybody do this, you ask? Because this allows you to include images as part of your Twine game. If you want to share your game with people, you can send them the finished HTML file (or upload it somewhere such as philome.la), and any pictures you’ve added in this way will be right there inside it. Here’s a run down of why you might (and might not) want to use this option: Continue reading
You might be aware that I write flash fiction. A lot of flash fiction.
However, I don’t think I’ve ever really written a how-to on it, which seems like a bit of a missed opportunity given that people seem to be finding my Twine for Beginners series pretty helpful.
Someday I might get around to doing that, but in the meantime do have a look at Tonya Thompson’s How to Write Great Flash Fiction: 10 Things You Need to Know. Someone at ServiceScape actually got in touch inviting me to share it,* and having had a read through it really does tackle a lot of the points I think new flash fiction writers – particularly those who are new to writing in general – tend to struggle with. It’s also a handy introduction to the format, listing some of the reasons you might choose to write it.
The main drawback of the advice in this post is the same as the drawback to most writing advice: good fiction involves more than simply checking items off a list, and plenty of bad fiction ticks all those boxes. I’ve seen people absolutely butcher a sentence to get rid of an adverb! However, there’s a difference between choosing to ignore advice and simply being unaware of it, and if you’re writing for a competition then dropping a dozen adverbs can be the safest way of trimming a 1,012 word story down to the 1,000 word limit.
*ServiceScape aren’t paying me for this. I don’t even claim this is the best guide to flash fiction out there, it’s just the one that was put in front of me and it covers the topic well.
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
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
This is an interactive story intended to illustrate the principles outlined in this tutorial post about pen-and-paper interactive fiction. A hyperlinked version of it can be found here for comparison.
Once upon a time, Penny McPaperface was writing a story in Twine. Twine let her put together a really top-notch bit of interactive fiction using simple hyperlinks mixed in with the text. However, because she wanted the story to work when inscribed on a thin slice of dead tree too, she considered writing out all the interactive options at the end of each passage so she could stick numbers next to them. Whatever should she do, she wondered?
End each passage with a list of options: 2
Naah, it’s fine. Just keep the links in the text: 3 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.
You know how some people quit smoking just about every week? Well, I start making games almost as often: or I did before I found Twine. I’ve lost track of how many different “make a game with no coding” packages I’ve installed, tried, and given up on over the years. I’ve also lost track of how many Python for Beginners lessons I’ve got through, which is a large part of the reason why I haven’t gone back to Python for Beginners. If I’d stuck with any one of these things, I’d probably have a handful of decent, non-text games under my belt by now, but instead I pretty much just hopped over to a new one every week.
Anyway. This week it’s Unity. Time will tell whether or not this opens up any grand new gaming avenues for me to explore, but even just the first few lessons of the basic Roll-a-Ball tutorial have made me think. Largely, they’ve made me think about how mind-bogglingly difficult Unity is to grasp compared to Twine. Unity isn’t even spectacularly hard to pick up in itself–at this point I feel as though I could get an interesting (though far from spectacular) game together just by tweaking Roll-a-Ball a little–but it really highlights all the things about Twine that make it easy to get started. Continue reading