Storytron 2019-2020 Roadmap

I came out of the Storytron Winter 2018 Update with high hopes, a lot of energy, and a list of SWAT enhancements, bug fixes, and other related tasks. Since then the Storytron Google Group has seen some spirited discussions (we even had to ban someone who couldn’t “play nice” which I guess is a milestone of sorts). We also picked up three new patrons on Patreon. Progress.

But work on my initial list, which I’ve redrafted several times, has stalled. Though I’ve fiddled around with this piece of source code or that piece of source code, I haven’t made a single GitHub commit since December 1st.

We’re still two months away from the March 2019 Update so I’ll just have to pare down my initial list, probably focus on bug fixes and some code cleanup. But this downtime has also given me time to think about what is best for Storytron, what are the next effective steps to move it forward.

The original goal of Storytron was to kick start an interactive storytelling revolution—introduce people to the technology, show them a kick ass storyworld, and then step back while they sweep the barricades and changed the world of gaming forever.

It didn’t happen. While people might have understood the concepts behind Storytronics—a concise personality model, a dramatic verb web accessible via an inverse parser, a narrative engine controlled by Fate, using faces to convey emotional information, etc.—only a handful of people ever attempted to build a Storytronics storyworld of any substance.

Coming back to SWAT after a nine year hiatus I forgot the significant level of mental effort required to weave storyworld elements together into a dramatic whole. The SWAT user interface is usable but kludgy and the code that runs everything works but is a mess under the hood and could use some serious refactoring to make it easier to understand and maintain. The tutorials and author’s guide are woefully out of date.

I’ve come to the conclusion that redesigning screens, tinkering with user interface elements, porting the engine, etc. are premature. They’re important, but they also smack of rearranging deck chairs on the Titanic—it’s appears like progress but the ship is still slowly sinking.

So I’ve decided to focus my efforts on these four tasks.

  1. Create a tutorial storyworld called Popularity & Prejudice
  2. Integrate some form of the Encounter Editor into SWAT
  3. Integrate some form of the Face Editor into SWAT
  4. Rewrite the engine to make it cross platform

Popularity & Prejudice will be based on my previous work with Teen Talk (which was based on Chris Crawford’s 2012 re-imagining of Gossip, his 1983 game for Atari). There will be a companion wiki on the GitHub site that will walk an author through the process of creating a very basic conversational storyworld in five to ten lessons. The storyworld will be constructed using SWAT version 1.1.

The next step will be to integrate an encounter editor into SWAT based on the code that Chris Crawford has shared with me. At this point I don’t know what it will look like or how it will integrate into the rest of the verb web (I initially thought that encounter verbs should be tightly coupled to the rest of the verb web but that might restrict team storyworld development). SWAT with an integrated encounter editor will be version 2.0.

The third step will be to integrate a face editor into SWAT that allows the dynamic display of actor emotions. When I write “dynamic” I don’t know whether the faces will be a series of static graphic images swapped in or out or something more animated like Chris Crawford was attempting with his re-imagining of Siboot. SWAT with an integrated face editor will be version 3.0.

Between these major releases of SWAT there will probably be point releases that contain bug fixes, unit tests, code refactoring, and, yes, maybe even some minor changes to the user interface. But I’m not promising anything on this front and a lot will depend on the community of developers.

As the encounter and face editors are integrated into SWAT I’ll update the tutorial storyworld and write additional lessons to the wiki tutorial.

For the engine rewrite there will probably need to be some experiments to determine which language, Kotlin or JavaScript, is the best way going forward. Beyond that I don’t have much more detail.

This entry was posted in Side Projects and tagged , . Bookmark the permalink.