I've been experimentally making a compiler than converts source files in a "Twee-like" syntax to Twine 2 output files. Let me explain what that means (with apologies to anybody who knows all of this already: just scroll down to the 'Twee2' section).
Twine 1 & Twee
There's an alternate way of making Twine 1 stories: instead of using the visual tool where you drag and drop passages around, you could write "Twee" files in your favourite text editor, which looked a bit like this:
A Wonderful Adventure
You begin your wonderful adventure. But who will you go with?
* [[My friend Jill|Jill]], who's resourceful and smart.
* [[My buddy Jack|Jack]], who's brave and strong.
You decide that Jill would be a great travelling companion...
You take your friend Jack by the hand and begin your adventure...
Using a text editor rather than the visual tool provided several benefits. It made it easier for multiple people to work concurrently on the same story (because you could easily "cut up" the files, or use source control to automatically synchronise changes), for example. It made it possible to use smart "search/replace" tools, among others, to manage your text. And, of course, you could edit your story anywhere that you could type, even where the editor won't work (even on your phone!).
Twine 2 made huge improvements to the output
produced. The new story formats are so much better than the TiddlyWiki-powered stories that came out of Twine 1. But, of course, there's no equivalent to "Twee" for Twine 2, so all of those potential benefits listed above are lost. And personally, it bugs me that I can't choose where to save each story I work on (I want to be carrying them around on my pendrive, and it's a pain to have to keep remembering to copy them every time I finish working).
It's not that I don't love Twine. It's just not the best way for me to work.
So: I wrote some experimental code that brings Twee-like features to Twine 2. Here it is
. It's probably not for everyone, yet, but here's the basics: you'll need Ruby
installed, after which you can install Twee2 by typing:
gem install twee2
Then, you can write Twee-style story files and compile them with:
twee2 build mystory.twee myoutput.html
(try the ultra-basic story skeleton above if you like - save it as "mystory.twee" and give it a go)
It's also possible to make Twee2 automatically build your story into a web page every time you change the source file: just substitute "build" with "watch".
Twee2 supports any Twine 2 story format, but uses a text-based syntax similar to Twee. But that's when I started thinking: perhaps it can do more
I've been playing with this for a while, but I thought it was time I shared it with you, the community, in case anybody has any thoughts or ideas about this project or how it would (or wouldn't) be useful to them. Let me know what you think.
There's also a bit of a discussion going on about it over on Reddit
, if you're interested.