Today, I had some fun with a public movie database. What kind of fun, you wonder? Well, I have to explain the word ‘comp’ first.

What’s a comp?

You might be wondering what I’m talking about. Comp? Is that a person? An object? Short for ‘computer’?

Nope. Comp is short for ‘comparison title’. It’s a term from the world of novel pitching (and scripts, I think). It says what other work your story is like. We authors all pretend our work is the epitome of originality, of course, but really: everything has been done before. Originality is overrated.

So, when pitching a story, it’s good to have the right ‘comps’. And finding those is harder than it sounds. You need to understand your own work very well to make the right comparison. If you pitch your work as ‘Star Wars meets Mad Max’ but it’s hard science fiction about a world far far away where people live as harmonious nomad tribes driving around the desert, then you might just have tanked your pitch. Because Star Wars is not anywhere close to hard science fiction, and Mad Max is about a lot of things, but ‘harmonious’ is not one of them.

Comps are important for a variety of reasons. It shows the author knows what their work is about. The comp also helps editors and agents figure out the potential audience. And it helps Sales figure out how to market the story. Quick disclaimer: I am not an agent, editor, or sales person, I haven’t even managed to publish a novel with a traditional publisher. Your mileage with this information may vary.

So what did you do?

Considering the disclaimer above, what am I doing messing around comps? Well, there was a discussion in a writing Discord I frequent about good comps. One of those present, Rebecca Wilcox, suggested how cool it would be to have a random comp generator.

So, I thought, ‘challenge accepted’.

The result can be found on this site.

Let me tell a bit about how I made that. First thing’s first, I had to have a database of movies. I scoured the known world for one in file version that had no copyright or license issues (well, I Googled and found one). I dumped the database in a MySQL database running with my hosting provider.

Next up, how to get a random movie? You can download the entire database and then pick a random entry, but that would be grossly inefficient (you’d need to download some 20 megabytes of data each time you pressed the go button). Better to do stuff before you download the data. Specifically: write some PHP on the server to do it. Luckily, MySQL allows you to count records, and select by row number. So, you can just count everything in the database, pick a random number between 1 and that count, then pick that row and download it. And, for bonus fun, I added some filters to limit the selection to choose from.

Finally, I wrote a small frontend web application that called the PHP scripts on the server to retrieve two random movies, then throws them on the page. I added the tagline from the database, and links to IMDB.

And this is useful?

That’s the question of course. Is this useful for making a pitch? And the answer is: nope, not useful at all.

It is fun though.

You can use it to generate weird combinations of movies. For inspiration, or just a good laugh. For example, I just ran it and got “Independence Day meets Nancy Drew and the Hidden Staircase“. So, alien invasion combined with sixties murder mystery. That’s something different 🙂

So, have fun with it, and I hope this has shed some light on the world of story pitches for you.

Martin Stellinga Written by:

I'm a science fiction and fantasy writer from the Netherlands