Conflux 13: Day 3 (& ChoiceScript)

Today, Sunday, was my Big Day. Not only did I have a Book Launch at 2pm…

Silver and Stone cover

…but I also ran a three-hour interactive fiction workshop in the morning.

Which was seriously awesome. (So was the Book Launch. If you haven’t seen the trailer, it’s here.)

The workshop was very biased, naturally, since it is all about my own notions regarding interactive fiction. This article, which I wrote last year, is an excellent summary of the IF scene (as I see it, having stumbled across it very recently).

This article focuses on the different elements of writing interactive novels as opposed to regular novels.

Today’s workshop was brimming with people who’d already written novels, which was quite different to last year. Last year we focused on Twine, the free tool that makes a useful map as you write and is the most user-friendly tool ever. This year we focused on ChoiceScript, which is a lovely elegant engine, also designed for non-programmers, made by Choice of Games. It’s easier to write longer works with ChoiceScript, because it’s set up for that (you can write longer pieces on Twine, but it’s trickier to do anything clever). More on that in a bit. FYI I’m not associated or affiliated with Choice of Games in any way.

I believe I promised a pic of yesterday’s outfit. Here it is (next to an ad for the excellent “Sentinels of Eden” series which I also mentioned yesterday).


I’ve spent the rest of the day in Conflux mode… that is, hanging around talking to interesting people. My love for the venue is only growing with greater familiarity. Apart from anything else, they DO have special free conference wifi. And SO many power points, just everywhere *swoon*. The staff continue to be absolutely excellent. The food is pretty good but expensive and the menu is fairly limited. Huge portions.

A lot of local people are unhappy Conflux is at the airport, which isn’t great for most Canberrans (especially those who rely on buses—the special shuttle to or from Civic has been helpful). Next year’s venue is TBA. Parking underneath the hotel costs $6 for up to two hours but over $20 for a full day. For people that validated their ticket at reception, a whole day costs $14. There was plenty of space.

People like me (ie with a disability card) can park in a funny little 2-hour carpark that’s on the right as you drive around the hotel on your way to the front door. There are no designated disabled spots but with a card you can use public 2-hour parking for a full day for free. So the key to Conflux parking is to have a disability card but still be able to drive. For me, it was a breeze, and much much nicer than anywhere in civic.

And it’s pretty.

There’s a moment at sunset when everyone in the foyer suddenly has a golden halo. When the moment passes, the brass lamps all come on (not these ones; other ones). It’s quite lovely.


The banquet was suitably glorious, and a very fine evening. Each item on the menu was linked to fairy tales. I ate a Goose’s Golden Egg for dessert (filled with panna cotta).



There’s a Trivia Night tonight, but I shall be going home to sleep.

Thus endeth today’s Conflux Report.

I promised to write out a few very useful bits of code for those who are learning ChoiceScript. This is reinventing the wheel to a large extent, since the official ChoiceScript guides, including a free link to download it, are excellent.

So is the wiki, which has had many years to be refined and expanded. The Twine documents are improving, but they’re newer and trickier, and there are significant changes from Twine1 to Twine2.

When you download ChoiceScript, it has some very basic intro scenes, choices, and statistics set up for you. When you want to start writing, you can just delete a bit and begin.


To “play” the example game, follow this path (it works on PC or Mac):

Screen Shot 2017-10-01 at 4.36.15 PM


It works best with Firefox, but most browsers are fine (other than, oddly, Google Chrome).

It’s fairly ordinary-looking visually, but it is immediately obvious how to progress the story (Click on a choice, then click on ‘Next’). Your text will be different to this image, because I’ve long since replaced the example with my own.

Screen Shot 2017-10-01 at 5.15.10 PM

To see the code behind the story, follow this path (using a text editing program—I recommend Notepad++ for PC and Sublime for Macs):

Screen Shot 2017-10-01 at 4.36.53 PM


The right-hand column above shows the startup file for the story I’m currently writing (so nobody look, okay?)

