Twine 2.3.0 beta 2

This was originally posted to my Patreon.

Get it here.

This should resolve all the issues I’m aware of with beta 1– related to Windows saving files, and all platforms having trouble with playing or testing stories right after you’ve created them. Please remember that this is still a beta, so make sure to keep copies of your work before using this!

Snowman ownership handoff

The other announcement for today is that I have transferred ownership of Snowman, the Twine story format I created, to Dan Cox. I put out a call for interested people back in November—I want to focus on developing Chapbook—and Dan was gracious enough to volunteer. Dan is a steadfast contributor to the Twine community and also serves on the IFTF’s Twine commitee that I chair.

I’m excited to see what Dan will do as maintainer, and hope you are too.

Twine 2.3.0 beta 1

This post originally appeared on my Patreon.

Hooray! I’m very excited to have something for people to try out, but mind the warnings about data loss. Expect some bumps in the road– I noticed a new bug just this morning as I was doing the release.

Below are the release notes I posted to GitHub, where you can also download the beta.

New Features

  • Now uses Electron as its desktop app shell instead of NW.js. The goal of this change is to increase stability of the desktop apps. It also should allow for a more responsive interface, as certain tasks (like saving changes) will happen in the background as opposed to locking up the main UI. Because this change involved considerable reworking of the saving and loading process, it is possible that this beta may contain bugs that would affect saved stories. Before using this beta, please take a backup of your stories, and save backups often.
  • Harlowe 3.0 is now included as a story format choice.
  • Bahasa Malaysian, Chinese, and Russian localizations have been added.

Bug Fixes

  • Dragging passages should be more reliable, as the algorithm for avoiding overlaps has been improved.
  • If you have a test or playable version of a story open in another browser tab or window and choose to test or play it again, the tab or window will refresh (it previously only showed the tab or window again).


Chapbook 0.0.2

This post originally appeared on my Patreon.

This is a quick fix to resolve a bug that can cause data loss– data loss so bad that I’ve yanked the 0.0.1 release. One feature I added to Chapbook is, if a story runs into an error, it offers to the player two choices:

  • Go back to the previous passage, hopefully so that a different route will allow the player to continue
  • Do a “hard restart,” which clears all saved progress and restarts the story

The problem with the hard restart in 0.0.1 is that it cleared the entire local storage for the entire site that the page was running on, which could do all kinds of nasty things, including stories saved to the web version of Twine. Eek!

The new URL to use is:

Many updates, including a new story format

This post originally appeared on my Patreon.

I’ve been quiet for some time now, because I’ve been working on something new that I’m excited to share. In fact, I have a lot of news, so I’ll summarize everything first, then go point by point.

  • I have a new story format, Chapbook, that is in prerelease state.
  • I’m going to involve Patreon backers in the Chapbook development process, and have added reward tiers and a goal.
  • I am getting more transparent about my Twine development process.
  • I am seeking someone (ideally, some people) to take over ownership of the Snowman story format.

Told you it was a lot! Let’s start at the top.

I have a new story format, Chapbook, that is in prerelease state.

This is probably the most exciting bit of news to most of you reading this. I am pleased to announce Chapbook, which is a story format whose origins began in two separate, quite different projects: writing up a guide to Snowman, the story format I created for Twine 2, and collaborating on a Twine game.

My Snowman guide idea was in theory noble: to teach people the rudiments of front-end development–HTML, JavaScript, and CSS–on the way to building stories in Snowman. I still think it would be an interesting book to write, but I quickly realized as I began to outline it: this is way too much to learn just to write a story with some links.

At the same time, I had been working with my creative partner Joel on a game we were creating with Snowman– hopefully more about that soon. After much back-and-forth, the workflow we decided on was that he would pseudocode out the functionality he needed in each passage and I’d actually write the JavaScript to make it happen. As I was typing away, I thought: why can’t we make the pseudocode actual code?

I’ll let the rest of the Chapbook guideexplain where I went to from there. I consider Chapbook to be in a state that you can at least build small stories with it. I have, for example, built out a Cloak of Darkness example with Chapbook that you can play around. But there is a lot left to be done, and many design decisions to make, which brings us to…

I’m going to involve Patreon backers in the Chapbook development process, and have added reward tiers and a goal.

I want to try an experiment with Chapbook. Right now, I am not accepting bug reports, feature requests, or pull requests on Chapbook from the general public. When it reaches version 1.0, I will. Before then, I want to allow Patreon backers to collaborate with me on the shape it takes.

What this means in practice is that I will begin postly weekly patron-only updates on Chapbook and Twine development, and I’ll use these posts as a way to gather feedback and suggestions as I work on Chapbook. If you pledge $5 or more per release, you’ll receive access to these posts, and have the ability to share your feedback there. I can’t promise that I’ll incorporate every idea, of course, but I will promise that I will read everything and do my best to respond in the comment thread.

