Blog Post

Integrating Narrative First and Subtxt Together

Jan 22nd, 2020

While the developments in narrative theory of 2019 have proven exciting, my favorite advancement this year is the merging of Narrative First and Subtxt into one product. The ability to seamlessly switch contexts from education to utility sets the stage for a new generation of writers well-versed in the practical application of meaningful storytelling. Imagine sitting down in a theater, or loading up Disney+, and not being incredibly disappointed at the incoherent and disjointed story playing across the screen.

That’s always been the dream behind Narrative First.

And now that dream becomes a realistic hope.

Starting Slow and Easy

Growing up, I originally wanted to be a computer programmer. My dad bought a top of the line 64K IBM PC for his consulting business back in 1980–not realizing that he purchased it for my consultancy. I promptly took the computer over as my own, stole as many hours as I could, and brought my imagination to life.

Without the internet or the Computer Science section of Borders to guide me, I reached for the first thing on the Computerland shelf that looked promising: a gray three-ring binder marked IBM PC Assembly Language.

Those who code know an inverse relationship exists between the facility of a programming language and its proximity to the base metal of the machine. Aside from binary, itself a collection of 1s and 0s, Assembly is the most arcane language for anyone to learn—particularly, for a ten-year-old in Southern California looking to make his version of Zork.

Assembly language looks like this:

MOV AX, 0000
MOV BX, 1000

These commands continue on and on, page after page until finally, you print your first word on the screen.

It’s a nightmare.

But one I happily engaged with day after day in my quest to create a digital world. After all, no one else I knew was doing this kind of work. It was as if I was capturing the spirit of what it felt like to be a world explorer hitting a new shore every single day.

And that feeling continues to this day.

Computer Linguistics

I eventually managed to write my first adventure—not as comprehensive, or as involving, like Infocom’s best (Deadline was my favorite)—but functional, and somewhat engaging for my little brother, my first tester.

However, I didn’t write it in Assembly Language—I wrote it in BASIC.

After who knows how long fighting memory registers and the PC’s DEBUG application with Assembly, I switched over to something infinitely easier:

10 PRINT “You are in a maze with a bunch of different tunnels.”
20 INPUT “Which direction do you want to go?”, d$
30 GOTO 10

I did manage to write a working copy of Snake in Assembly, but the amount of time required to accomplish that task proved to be too much for me in my tweens. BASIC was as simple to program as its name suggests, and served me well for several years—until that one fateful day.

After spending 10-12 hours creating my masterpiece text adventure, I turned off the computer before hitting Save--

--in a world before ubiquitous Autosave.

I was devastated. Everything I had worked on was simply gone—not a trace of it anywhere. I cried for two hours straight (I was still young, mind you!) and vowed never to touch another computer again.

So naturally, I chose a career in animation.

The Unavoidable Path of Destiny

In the late 80s, artists animated the same way they did back in the early 30s and 40s—with pencil and paper. I took to mine, was accepted into the Character Animation Program at the California Institute of the Arts, and after six rejection letters, eventually became an artist at Walt Disney Feature Animation.

I arrived shortly after the release of The Lion King. Hand-drawn animation was on top of the world (just a few short years before, Beauty and the Beast was up for Best Picture), and while I didn’t get to work on that seminal classic, I was amongst those who made the film a reality. More importantly, I knew I had a long and industrious career in animation ahead of me.

That is until Pixar came along and ruined everything.

I still remember working on The Hunchback of Norte Dame, and being invited to the theater to see two sequences from a film the Lifesavers commercial guys were working on up north. We left that screening stunned. At the time, we were blown away by the story and the characterization of Toy Story. It wasn’t until five years later that we would be blown away by the technology.


After finally becoming a Disney animator on Tarzan, a studio executive informed me in the bathroom that my contract I was fired. Hand-drawn animation was now a thing of the past. Disney made some feeble attempts at keeping the legacy going, but audiences didn't have the interest anymore. They wanted more Toy Story, and they wanted more Pixar. But I was determined to keep my dream alive—and there was no way I was going to let the computers win.

