This computational model of narrative can relate the same underlying events in various ways. Using text generation capabilities, Curveship expresses the same content and produces different narrative discourses. The system can tell events out of order, as with flashback. It can designate different characters as the narrator or narratee (the one telling or the one to whom the narrative is told), and, for instance, can tell the story from a standpoint before, during, or after the events themselves. Curveship is used regularly in teaching narratology and sometimes in research projects; it may find use in artistic production at some point.
The current version of Curveship, written in JavaScript/ES6,* has its own underlying representation of a storyworld (with actors, things, places, and events) and is intended to implement narrative variation online.
The Story of an Hour
(Prim)
The Prodigal Son
(Fabular)
The Simulated Bank Robbery
(Detached) (Witness)
I’m Waiting for The Man
(Casual)
—Nick Montfort
February 2, 2011–
September 19, 2025 †
* The original system was different in several major ways. It was programmed in Python, was a platform for interactive fiction development — there is a somewhat richer world model, as well as a parser — and was developed as a PhD research project. This earlier system, now called Curveship-py and at version 0.6.1, can still be downloaded. Nothing has been done to this Python system in many years, however. The author is not maintaining or developing it, and has no plans to do so.
† February 2, 2011 was the first free/libre/open-source software release of Curveship. The system was being developed for years beforehand, and the first publication about it was in 2006.