The Summer Superhero Spectacular

Scriptnotes: Ep. 144

John and Craig are joined by the writers of the some of the biggest superhero movies to talk about why these characters resonate. Andrea Berloff looks for the primal essence of Conan. Christopher Markus and Stephen McFeely discuss the challenge of bringing Captain America to a global audience. David Goyer talks about keeping Batman grounded even while Superman flies. Then the whole panel gets busy rebooting randomly-assigned superheroes.

Then it’s time for the Three Page Challenge, with special guest judge Susannah Grant joining us to look at three entrants with scripts ranging from singers to zombies to yes, superheroes.

This episode was produced as a benefit for the Writers Guild Foundation, whose programs support writer education.


You can download the episode here: AAC | mp3.

UPDATE 5-23-14: The transcript of this episode can be found here.

Find and Replace, a screenwriter’s best friends

Since the early days, I’ve been using Find and Replace to take care of small issues in scripts. For example, I change the location in a series of scene headers. Or I’ll search for two spaces and replace them with one, because I’m now a one-spacer.

Today, I came upon a new use for Find and Replace.

In Fountain, you can leave notes for yourself by surrounding them in double brackets [[like this]]. These notes don’t show up when you print or export, so it’s fine to leave them in your script.

But sometimes, you want the notes to print. David Wain wrote me this afternoon:

I’d love to be able to send a PDF of my Fountain script that looks like a screenplay, but still has the bracketed notes inline so the reader can see all info in the document.

A super-simple way to do this is to get rid of the closing brackets on those notes. That way, they’ll print as action lines.

Just do a Find/Replace. Search for ]], and replace them with nothing. If you don’t want the opening [[, just search for those and replace them with nothing — or maybe something like “Note: “

This technique works in any text editor. But if you’d like a little more power, there’s now a better way.

Highland 1.7 has new find-and-replace talents that can do much more sophisticated matching.

screenshot of find

Using the pattern above, you can change out double brackets for double asterisks all in one pass. Your notes will print in the script as bold action lines.

Here’s how to do it.

First off, save your document. Better saved than sorry, and you’ll want a version that keeps your notes all note-like.

Do a Find (⌘F).

The pattern you’re looking for is [[(any random text)]]. The brackets are easy. Matching the text between them has traditionally been more difficult.

Highland now has a wildcard token called (Any). You can find it by clicking the magnifying glass and choosing Insert Pattern from the menu.

screenshot insert pattern

In the next menu, choose “Any Characters.”

screenshot insert

Your find field should now be [[(Any)]].

Tick the Replace checkbox on the right. In the next field, you tell Highland what you want it to put in place of what you found.

Let’s start with two asterisks. Then put another (Any) token. You can get it from the same Insert Pattern menu, or just copy-paste it from the line above.1 Finally, put another two asterisks so the whole line gets bold formatting.

Click the All button to replace all of the notes in the script. Those bracketed notes are now bolded action lines.

The options in the magnifying glass are useful for other things as well.

  • By unchecking Ignore Case, you can match TOM versus Tom. To swap out a character’s name, do one pass for TOM, another for Tom.
  • Use Full Word in order to match “ant” but not “antagonize.”
  • The find menu lists recent searches, saving you a step.

Finally, one of my favorite features in Highland 1.7 is the faceless Find Again. Even when the Find field is closed, ⌘G will repeat your last search. It’s a handy way to hop through your script.

Almost all of this functionality comes for free with Mac OS. It’s one of the reasons it’s not easy to port Highland directly over to Windows or Linux or a web-based application.

  1. Behind the scenes, this is done with regular expressions. If you copy-and-paste this (Any) token, you’ll find it works in many Mac apps, even ones that use older Find dialog boxes.

Why do people buy apps some days and not others?

Every day, I check to see how many apps we sold the day before. Every day, I’m surprised.

Week-to-week, we tend to sell about the same number of apps, but the variability day-to-day is higher than I would have expected, and doesn’t seem to follow obvious cycles. Highland rises and falls without much relationship to the day of the week.


Weekend Read has an in-app purchase allowing for an unlimited library. People aren’t buying it just for the weekend.


Stranger still, the sales of Highland and Final Draft seem entwined.


Why did both apps suddenly climb last week? For Highland, it might be because of my recent blog post, but why would Final Draft have matched its ascent? (Still, it’s nice to see Highland overtaking Final Draft at times.)

As I said at the beginning: week-to-week, it tends to average out. And a statistician would probably be able to look at the p-value and explain that it all falls within an expected range of variability. But I still wonder why it each day is so different.

Checking batches of PDFs

Last week, I wondered aloud how I could check creator codes on a folder full of PDFs without checking them one-by-one.

Zoë Blade wrote in with a Terminal command, but it turns out I could do it in Automator very easily. Here’s the workflow.

automator workflow

Why didn’t I try Automator first? Past experience.

Over the years, I’ve tried doing a dozen things in Automator, only to run into obstacles where it can’t do quite what I need. Often, the breakdown is conditional logic, or the need to transfer a value from one section to the next.1

This is the rare case where Automator does almost exactly what I want. I’ve saved this workflow as an application so I can periodically test batches of files.

  1. Having played with other building-block environments like Scratch, I know it’s absolutely possible to do logic and variables in a drag-and-drop way, but I have a feeling Automator isn’t getting updated.

Photoplays and archetypes

Scriptnotes: Ep. 143

In a wide-ranging episode, Craig and John look at a 1912 screenwriting book, Levinson’s beef with the WGA, and the Periodic Table of Storytelling.

We also answer listener questions about keeping secrets from readers, firing managers, and what happens to a Broadway show after Broadway. Plus, more follow-up on old One Cool Things.

There are still (maybe?) tickets for the live show on the 15th. See the links for details.


You can download the episode here: AAC | mp3.

UPDATE 5-16-14: The transcript of this episode can be found here.