Twine Help!

Hi there again! Wolfy here!

So… I wanted to see if anybody had any tips for beginners with the game making program Twine. I am hoping to make a small little game featuring a few different fetishes, and I wanted to make sure I knew everything about the program before I fully committed to it! Any tips you could give me would help, and if there is a comprehensive place I can find any tips, that would be greatly appreciated!

Thank you for any help you all can provide, and I hope you all have a good day!

Check your DM’s. I can help you out. :slight_smile:

I ain’t a “fur”. I object to this slander.
I started working with Twine a few days ago. Total beginner. It’s easy like Sunday morning, and Google usually answers my questions just fine. I’m making fine progress.
HOWEVER, you should be made aware that it doesn’t support copy-paste. There’s this thing called Tweego you can use to make Twine passages using normal text editors, ie Notepad, but I’m too lazy and incompetent to install it.
My recommendation would be to just start, and refactor as necessary, but to install Tweego before you get too deep if the lack of BASIC WORD PROCESSING FUNCTIONALITY is driving you up a wall.
Two links you might find useful.
Home - Twine Cookbook for the absolute basics.
Twine for Beginners: Using Variables | Damon L. Wakes for how to use variables.

Sorry about the fur thing! I’m new to this place, and I usually do posting on FA! My bad! I changed it accordingly!

But thank you for all of the help! I plan on doing a lot of the writing inside Twine, even if it is a little bit lackluster! I feel like it would help me more if I can do everything inside the program instead of importing Notepad files.

Thank you again for the help! Sorry about the fur thing!

In my experience Twine is one of those programs where it’s very easy to get started. I wouldn’t seek to master it before giving it a go though - there are some very complex twine games out there that demonstrate deep knowledge of the way it works and interacts with HTML, CSS, JavaScript, Object Oriented Programming and the browser’s page model. Thing is, you don’t need to know those things to write a working game.

Twine’s editor sort of encourages you to just start typing, and trying things out - which is good, in a way. And you probably should do that to get the feel of how it works. However, without any planning, you can easily end up with a massively dendritic set of passages and it’s difficult to finish each path. Step back and look at how you might use variables to keep the passage count down. Have a go at that. Realise you are knee-deep in variables and have a think about how to structure them - grouping related ones together - this is where a smattering of JavaScript is going to help.

At some point you’ll get frustrated with the editor, and that’s when it’s time to switch to Tweego to compile the story. If you want take a look at my source of The Recipe Book which uses Tweego to see how structuring things might help - but bear in mind what looks like extra effort only makes sense after you’ve struggled the other ways.

Don’t be adverse to looking at more general information on writing IF/CYOA games.


First, let me say I love Recipe Book as a game! It is such a blast to play through!

Next I want to say thank you for all of the advice! I really have no intention to master Twine, I just want to experiment with it in order to make a fun game! I am an aspiring writer, and I love games, so I’m just trying to make it work! I do have a direction I want to take my story, and certain fetishes I want to add to it, so I do have a goal in mind!

And I looked at all of your variables, and it’s really impressive! I’m not up to that level yet, but it is honestly really inspiring! Again, thank you for all of your help!

My snide arrogance has failed me, and I now have my own query. There are results on Google that are several years out of date, and attempting to replicate them produces failing results.
How would one write a link to a passage that sets a variable, in Sugarcube? Following the examples in the documentation just produces broken links and printed values of the variables.

Hmmm… I don’t know. I use Harlowe for my Twine ventures, and I have never used Sugarcube. That didn’t stop me from trying to figure it out though!

Linking to passages in Sugarcube works the same way as it does in Harlowe, where you input the certain words within brackets and it takes you to the next passage. Variable setting is a little harder, but after some research, I figured out that for Sugarcube you have to set the variables within these thingies “<<>>” and go from there.

The one I made up for example is <<set $Sugar to 15>>, and it outputted the value once I brought it back up. I hope this helps at least a little, and if you knew all that already, then I’m sorry! I’m slowly figuring things out, and I’m taking it one step at a time!

This works for me:

[[+5kg|DebugMain][$pc.mass += 50]]

Though I tend to avoid the syntax as it can get a bit of a mess. In this case this is in the passage DebugMain, so it’s effect is to cange the variable and re-display the state.


Thank you dingotush! It was obvious I had no idea what I was talking about!

Hey sorry to revive this ancient topic, but I know some twine experts were on here so - Urgently I need some Twine Help - it may or may not affect me graduating in a week lol.

Urgent pressing questions:

  • What story format do you all recommend for a simple story-driven game, with a focus on going to different rooms and yes or no checks on acquired variables?

  • HOW do I insert an image???

  • How do I make variables work?

Sugarcube, mainly because I don’t get on with Harlowe.

Depends on the story format and what tools you are using. At the end of the day a Twine game is HTML, CSS and JavaScript, so all the usual ways of including images work.

Set, test, and print as per your chosen story format. The big caveat is that for the most part the displayed text only changes when you display a new passage (ie. follow a link) and the DOM is updated (there’s no dynamic update like in RenPy). Your chosen story format may have some ways around this, or there’s always JavaScript.

I apologize, but I need you to dumb this all down for me.

So there are three (at least) tools to write Twine games:

  • Browser based - generally flakey, never used it
  • Application - better, but the single file can get corrupted so use with caution, frustrating with JavaScript
  • Tweego - command line twee compiler that works well with any editor and souce control

Which one you use is going to affect the answers. Also there are two major versions of Twine itself that have differences in the way they work. Twine 1 embedded images in the one big file (terrible idea), Twine 2 doesn’t even attempt this and works more like a normal web page,

On top of that there is the story format you choose. This entriely defines the syntax you use that isn’t pure HTML and there’s precious little commonality between them.

In short, there’s no one “Twine” as it’s a variable stack of things built on top of Tiddlywiki, which is built on JavaScript and HTML (and CSS). Once you pick your stack (storyformat, twine version, build tool) people can get into answering specifics.

Twine in all its flavours is very easy to start messing around with, but has quite a steep learning curve once you go beyond the basics (even some basic things can be counter-intuitive due to the way passages are rendered into HTML for viewing). To style things you’ll need some CSS basics, which means you need to appreciate at least a little about its selectors and the way HTML works. Fancy Twine games often include a lot of JavaScript jiggery-pokery too.

1 Like

Currently, I’m using Twine 2, app, and sugarcube.

I got the images to work, but understanding how to add and track variables is… tougher than embedding images

Basic advice:

  1. Set up all the variables you need in the first passage (or included from the first passage).
  2. Do all variable manipulation at the start of each passage. It will help you think more clearly about the order things happen in (the whole passage and all changes are parsed and acted on before they are rendered to the player - with a few exceptions).
  3. Either do all variable maniputlation in a nobr block, or tag the whole passage as nobr and use div where you want paragraph-like behaviour. This stops the blank lines common in lots of beginner Twine games.

With the exception of the capture syntax (and a couple of other oddities) a variable’s value doesn’t change after the parse phase. What gets substituted into the text the user sees is the last value the variable has. Don’t be tempted to try and update a variable in line with the text.