A new (from scratch) Screenwriter is born

Movie Dreams screenshot showing Chinese screenplay

Movie Dreams Screenwriter is a screenplay focused word processor.

It is called Movie Dreams because the word “magic” has no Chinese translation with positive connotations. All magic is bad: like voodoo.

The core functionality of the application; document editing, screenplay formatting is implemented in ~27K lines of C++ code and is deployed as a dynamic library; libscreenwriter.{dylib,so,DLL}. Included also is a robust test suite of 1,900+ individual use cases in ~8K line of code.

MovieDreams is a Unicode program from the start.

The work was done by a team of three full-time developers, plus others who worked on documentation, translation, testing and the Windows installer. The work took place from mid-May 2014 to August 2016.

The user interface is implemented in ~41K lines of Java using the Swing toolkit.

The UI is fully internationalizable and a translation to Chinese was developed alongside English.

The program runs as a single process using JNI to bridge the language domains.

Text shaping is performed by HarfBuzz to guarantee identical layout and pagination on all supported platforms.

The program can read Word's DOCX format files and reads and writes it's own compressed XML screenplay format we called SCWX.

It has a fault detection and reporting feature that can upload reports to a server for later analysis.

Paged and Continuous Mode

Movie Dreams screenshot showing paged vs. continuous mode

As you can see from the above image; you can choose to see the page breaks or work with the screenplay without all that bother.

But page breaks are one of the reasons you need a screenplay specific word processor. Notice that dialoge cannot be broken in the middle of a sentence. When breaking dialoge “(MORE)” needs to be added and the character name needs to be repeated at the top of the next page with “(CONT'D)” appended.

Production (or Shooting) Script

Once a project goes into production the script page numbers and scene numbers must not change. Yet, of course, the re-writing continues. Tracking revisions for production scripts is another thing that traditional word processors just don't do.

Valid HTML 5