If you pledge $10 or more per release, I’ll also add your name to the Patron page of the Chapbook guide, and if you pledge $20 or more, I’ll also give you access to a monthly one-hour livestream. The livestream will be an experiment! I’d like to use the stream as a chance to talk about what I’m working on, talk about IF, and answer questions from patrons. I’ll even do my best to give advice on building stories with Twine! I really mean that it will be an experiment, because I’ve never tried anything like this before.

Just as a reminder, my Patreon is based on releases, but I only charge patrons at most once a month. If I don’t do any work on Twine or Chapbook, I don’t charge patrons. And although I am building Patreon into my Chapbook development process, you can use Chapbook right now without having to be a Patreon backer, and you always will be able to.

On a final Patreon note, I’ve added a goal: the amount of money pledged I’d need in order to work on Twine fulltime. The number I’ve come up with is also a bit experimental, to be honest. It represents how much I think it would take for my Patreon to become a primary source of income, though not my only one. I’ve been doing a lot of back-of-the-envelope math about my living expenses, and so in a lot of ways the goal is also a back-of-the-envelope number.

But… even so, reaching that goal would be a life-changing moment for me. I hope that doesn’t sound too overdramatic, but I mean it. I love working on Twine and everything surrounding it, and I constantly wish that I had more time to do so. Reaching this goal would allow me to reorder my working time to better reflect what I want to do. And–if you want to be a bit selfish about it, it’d mean more regular Twine updates.

Which brings us to…

I am getting more transparent about my Twine development process.

If you pop over to the Twine source code repositoryand click on the Projects tab, you’ll see that I’ve laid out the roadmap for the next release of Twine, which will be 2.3.0. Right now everything is sitting in the To Do column; as I work on things, I’ll move them forward to In Progress, and finally Done. This way, everyone can get a sense of what’s on deck for the next version, and how close we are to a release.

This is just the beginning. I think as I get more experience with GitHub projects, I’m likely to add multiple projects, so that the roadmap goes further out than just the next release.

Finally, a slightly sad note.

I am seeking someone (ideally, some people) to take over ownership of the Snowman story format.

I know I can’t maintain two story formats, so I am looking for people to take up the mantle of ownership of the Snowman format. If you’re interested in this, please drop me a line. Snowman as-is will remain an option for use in Twine, but I don’t have the time to devote to it right now.

Link roundups

Let’s start by turning some subtext into text: I am trying out gradually moving away from Twitter in favor of this blog. Lots of reasons why. Twitter’s got issues, to say the least, but I also like writing longer posts. I like the quiet of working on something for a while, of typing into a rectangle that fills my screen instead of a one guiding me towards writing three sentences, maybe, at most.

I’m also going to try bundling up links into single posts, since a lot of smart people to do that, too.

  • Emily Short blogs about her experience taking a masterclass in set design with Punchdrunk, the Sleep No More people. Her notes and reflections are thorough enough that although I’m sure they’re no replacement for the class, I found myself thinking quite a few thoughts in response.
  • Eve is an abandoned programming platform, but I found so much I agreed with in its goals and orientation. I am tired of editor color themes that turn comments dim and code bright and citrusy, as if comments are meant to be jotted in haste and henceforth ignored.
  • I’ve been to the FedEx office mentioned in this history of Nazism in Baltimore (may you one day rise from your grave, City Paper).

A question still unanswered

The question that has underlain my work is, quite simply, “Why Hypertext?”

If we are going to throw literature classes, citations, and even reviews into mass confusion (no more turning to page 21), we’d better have a good reason why. If we are going to ask readers to take an active role in searching for text, making connections, understanding links, and finding structure, we’d better make the trip pay off. If we could get what we were looking for in a simple, straight-forward text, we’d be crazy to spend about ten times the effort to plan, write, link, and program a hypertext.

Deena Larson, 1999. Ran across it while doing some random research tonight. Nearly twenty years later, it’s still an open question.

Catching up on RSS after a stomach bug

I’ve been grappling with a stomach bug the past few days, which was as good a reason as any to unplug from everything I could for a little. Two things I thought were notable as I caught up on my RSS feeds:

Donald Glover Can’t Save You. I lost track of his career after Community–and this article hints that there is a bigger story to tell about that particular series–so this profile was enlightening. I’ll cop to not even having Atlanta on my radar, but this piece convinced me I needed to watch.

I Went To The Olympics and All I Got Was This Tentative Sense of Hope. I have always loved the Olympics–the weirder the sport, the more I want to see it–but the toll they take on the hosting cities and all the corruption pervading the IOC has made that love problematic, to say the least. I liked this article mostly for the small peek it offered into what it’s like to go to an Olympics as a local. As a TV watcher, it was a little — worrying isn’t the right word for it? — that the ads were so repetitive; to me, a sign that Big Corps don’t think Americans watch them, so nobody except big-ticket sponsors are buying. But what do I know about the television industry?

p.s. Just taking a few days away from the news really reinforces the absurd quality that headlines have taken on in the past 402 days. Try it if you haven’t.