Don’t panic when you see a bunch of words and symbols. It will be okay.

NB: Each chapter of your book will be in a separate text file. You can name them whatever you like.

You can switch between the browser and the text file to see how the text file alters the story that you’re reading in the browser. The best thing to do is to just put your own words in, and you’ll be able to see them immediately fit the playable ChoiceScript format.

So if you write exactly this (at the END of the startup file, replacing the kingdom bit):

Screen Shot 2017-10-01 at 5.11.42 PM

Then you go back to the index.html file, it will look like:

Screen Shot 2017-10-01 at 5.15.10 PM

The * and # symbols are vital, and so is the spacing at the beginning of your lines. You can use either tab or spacebar to indent what needs indenting, but you have to pick one and stick to it or the game will break. Those three keys are the heart of your writing from now on.

If the reader picks “I choose option one” above, the line of text will appear, saying, “You chose option one.” Your story works—but so far you haven’t told the program what to do next (thus, the game will break immediately after that line).

Some structural info:

Many stories have a “branch and bottleneck” structure. Choices (often a whole series of nested choices) branch off in different directions, then different directions again… and then there’a a point at which they all come together, and then the choices branch out again from there. Here’s a diagram example using twine:

Screen Shot 2017-10-01 at 5.26.58 PM

As a writer, the hard part isn’t branching your story; it’s bringing things back to bottlenecks (so you don’t end up with literally millions of utterly different stories). One handy way is with time, eg:

“The sun is setting. Enough mucking around. It’s time to…”

“Mucking around” is non-specific enough to cover all the possible adventures the character might just have experienced. Or you can leave out that sentence altogether.

Back to your basic ChoiceScript thing:

A lot of choices within a story bottleneck immediately, which is written as:

Screen Shot 2017-10-01 at 6.23.42 PM

You can name your label whatever you like. Use lower case, avoid special characters, and remember each label must be different.

This is a simple choice structure that works. You don’t actually require the “goto” and “label” stuff unless you’re nesting choices, so a lot of the time it’s even simpler.

Whatever you write after “*label bottleneck” will be seen by all the readers, no matter what choice they made beforehand.

Anything that’s on a line marked with an * will not be seen by the reader.

If you want, you can write an entire story like this. The lines of unique text above (“You chose option one/two/three.”) are only seen by the readers that chose that option. Those lines can be expanded into literally any length, and can have other nested choices inside. ChoiceScript authors don’t have a wall diagram with string going everywhere; they have a ludicrous number of indentations as they write choices within choices within choices.

But you can also just bottleneck after each choice. That’s what smart authors do (for most of the choices, but not all of them—after all, you want your reader to have a unique experience). That’s how authors stay sane.

But how to make the choices matter in a deeper way?

[Tired? Breandead? Stop here and write some scenes. Come back later. This is where I stopped for a day when I was learning ChoiceScript.]

Choices have long-term consequences because of stats. Stats don’t create work; they are a brilliant and cumulative way of making hundreds of choices matter without writing a million-page book.

The two main types of statistics are personality based and skill based. So as your player makes their choices and has their adventures, you’re also noting what kind of character they are creating (think of them as a co-writer who’s in charge of the main character’s personality), as well as building their skill set (for later challenges that can be won or lost).

In ChoiceScript, you make your own unique statistics. The more unique the better!

One of the most distinctive & fun things about the ChoiceScript tool is that it often uses opposed statistics—so for example, you might have ‘Tactfulness’ versus ‘Straight Talker’. If a player chooses to be tactful, their tactfulness stat will go up and their ‘straight talker’ stat will go down.


First, go into the startup file. After the *scene_list but before the story begins, write this:

Screen Shot 2017-10-01 at 6.54.04 PM

You can set any number of (single, lowercase) words as beginning stats.

Your Tactfulness versus Straight Talker opposed statistic will all be expressed (code-wise) as + or – tactfulness.

Your name stat will be a one-off choice (and the players can enter their own; instructions here).

