The number of current Twee compilers is fairly small. To my knowledge, there is my own work, Extwee, and the older Tweego. Many people use the existing tool, Tweego, as binary files. These files must be downloaded and run within a specific operating system matching the build. On the other hand, Extwee was designed in JavaScript to parse and compile various Twine formats. Each part can be used separately. As a library, it can be incorporated into smaller JavaScript projects. This applies to projects needing only a single operation rather than using a full binary. Now, of course, I obviously favor my own work. I understand many people want to use a tool they trust rather than my newer work.
Tweego and Extwee share a problem. To produce a Twine-compatible HTML file, they need a story format. Historically, Tweego has supplied a bundled set of files to download. These files contain the latest version of the same story formats packaged with Twine. In an earlier version of Extwee, I also did this. But, last year, 2023, I moved away from this approach. This change was due to the labor involved in putting out minor Extwee versions for every story format update. Instead, I started work on the Story Formats Archive project.
It has been a very long journey of hand-editing a collection of JSON files. I have finally finished the 1.0 version of the archive. It has nearly every version of every story format included with Twine from 2015 up to September 20, 2024. This covers the entirety of the existence of Twine 2. It also includes the version of the story formats packaged with Twine 1.4.2 in 2014.
The database exists as two core JSON files. The first includes every “official” version. These are story formats that have been packaged with Twine at some point in its history. It also includes “unofficial” versions. These are story formats created by anyone but never packaged with Twine. For every official version, there are LICENSE, format.js, and logo.svg files to allow for potentially remotely loading the story format based on its version. For the unofficial versions, I hope to eventually add files. Many of the included repositories are years old. In some cases, there was no public version or files published beyond the GitHub repository itself.
I do not know if Tweego will ever use this resource. I have plans to allow Extwee to look up and add story format files. This should make compilation easier for future users wanting either a past or current story format version. Future developers should not need to know the exact version. They should not need to go to the Twine GitHub repository. They should not need to download all the files to get access to the story format. Asking for the “latest” should be enough to grab the files for them and prepare for future compilation using Extwee.
While my next planned move will be to update the binary build of Extwee for 2.2.5, adding support for searching the Story Format Archive is coming. Hopefully, some time in later October 2024 I can report this functionality has been added to Extwee.
