Twine: A Game Engine For Writers

Throughout my creative writing degree, I wanted to learn how to write and make video games. However, I found out it was a topic not mentioned much by my tutors, due to it possibly being seen as digital media rather than literary. It was even more difficult finding an engine that uses literary skills rather than digital skills. However, writers rejoice, there is a game engine we can use. This engine allows the use of literary skills to create video games, allowing us to get in on the popularity of games. This engine is called Twine.

First released in 2009, Twine is an open source game engine that allows users to create interactive fiction. This interactive fiction is primarily text-based, much like PC games from the early 1980s like Zork, but can contain images, music and video. The program is free to download and from the time of writing is currently in Twine 2.0 (version 2.2.1). Twine uses three different computer codes to work: JavaScript, CSS, and HTML5. For those writers unfamiliar with coding terms, these are the most basic codes used in computer programming. They are typically used in creating web pages and their functions.

You can create many different narratives with Twine. My personal favourite (and recommended for beginners) is the “Choose Your Own Adventure” narrative. This allows you to create a narrative with multiple endings and make the players think carefully before they making a choice. This was the first story style I created when I started with the engine back in 2016, hence why I recommend it for beginners. The narrative style is simple to create and requires little coding knowledge.

If you are looking to create a more complex game like a survival horror or RPG, then you will need to learn coding. Thankfully, it is very easy to create code in Twine. The internet contains many tips and shares source code on how to develop functions like keys, playback video, and health points. For those interested, check out this example from Twine Wiki about creating a key using code. A word of warning: some codes were written a few years ago and may be incompatible with newer versions of Twine. It will also take time to learn this, but it will let you create more complex stories.

One piece of advice before creating anything in Twine: plan your narrative. You need to know what happens on each panel before you begin in the engine. You have to make sure your story makes sense before constructing it, or you will find it to be very difficult and tedious going back and fixing everything later on. I know this because I have made the same mistake. I am usually someone who never plans when writing, which is fine for short stories or novels, but not for video games.

You can also use Twine as a basis for developing a game further in another engine like Unity. Due to its basic coding script, you can develop a game completely within the engine and give it to a friend or colleague who knows game programming. The narrative aspect of the engine also allows your programming friend to get a feel for your game which they can replicate in another engine.

If you are looking into writing for video games, Twine is a great starting point. It allows literary writers to transfer their skills to digital media with ease. Check out some examples of what people have made here. You can download the engine from the link to their site here.


Words by Cameron Lowe 

camCameron Lowe is a horror and sci-fi writer, editor and student. He’s had fiction and articles featured in Speakeasy Zine and Empire Times. He loves to read, play video games, and drink green tea. He’s one of the 2018 editors at Empire Times. He tweets at @cloweshadowking.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s