I spent a year in exile directing episodes of Dilbert for Sony before I lucked out with what would prove to be the highlight of my drawing days: animating horses on Dreamworks’ Spirit: Stallion of the Cimarron.

Unfortunately, audiences didn’t feel the same. And they felt even less for our next offering: Sinbad: Legend of the Seven Seas. I packed up my pencils while they shuttered my drawing desk to a warehouse in Glendale, CA. My next assignment was to be Shrek 2, an all-computer animated film. My drawing days were over.

But I can’t tell you how many times I hit Control-S that following decade and a half.

A Dramatic Discovery

Many attributed the success of Pixar to the new medium. Computer animation simply looked better than hand-drawn animation. Of course, I knew better—it was the story that drew Audiences and truly knocked us back during that first screening.

Around the same time I saw those first scenes from Toy Story, I discovered an even greater marvel of the universe: the Dramatica theory of story. Dramatica was everything I didn’t find on my shelves of screenwriting books and what I hoped I would find at a weekend seminar with Robert McKee. The theory presented a comprehensive understanding of story without caveats and exceptions. No backtracking, no fumbling of terminology—just straight-up wisdom that left me nodding my head with every page turn.

If there’s one thing you learn from Dramatica, it is that inequity is the mother of all motivation. And there was plenty of injustice in the stories I helped to animate. The shortlist of films I worked on with deficient stories included The Hunchback of Notre Dame, Hercules, Sinbad, pretty much every Dilbert episode*, Madagascar, Over the Hedge, Bee Movie, Monsters vs. Aliens, Megamind, Kung Fu Panda 2, Puss n’ Boots, Madagascar 3, and The Croods.

Just a shortlist.

By day, I helped produce broken stories. By night, I learned how to fix all those fractured stories. So I did what everyone at the turn of the century did when they had something important to say but weren’t in a position to be heard: I started a blog.

The Story Fan

Story Fanatic was my first step into the world of writing about narrative structure. It began as simple conversations with Dramatica co-creator Chris Huntley but sparked to life the moment I dared speak out about one of the greats.

While working at Dreamworks, I won an employee contest to view Steven Spielberg’s War of the Worlds in his private screening room at Amblin. Walking into the small secluded courtyard on the Universal lot and beyond the cobblestone well with the Jaws shark in it, I began to feel as if I had truly arrived. Spielberg was one of my heroes, and getting a chance to sit in his seat, and eat his popcorn was beyond the dreams of any ten-year-old who listened obsessively to the score for Raiders of the Lost Ark.

But War of the Worlds was no Raiders.

I couldn’t believe how awful the story was, especially when just around the corner, Chris and Melanie were offering a theory and software application that could have easily fixed the holes in the story. Why didn’t Spielberg or his screenwriters know about Dramatica? Someone needed to say something. Someone needed to point out the meaningless of a Deus Ex Machina ending. Someone needed to set the record straight.

So I went home, booted up my computer, and wrote a criticism of one of my all-time heroes. [War of the Worlds was my first analysis](/analysis/war-of-the-worlds"War of the Worlds - Analysis - Narrative First") of a film put out into public. No more hiding behind friends at lunch, no more complaining to whoever would listen when I got home, just raw criticism and recommendations for improvement—for all the world to read. With a blog, you hit publish, and in milliseconds the globe as a whole connects directly with your heart and mind.

And the best part is you don’t have to hit Control-S anymore.

It’s there forever.

That was 2006.

I’ve been hooked ever since.

Blogging into Development

Story Fanatic started as a Typepad blog, made a brief stopover in Wordpress hell, then settled into a full-blown Expression Engine installation. Why not? At the time, EE was the same Content Management System that ran the White House blog—if it was good enough for W, then it had to be good enough for me.