Your strength starts at 0. It will grow with strength-based choices, and it will be tested at later choices.

The “show stats” button on the browser version of the story (that the players see) appears automatically.

To make the stats page look good, go into the choicescript_stats file (which you already have in the same “scenes” folder as the “startup” file), and write this:

Screen Shot 2017-10-01 at 6.52.22 PM

It will look like this to the player:

Screen Shot 2017-10-01 at 6.56.12 PM

The numerical values will change as the player makes choices.

The ! makes sure that a word is capitalised (it’s also useful for pronouns—which we’ll talk about next—when they’re at the beginning of a sentence).

Here’s your first-choice example, with stats added:

Screen Shot 2017-10-01 at 7.01.27 PM

Now players who choose Option One have Tactfulness 60% (and Straight Talking 40%).

Players who choose Option Two have Straight Talking 60% (and Tactfulness 40%).

Behind the scenes, opposed stats are really just recording one stat going up or down, but they’re displayed with a red/blue bar for the player.

If the player chose Option Three, then “Bob” will appear after “Name:” in the player’s stat screen, AND their strength will be 5.

In the line “*set strength %+5” the % symbol is the key to avoiding maths. I have your attention now, don’t I? Long story short, if you use “%+” and “%-” for your stats, you will never get under 0% or over 100%. Is good.

Congratulations! You’ve written a functional choice that doesn’t break the game and that makes a difference to your statistics.


In your startup file, write:

Screen Shot 2017-10-01 at 8.03.39 PM

Then have a choice (early on) like this:

Screen Shot 2017-10-01 at 8.09.44 PM

As you may have noticed above, you can put the stats and the text in any order. Since the player doesn’t see the stats (until they click on the button to see the stat page), it doesn’t make a difference. But consistency is a good idea.

Once you’ve done that, you can use pronouns, like so:

Screen Shot 2017-10-01 at 8.09.54 PM

This text will appear normal to the player, but will have the right pronouns, eg:


You hear two people talking about you.

“What do you think of them, really?”

“They’s okay I suppose.”

“Really? I hate their dog.”


There are two important things to note here. (Okay, three.)

-You can write an entire novel without player-character (PC) pronouns if you’re determined (as I’ve done for “Choices That Matter” stories on iOS and Google Play via Tin Man Games).

-‘They’ is grammatically distinct. You probably noticed the painfully incorrect “They’s okay” above. If you include they/them pronouns, you will need to be very careful to avoid a similar grammar fail. But it’s worth it. The IF (Interactive Fiction) community works hard to be inclusive, especially with gender and sexuality.

-Using he/his/him as your “base stat” in the startup file works well because the three forms are distinct (unlike for she/her/her).

Erm, it’s just occurring to me that it might work better to use they/their/them as your base. I’m not smart enough to check the idea is sound without writing a novel to check, but I THINK it’ll help a bunch with both Point #3 and the Point #2.


WELL that was a long blog entry. Are you still here, dear reader? I’m off to eat dinner and have a lie down.

PS Guess what! It’s October! Who knew?

More Conflux tomorrow!

PS Two more super-useful sites for when you’ve finished that brilliant interactive fiction game.

Dashingdon hosts ChoiceScript games, and hosts Twine games. Both are free, and both allow you to show your game to a select few (editors) before uploading/publishing a finished version.

How not to write a query letter

 If you’re a writer long enough, the carefree laugh of creative joy turns to a bitter sarcastic coughing hack.

Here, for your bitter (but equally way more valid) joy, is an entire website devoted to sarcastic replies to idiotic queries. It’s called Slushpile Hell. (For those not in the know, the slushpile is the pile of manuscripts waiting to be read by an editor or publisher.)

Here’s two cut and pasted examples:

My writing coach told me that my novel is not yet ready to send to agents and needs more work. Could you read the attached sample chapters and tell me if you think she’s right?

I’d love to, but I’m terribly busy right now hitting myself in the head with a hammer.

