Category: Articles

Twine for Beginners: Adding Local Images

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 for Beginners: Adding Images as Base64

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.

About Base64:

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

I Can Pirate Every Book You Write

Here’s how (and why I won’t).

Not so long ago the whole literary community rallied together to try and take down a particularly brazen (or possibly just particularly dim) book pirate, and while that was truly heartwarming to see, I also got the impression that many of the people involved felt as though the problem would go away if they simply tackled that one site. Just to blow that idea out of the water, I’m going to tell you how I personally – me, the guy who has to copy and paste the £ symbol because he can’t work out how to type it – can pirate any book out there.

1) I can Google  it.

If anybody, anywhere in the world has made your book available on a pirate site, there’s a good chance I can find it. It’s just that simple.

You can hunt around yourself and send out DMCA takedowns to anywhere hosting your book, but the more popular it is the more likely it’s being offered somewhere for free, and I only need to find one copy before you do. Also, good luck getting anything taken off The Pirate Bay: they’ve been running since 2003 despite the best efforts of entire governments.

2) I can ask for it.

Yeah, I see you doing this. Obviously I’m no Suzanne Collins, and by January 7th my book had been out less than a month: chances are nobody had made a pirate copy available at that point. Maybe they still haven’t. Who knows? Continue reading

Guest Post: Oli Jacobs on Genre Fiction

The following is a guest post by Oli Jacobs, whose book Deep Down There is currently funding at Unbound. I’ve had my eye on it for a while, so have a read of this then go take a look!


Nifty little Lego scene courtesy of Oli Jacobs.

Mention the likes of sci-fi and horror to your average layman, and they’ll probably think the same things – aliens & spaceships, monsters & gore. Most readers who don’t dabble in genre fiction already know why they don’t like it; they know the tropes, seen the marketing, and don’t consider it as something to invade their nice little world of romance or crime (or, indeed, both).

Well guess what, layman or laywoman, you’re about to be shocked to your very core. For, you see, genre fiction has evolved within the last few years, especially in the literary world. Science Fiction has become Science Fact, meaning that the so-called Outer Limits are now very much over the horizon. Horror has become an everyday reality, with a cocktail of 24 hours news and the internet presenting us with all manner of modern monsters and terrors.

And in many up and coming indie authors, these scenarios are being twisted to bring their works to readers who would normally steer away.

The master of this particular domain, Damon L. Wakes, has done this with his clever spin on an old classic. Ten Little Astronauts takes the classic Agatha Christie And Then There Were None, and throws it into the empty arena of space. Much like the franchise movie approach of taking something and blasting it into the galaxy, Wakes presents a known tale and adds the cybernetic enhancements of sci-fi onto it, effectively giving a gateway to those that know the classic, and fancy something a bit different with it. It is much like giving an old, much lived-in abode a fresh coat of paint – suddenly we are presented with a whole new tale that doesn’t feel as invasive as an Arthur C Clarke epic. Continue reading

Twine for Beginners: Styling Text

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

Twine for Beginners: Colouring Text

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

Twine for Beginners: Timers and Live Text

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

Use Your Kindle Without Amazon – It’s Easier Than You’d Think

Recently I announced that OCR is Not the Only Font had become available for free in Amazon’s Kindle store. If you own a Kindle and fancy stocking it with some of my flash fiction, that’s likely the easiest way to do it. However, it’s not the only way, despite what Amazon would have you think.

Animated GIF

This guide focuses on books downloaded from Smashwords, but the information is equally relevant no matter where you’re getting them. Project Gutenberg, Unbound and the Humble Book Bundle are also excellent places to get Kindle books outside of Amazon, but these are not your only options. The important thing is that you seek out ebooks in the mobi format, which is what the Kindle uses. Virtually all other e-readers use the much more common epub format (but more on that at the end). Any mobi file can be transferred to your Kindle using one of the following methods: Continue reading

Twine for Beginners: Importing Stories

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:

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

Making Use of Myths and Legends

Some writers seem to put an absolutely enormous focus on striving for complete originality. That’s not a bad thing, but I also feel as though it’s not entirely realistic. Look closely enough for long enough and you’ll find that a lot of recent work shares striking similarities with things that have been around a lot longer (even if only by sheer coincidence: there are a lot of stories out there, after all). But that’s not a bad thing either. Personally, I quite enjoy spotting echoes of one story in another – especially if I liked it the first time around – so I thought I’d share a few occasions when something I’ve written has borrowed from a myth or legend that’s already out there. Continue reading