Expression Engine was great because of its extensibility. Wordpress had some extensions, but they didn’t seem to possess the same level of quality, nor did they do everything I wanted them to do. Plugins were haphazard and appeared amateurish compared to EE’s offerings. Add to that the fact that everyone’s blog looked like it was a WP installation, and I knew I had to jump.

The more articles I wrote, the more interested I became in switching from animation to story—the more excited I was in helping to write stories professionally. Story Fanatic became Narrative First to reflect a switch in focus from me to the outside world. I began to teach Story at the CalArts, sold a feature film to Dreamworks, and landed a spot in their Story Internship Program. I would argue online with professional screenwriters during my lunch break, animate in the afternoon, then develop my ability to teach narrative theory with my students until long past midnight.

Pure exhilaration, no exhaustion.

Around the same time, I convinced Chris Huntley to let me rework the entire Dramatica website. Confident in my abilities to craft HTML and CS into something delightful, I took to making what I consider to be one of the most important “discoveries” of all time more accessible for everyone.

Part of this rewrite included a feature to filter storyforms based on narrative dynamics (You can find the perfection of this idea with the Storyform Connections feature in Subtxt). While I was able to work out the basic functionality with EE, it dawned on me that to do what I wanted to do, I needed to go back to where I started.

I needed to start coding again.

But first, I needed to get laid off.

Remaining Steadfast and Growth

Once I realized that storyboard artists at Dreamworks had little to no impact on the actual story of a film, I moved back into animation. The timing, as always, proved fortuitous—Dreamworks was set to produce a 2D/3D hybrid film combining hand-drawn animation with computer animation. The film looked amazing, and the artists were excited to start drawing again—but guess what part of the film was awful?

Yep. The story.

The production shut down before it began, leaving a whole bunch of us without a home.

And now you know why the name Narrative First—hundreds of artists down the road rely on you to get the story right early. If not, countless waste in hours and overtime wages wash over the production, or worse—rampant unemployment for all. Better to get the narrative first, before calling everyone else to join you.

I worked a stint at Sony Pictures on the sequel to Cloudy with a Chance of Meatballs. Animated singing dwarves and Snow White for Disney World in Florida and the Shanghai Disney Resort. And I directed several episodes of Puss n’ Boots for Dreamworks Television. All the while, I continued to write for Narrative First and tinker with the presentation of the site.

Because there’s always a way it can be better.

Making Preparations for Forever

Expression Engine began to wear thin on me when it came to publishing my first book. A CMS like EE stores its posts in a SQL database. This storage often carries with it a specific method of formatting—a technique often incompatible with other publishing platforms.

2010 was the first year I wrote consistently for Narrative First (still Story Fanatic at the time). I published a new article every Thursday from the first week of March through Thanksgiving weekend. Naturally, at the end of it all, I decided I wanted to make a book out of all my hard work.

Only the hard work was yet to come.

Pulling out those posts from EE and converting them into a book format proved to be a nightmare. Copying and pasting blocks of text from window to another and manually checking italics and bolds because the formatting didn’t carry over. If I fixed the spelling on one side, I would have to manually adjust it on the other — tons of unnecessary repetition and wasted time.

Enter Markdown. Markdown is a way of writing in text files that is universal across all applications. Italics are wrapped in single asterisks, bold in double. Headlines find their way into a document through the pound-sign (hashtag), a single hash for an H1 header, two for H2s, and so on. By removing the text from its eventual representation, Markdown accomplishes two things: one; it allows the writer the opportunity to focus on the actual writing. And two, it makes it super easy to maintain one canonical version of your work that exists and persists across all devices.

For all time.

Text files aren’t going anywhere soon, or anywhere in the distant future. I used to write them back on my dad’s IBM PC and COMPAQ computers back in the 80s, I wrote them on my Palm Pilot in the late 90s, and I’m doing it right now in the 20s on my iPhone. I’ll be writing in TXT format until I take my last breath—and no matter what new surprising discovery lies waiting for us, someone will be able to quickly transpile all my work.


