Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Scriptwriting Software

edited December 2014 in The Toolbox
Does anyone have experience that they'd care to share in regards to the various scriptwriting programs out there?
I'm feeling divided between either Celtx or Scrivener but I know that there are more out there.

Comments

  • What kind of scripts? 

    I ended up just setting up some macros to write television/film scripts in Word. For comics, I don't use anything but the tab key.
  • edited December 2014
    I've used both Celtx and Scrivener and always end up back in Word saving as an RTF for compatibility. 

    Didn't really like the way either formatted the scripts. I still use Scrivener for novels, but not comics. 
  • I script in Scrivener, then export to Word and massage the formatting.

    I love Scrivener. It's just amazingly modular. For me, each page, panel and panel's worth of dialogue/text are their own separate objects. I can drag and drop them to rearrange them; I can hide or show each one, letting me do things like just see the panel descriptions in a page without the dialogue. And it syncs with Aeon Timeline, which I recently started using to make timelines of the events in each project, both as a way to keep everything consistent and as an alternate, more visual way of approaching a plot.
  • Unless Celtx has had some improvements since I last saw it, its 'comic script' format doesn't resemble any comic script I've ever seen, and its only cross-platform output format is PDF, which will cause your letterer to track you down and stab you in the eye with a Wacom stylus.
  • @EricPalicki comic scripts. As much as I love the idea of using a simple program and formatting it myself, I get really annoyed having to do my own formatting. Especially since I'm battling myself to write, I need fewer obstacles to the writing process and fewer excuses not to write. I read the article and that's pretty cool. My next question would be, do you think it would work in Libre Office?
  • I started trying to work on a script in Celtx and it's really not formatting the way I want it to. Well...that's not exactly true, because I'm forcing the formatting to do things it wasn't supposed to do.

    I'm thinking that I'm going to finish writing it in Celtx, send it to my editor and hope that he doesn't get too freaked out that it may not be in the exact format that he was looking for. Then in my next draft switch over to Scrivener who's comic template was actually created by a comic writer, and some of the other parts of the program look pretty tasty as well.
  • The formatting I do in LibreOffice is pretty trivial: Left-aligned (command-L) with panel numbers for descriptions, centered (command-E) with capitalized names for dialog, and italics and bold as needed.  At worst I find myself fiddling with whether there are one or two blank lines between panels, so doing the formatting myself doesn't get in my way.
  • For comics? I just write everything flush left. And if a writer sends me something with fancy formatting and their name and address on every page, I usually take my precious a little time and strip it all out before I begin. If I can. Sometimes they have that crap so hardwired into the thing it fucks me up trying to get it out of my way.

    Flush left. CAPS or Boldface for headers, page/panel numbers and speaker identification. Just normal typing for everything that goes onto the page.

    RTF works beautifully.
  • "For comics? I just write everything flush left. And if a writer sends me something with fancy formatting and their name and address on every page, I usually take my precious a little time and strip it all out before I begin. If I can. Sometimes they have that crap so hardwired into the thing it fucks me up trying to get it out of my way."

    This is why I ask every artist I work with what their preferences are, as far as script formatting goes.

    None of them have ever gotten back to me about it, to date. But I still keep asking!
  • Luckily, at the moment, I only need to satisfy an editor who is used to screenplays for film but who has also reviewed some scripts for comics.

    However, when I begin work on my next script I'll keep in mind formatting for the artist.
  • I feel compelled to point out that script formatting will have minimal effect on an artist. As long as page and panels are clearly identified and the panel descriptions are written in a language the artist can understand, the requirements are pretty much met.

    Letterers, however, need an editable text format (NOT, repeat, NOT PDF) — .doc, .docx, .rtf, .odt or even .txt should all be fine. Least hassle (from my point of view, at least) is to write all dialogue and captions in standard sentence case. Either centred or left-aligned, with a hard return between the identifier and the actual text:

    CAPTION:
    Meanwhile, on the other side of town…

    FRANK:
    Wait a minute, Joe… you can't be serious!
  • Ah, that's something I hadn't thought of until you mentioned, but it definitely makes sense.
  • @JimCampbell So, using all-caps for dialogue is a no-no?
  • Lettering fonts (generally) use upper and lower case to give different versions of the uppercase characters. Upper 'I' will generally give you the crossbar version used exclusively for the pronoun 'I' whereas the lower will give one that's just a vertical stroke. If you script in all upper, all the 'I's will need converting (I have a macro in Word that does this) but you're also missing out on the variant characters so the lettering looks more mechanical.
  • in fact, I've been trying to train myself not to capitalize the letter "i" at the beginning of sentences in dialog (unless it's the word "I"), so I don't have to do this manually when I letter it later.
  • TBH, it's probably easier just to type normally and then just have a macro that makes all the lettering-specific changes for you.
  • Warren Ellis' "I type in uppercase so I can see what the dialogue looks like on the page" thing has never made sense to me, largely because comic book lettering DOES NOT LOOK LIKE THAT.

    Credit to the people who letter my stuff - I do a lot of stuff that doesn't directly translate, but they almost always get what I'm going for.
  • I just use a lightly modified version of the Dark Horse template, in Word, saved as a doc/docx. I only just stopped doing all-caps dialogue this year.
  • And now *I* feel behind the times as I've been scripting in all-caps. :)
  • I still do character names in all caps, in the panel descriptions. "DREDD on bike.", that sort of thing.
  • Well, I can't type, so I have to keep it simple.
  • I meant the dialogue. I have been doing all-caps for the dialogue.
  • Gotta defend that weird comic book script layout Celtx exports, btw. You can't really show it to anybody if you can't stand people looking at you funny, but it's great for making the panels feel like panels when you're reading it. Which helps more than you'd think with writing them as panels, for some reason. Continuous action doesn't seem to slip into the panel descriptions as easily that way, and that extra field for the dialogue gives you a great visual cue when you've overwritten a line.

    That said, I purchased Scrivener when Appsumo had a $20 special offer a while back, and I haven't looked back since. I've even started writing essays with it. The modular organization, the different views and extra info you can easily access just when you need it - this works great with the way I write.
  • Warren Ellis' "I type in uppercase so I can see what the dialogue looks like on the page" thing has never made sense to me, largely because comic book lettering DOES NOT LOOK LIKE THAT.

    Credit to the people who letter my stuff - I do a lot of stuff that doesn't directly translate, but they almost always get what I'm going for.
    YMMV, but I still think that typing dialogue in all caps gives you a better sense of how much space it will take up on the page/in a panel. That said, I quit typing it in all caps about a year ago, mostly because Jim and other letterers admonished me to stop.

    YMMV, BUT I STILL THINK THAT TYPING DIALOGUE IN ALL CAPS GIVES YOU A BETTER SENSE OF HOW MUCH SPACE IT WILL TAKE UP ON THE PAGE/IN A PANEL. THAT SAID, I QUIT TYPING IN ALL CAPS ABOUT A YEAR AGO, MOSTLY BECAUSE JIM AND OTHER LETTERERS ADMONISHED ME TO STOP.


    (See, I sometimes lose sight of how dense I've written my dialogue, especially when that density is disguised as sentence case.)

  • Yeah, that ALL CAPS version tells you that you stuck too much into a single balloon. But then, you knew that anyway.
  • The formatting I do in LibreOffice is pretty trivial: Left-aligned (command-L) with panel numbers for descriptions, centered (command-E) with capitalized names for dialog, and italics and bold as needed.  At worst I find myself fiddling with whether there are one or two blank lines between panels, so doing the formatting myself doesn't get in my way.
    Wow, I really need to do that from now on.
Sign In or Register to comment.

Debug Trace

Notice
The addon in /plugins/AboutMe has 1 issue(s).

#0 [internal function]: gdn_ErrorHandler(1024, 'The addon in /p...', '/home/steve55/p...', 795, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(795): trigger_error('The addon in /p...', 1024)
#2 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(829): Vanilla\Addon->triggerIssues()
#3 /home/steve55/public_html/sequentialworkshop.com/forum/cache/addon.php(1582): Vanilla\Addon::__set_state(Array)
#4 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(319): require('/home/steve55/p...')
#5 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(740): Vanilla\AddonManager->ensureMultiCache()
#6 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1094): Vanilla\AddonManager->lookupAddon('stubcontent')
#7 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1074): Vanilla\AddonManager->lookupByType('stubcontent', 'addon')
#8 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(247): Vanilla\AddonManager->startAddonsByKey(Array, 'addon')
#9 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#10 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#11 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#12 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(30): require_once('/home/steve55/p...')
#13 {main}
Notice
The addon key must match it's subdirectory name (about me vs. AboutMe).

#0 [internal function]: gdn_ErrorHandler(1024, 'The addon key m...', '/home/steve55/p...', 797, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(797): trigger_error('The addon key m...', 1024)
#2 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(829): Vanilla\Addon->triggerIssues()
#3 /home/steve55/public_html/sequentialworkshop.com/forum/cache/addon.php(1582): Vanilla\Addon::__set_state(Array)
#4 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(319): require('/home/steve55/p...')
#5 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(740): Vanilla\AddonManager->ensureMultiCache()
#6 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1094): Vanilla\AddonManager->lookupAddon('stubcontent')
#7 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1074): Vanilla\AddonManager->lookupByType('stubcontent', 'addon')
#8 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(247): Vanilla\AddonManager->startAddonsByKey(Array, 'addon')
#9 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#10 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#11 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#12 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(30): require_once('/home/steve55/p...')
#13 {main}
Notice
The addon in /plugins/Emotify has 1 issue(s).

#0 [internal function]: gdn_ErrorHandler(1024, 'The addon in /p...', '/home/steve55/p...', 795, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(795): trigger_error('The addon in /p...', 1024)
#2 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(829): Vanilla\Addon->triggerIssues()
#3 /home/steve55/public_html/sequentialworkshop.com/forum/cache/addon.php(1806): Vanilla\Addon::__set_state(Array)
#4 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(319): require('/home/steve55/p...')
#5 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(740): Vanilla\AddonManager->ensureMultiCache()
#6 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1094): Vanilla\AddonManager->lookupAddon('stubcontent')
#7 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1074): Vanilla\AddonManager->lookupByType('stubcontent', 'addon')
#8 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(247): Vanilla\AddonManager->startAddonsByKey(Array, 'addon')
#9 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#10 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#11 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#12 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(30): require_once('/home/steve55/p...')
#13 {main}
Notice
The addon should have at most one plugin class (EmotifyPlugin, EmotifyPlugin).

#0 [internal function]: gdn_ErrorHandler(1024, 'The addon shoul...', '/home/steve55/p...', 797, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(797): trigger_error('The addon shoul...', 1024)
#2 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(829): Vanilla\Addon->triggerIssues()
#3 /home/steve55/public_html/sequentialworkshop.com/forum/cache/addon.php(1806): Vanilla\Addon::__set_state(Array)
#4 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(319): require('/home/steve55/p...')
#5 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(740): Vanilla\AddonManager->ensureMultiCache()
#6 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1094): Vanilla\AddonManager->lookupAddon('stubcontent')
#7 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1074): Vanilla\AddonManager->lookupByType('stubcontent', 'addon')
#8 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(247): Vanilla\AddonManager->startAddonsByKey(Array, 'addon')
#9 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#10 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#11 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#12 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(30): require_once('/home/steve55/p...')
#13 {main}
Notice
The addon with key GoogleSignIn could not be found and will not be started.

#0 [internal function]: gdn_ErrorHandler(1024, 'The addon with ...', '/home/steve55/p...', 1076, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1076): trigger_error('The addon with ...')
#2 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(247): Vanilla\AddonManager->startAddonsByKey(Array, 'addon')
#3 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#4 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#5 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#6 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(30): require_once('/home/steve55/p...')
#7 {main}
Notice
The locale with key SequentialWorkshop could not be found and will not be started.

#0 [internal function]: gdn_ErrorHandler(1024, 'The locale with...', '/home/steve55/p...', 1076, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1076): trigger_error('The locale with...')
#2 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(249): Vanilla\AddonManager->startAddonsByKey(Array, 'locale')
#3 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#4 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#5 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#6 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(30): require_once('/home/steve55/p...')
#7 {main}
Notice
The locale with key SQWSHP could not be found and will not be started.

#0 [internal function]: gdn_ErrorHandler(1024, 'The locale with...', '/home/steve55/p...', 1076, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1076): trigger_error('The locale with...')
#2 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(249): Vanilla\AddonManager->startAddonsByKey(Array, 'locale')
#3 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#4 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#5 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#6 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(30): require_once('/home/steve55/p...')
#7 {main}