Dear Slushpile Hell Scum, you think you’re so funny. I wish I knew who you were so I could come mock you and everyone in your little circle of ugliness. I’ve written a fiction novel—a GREAT novel. Do you think I’ll ever submit my manuscript to a CLOWN like you, or ANY of your fellow clown literary agents for that matter? Think again. You’re missing out on MILLIONS of dollars here.

Dear Charlie Sheen, thanks for your email. Best of luck in all your future endeavors.


You want the link again now, don’t you? Okay.

Time for your cat picture of the week.

I was airing out all our cushions and covers and chairs and so on, and put our very rickety cat tower on the barrier of the second-storey balcony. Five seconds later. . .

Advice for Beginning Novelists

I’ve decided to start posting writing advice whenever I feel like it. Here’s the beginning:

1. Successful writers generally make around $10,000 a year (see #2).

2. Around 1 in 10,000 slushpile manuscripts get published (at a conference recently, I discovered that a large publisher hadn’t accepted a single slushpile book in three years – and they receive hundreds every week). Meeting someone at a conference and using their name/email changes the odds to about 1 in 200. (You still need to write a brilliant and polished book – unless you’re famous, of course.) On several occasions I’ve walked up to a publisher at a conference and said exactly this: “Hi, my name’s Louise Curtis and I’d love to send my children’s adventure fantasy book to the right person at [name of that person’s company]. Could you help me?” It works every time – all they want to know is length, genre, and age group – not the fact that I had the idea in the bath or that I really like their hair. When I write to the contact person, I mention the meeting – so they can either remember me, or talk to someone who does (proof of personal hygiene is worth a lot).

3. Publishers. . .
(a) are all friends with each other, so don’t ever be rude to/about anyone.
(b) actually make a loss on 90% of the books they DO produce, so cut them some slack.
(c) usually take 3-6 months to reply to the opening chapters, and just as long again for the full book. The longest I’ve heard of is four years, and the longest I’ve experienced is 18 months (and counting).
(d) are quaintly optimistic about their response times (if they were realists, they’d quit and get a better job).
(e) are nice – but they don’t like being hassled. So wait at least three months before contacting anyone, ever – and don’t be surprised if they haven’t started reading your book yet.

(f) will not work with someone who is too lazy to read their submission instructions and/or use decent English.

4. If an agent or publisher charges you money, they’re a scam.

5. Manuscript assessors are useful, especially when you’re starting out, but their recommendations of your work are worth only slightly more than the fact that your mum thought it was super good.

6. For kids and young adults, your protagonist should be a couple of years older than your target audience, and your length needs to be right (check a publisher web site for length details BEFORE you write). Your characters won’t get married or raise kids, because your readers won’t be interested in that experience (not while they’re still at the age they started reading your book, anyway). Other than that, you can do almost anything – see # 8.

7. It generally takes around 10,000 hours of focused practise to get good at writing. Most writers throw away several books before they get good enough to be published (I’ve thrown away three and rewritten three others – so far).

8. Reading books in your genre is essential. If you don’t read, why do you think anyone will read you? How do you know what your market likes?

9. If you get published, you still need to sell the book to the public. This means travelling, interviews, etc. You definitely need to rent a crowd wherever possible – the average number of participants at book readings in the USA is four.

So, in conclusion, don’t write unless you enjoy writing for its own sake.

PS Some funny posts on writers (and how unpleasant we are, mainly because of stuff outlined above) – be warned, there are naughty words and one adult joke.


The best way to cope with rejection is to already have another book happening (ideally a stand-alone book in case you later find out the first has fatal flaws).

Also, chocolate.

Also, writing forums.

Also, getting another job – one where you’re paid by the hour. It sounds cold, but it’s the most useful thing you can do to stay afloat psychologically (and financially).

Here’s a list of 50 well-known writers who faced plenty of rejection:

And here’s a conversation that will make you laugh, think, or both (in Australia, you don’t necessarily have to have an agent):