Arriving Full Circle

Writing in flat text files precipitated a move away from Expression Engine and the monolithic CMS. Why take the time to copy and paste your TXT file into SQL when you can have someone else do all the hard work? And that’s when I made a move to Statamic.

Statamic is a play on the words static and dynamic. Using flat text files as the database, Statamic dynamically serves pages based on a series of template layouts. Upload a new file or make changes to an existing one, and Statamic makes the changes on your site for you.

I was in publishing heaven. Working in TXT files meant there was only one canonical version of every article. To publish a book, I simply dragged and dropped the contents of one folder to another, and my work was complete. Add to that my discovery of Git, Github, and the versioning of these files, and my life was perfect. Git saves the changes to a file, not the data itself. In practical terms, this means no longer appending —ver1 or —third-draft-before-changes or any other random flag to the end of filenames. Artistically, this meant I could make changes with the confidence that rolling back to a version days or months ago as only a click away.

The deeper I got into Git, the more I learned about Pull Requests, and Forking, and open-source software. I geeked out over Plug-ins for Statamic and started to imagine ways I could somehow combine the two to help out my now-growing story consultancy.

I wanted to start coding again.

Mentorship and Consulting

After five years of publishing new content regularly, a director reached out to ask if he could pay me to teach him what I know about Dramatica. Excited that someone understood the importance of what I was doing, but not confident yet in the actual value of my work, I charged far too little and setup the Dramatica Mentorship Program.

One student grew to two. And then three, and four. I couldn’t believe people were paying me to teach them about Dramatica. Sure, my students at CalArts we’re technically doing the same, but they didn’t really have any say in the matter—they were forced to take my class. These writers wanted what I had to offer, and they kept coming back month after month.

And that’s when a professional screenwriter reached out and asked—not, that I teach him—but whether or not I would be interested in helping write his next screenplay.

The rest is history.

I began to take everything I was doing as a side hustle as my main hustle. I continued to write and publish something new every week; I cultivated my mailing list; I talked to clients during lunch and began to develop new and practical ways of applying Dramatica theory. I created the Playground exercises and laid the early groundwork for seeing the Relationship Story Throughline as a character. I even tried to use what I knew to be right about story to my Puss n Boots episodes that I was directing. If storyboard artists had little to no impact, directors at Dreamworks Television had even less. After a few failed attempts to make things better, I parted ways and took to Narrative First full time.

I made some attempts to get back in the game, but I felt like Don Draper returning to start again at the bottom. I had already come too far not to put my everything into story.

The last four years have seen a steady increase in the growth of Narrative First.

Narrative First 2013-2019

While the number of mentees in the Mentorship grew, I developed a steady stream of consulting clients, both amateur and professional. This growth led to the discovery of a certain kind of writer looking for something else than education or consulting. Some merely wanted a template—a leap pad to start the journey of writing their next novel or screenplay.

They wanted a cheat sheet.

Shortcuts to Story

The original incarnation of Subtxt was the Narrative First RoadMap—and it was 100% manual. I met with the writer, found out the intent of their peace, determined the storyform, then laid out a series of Beats—starting points—from which to begin writing their story.

Pretty much what Subtxt does now automatically.

The response to the RoadMap was so great that I knew it would need to scale beyond me eventually. I considered hiring and training RoadMappers, but the talent pool is shallow, and the interest level even less minuscule. No, the only way would be through technology—tech I would need to develop myself.

At first, I tried extending Statamic. I figured if the engine worked for a couple of hundred blog posts and articles, then yes, it would suffice for the thirty or so Storybeats in a complete story. I got pretty far with that approach, even managed to bring a couple of authors along for the ride. Unfortunately, that path required a lot of manual tinkering—tinkering I was more than happy to participate, but hacking I knew the general public would not accept.

It was time to head back to 1980.

On Being Friendly

Statamic introduced me to Laravel, the PHP framework its developers used to forge static and dynamic together. While I flirted with Ruby on Rails and other approaches to developing a web app, Laravel had one shining feature that made it stand out from all the rest. Actually, no—two shining features: documentation and community.

The reason behind the documentation should be apparent. Without a clear understanding of the intention of a tool, you never fully realize all that it can do. The second reason, though, is the most important. If there’s one thing I learned on this path from Zork to Marriage Story, it’s the community that makes all the difference.

The people invested in EE were smart, professional, and just plain lovely. Any time I had a question, there was someone eager and willing to help. Same with Laravel—but on a global scale. Laravel introduced me to VueJS, a front end framework for JavaScript, which eventually led me to NuxtJS (a framework for a framework!) and Netlify. The communities surrounding these last two were even more professional, more helpful, and just plain more excellent than many in the Laravel community. Anyone who has attempted creative work knows what it’s like to be surrounded by those who build you up, rather than take shots at tearing you down. With Nuxt and Netlify, I found a home in the former. The goodwill within these communities helps manufacture slicker code and better features, which results in a better final product.

That’s why I work so hard on moderating the discussion on the Discuss Dramatica boards. The Dramatica community needed a better place to interact with one another than a mailing list—so I dragged everyone over to Converse. That failed, so I tried HipChat. Then Google Plus. Then finally landed on Discourse. Every move motivated by making things better—every move a response to disinterest and abandonment—every move a step towards building a better community.

This desire is why I continue to record weekly classes with other writers in the Writers Room even though I have well over a hundred hours in the archives. I know how important the community is, and I know how much better things get when everyone enjoys contributing to the creation of something new. I know the difference between working on How to Train Your Dragon and the first ten years of this century.

Fueling the Future

Subtxt is a subscription service SaaS. At first, I wasn’t sure how the Dramatica community would respond to such an offering, but I knew it was something that had to be done. Dramatica Story Expert runs on the buy-once, use-forever model. The $249 I spent in 1994 is a valid license 25 years later. Do the math, and you’ll see that Dramatica as a service cost me .83 cents a month. You can’t run a service for writers on a $1 a month. The user base simply isn’t large enough to justify the costs of servers, maintenance, and further development.

That last bit was the most important to me.

Looking back over the past year in Narrative First and Subtxt, one sees giant leaps forward in the development of the Dramatica theory of story. Imagine where it would be now if we started Subtxt in 1994? The advancements of 2019 were made possible in part by its subscribers. Dramatica was made better by Subtxt—which made Subtxt even better.

It turns out; the business model was never an issue.

Everyone was waiting for this application.

Developing Subtxt

Years ago, I offered Genre Gist Collections for Dramatica—illustrations of narrative Elements tweaked for different Gentes. Through a simple bit of Python code, I was able to turn the 12,000 Gists that came with Dramatica into 300,000. One problem: Dramatica choked on any import over 20k.

Version one of Subtxt started as a way to circumvent this limitation. It frustrated me that a practical and hugely beneficial application of the theory was not possible given the age of Dramatica’s stack. Add to that the frustration PC users continue to endure without even limited access to this Gist feature, and I went to work. I rolled out v1 of Subtxt (then referred to as the Subtxt) shortly before Thanksgiving, November 2017.

The simple offering of Genre Gist Collections turned into simple story creation (the original Quick Story feature)t which then turned into the Story Outline, which in turn developed into the concept of Storybeats. I had been writing analyses for Narrative First for over ten years, and vetting storyforms for even longer at the User Group meetings and at CalArts, so it only made sense to add them to Subtxt’s database. Adding a visual representation of Throughlines to the storyforms was the next logical step as I had been writing about them as well.

The writing is the key—I’ll write an article exploring some new aspects of Dramatica, and if it seems helpful enough, I add it to Subtxt. Case in point: How to Build a Narrative Argument and what would eventually become Subtxt’s Premise feature. Realizing that Dramatica’s storyform intimidates a lot of writers, I found a way to distill those seventy Storypoints into a single sentence. After developing the algorithms, I added them to the codebase and rolled out the changes for everyone to enjoy—and to provide feedback. I made slight alterations, and Subtxt’s Premise feature (then called the Narrative Argument) was available to everyone.

Same with the Storybeat Breakdowns, itself a feature based on a series of articles as yet to be published. The idea of the Storybeat Breakdown comes directly from my time spent as an animator. My first role within the Disney studios was to “break-down” key poses drawn by the supervising animator, i.e., the drawings in-between the other drawings. Extending this approach to the process of diving into a particular Storybeat only seemed natural to me.

I went on to add many more features over the next couple of years. Storybeat Breakdowns necessitated the ability to import Dramatica’s Plot Sequence Report. Selecting Storytelling Illustrations (Gists) for these Beats opened up the need to submit new ones. And the development of Genres and Sub-genres, and multiple Relationship Story Throughlines, inspired new ways to access this information.

And wait until you see the new Premise Builder. Soon, you’ll be able to determine the unique narrative structure of your story without needing to know a single bit of Dramatica.

The most significant feature, though, is one I’ve been working on for 25 years.

My New Jam

As mentioned in the article, Writing the Path of Virtue, Subtxt is just getting started:

Subtxt is always in development, always in flux. While the current version is solid and being used in several different real world productions, the application—and its understanding of narrative—can always be improved.

As Subtxt’s sole developer, I always search out new ways of delivering the very best experience. As of this writing, January 2020–40 years after I started coding applications—the JAMStack is set to take over modern web development.

But I couldn’t wait.

Subtxt and Narrative First are already on the JAMStack—together—a dream come true for me.

Ten years ago, I started to work on a side project called “storymappr.” I created the home page, drew some cool illustrations for it, set up a Twitter account, and bought my first Apple Developers License. I wanted a way to combine all my writing into one useful tool that would help people write better stories. No matter where they were, using only the phone in their pocket or the tablet in their hand, or even their trusty laptop or desktop computer, they could connect with their story. I knew, regardless of the access point, everyone had access to a browser. I just needed the tech to catch up with my imagination.

Subtxt is storymappr made material.

The JAM in JAMStack stands for three satellite technologies working in orbit around a single application:

  • JavaScript
  • APIs
  • Markup

JavaScript to run the front end, APIs to grab the content (version-controlled, of course!), and plain-old’ HTML and CSS markup to deliver the goods.

Technology built for the way I’ve been writing the last two decades — a technology developed for writers looking to up their game through thoughtful theoretical concepts and useful tools.

The process is simple—taking us back to the mid-90s, just with the benefits of all the new. I build the site out into static webpages and then deliver them to the edge of a Content Delivery Network, or CDN with Netlify. Whether you’re down the street from me here in Valencia or at a cafe in Bali, you’re getting the same split-second response; you’re not waiting for a server in New York to build and deliver your content. The content you’re looking for is already waiting for you.

This approach translates into an app-like experience for the user. The design of Subtxt and Narrative First means they’re only one line of code away from being ready for the App Store of your choice (coming in 2020 😃).

These two applications are now one application—seamless integration between the stories you write and over two decades of thoughtful exploration and theoretical development. The events of 2019 that the experience will only get better. And with the release of VueJS 3 later this year, the interaction process will become so fast that Subtxt will remove all resistance, blurring the line between artistic intent and application.

Knowing from the Beginning

Narrative First is all about knowing where you want to go from the outset—it’s in the name. The last chapter in my recent book, Writing Your Story, says as much with the line:

If your subconscious already knows the Premise, then there is nothing left for you to discover.

Whether I care to admit it or not, I always knew I would end up back here—constructing a framework to deliver a story. The difference between when I started and now is simple, but powerful: it’s not just my story anymore, it’s yours.

And it’s great to see it all end in Triumph.