Plot your story at random

Dear readers,

Hello. It’s been too long. A How To Write Badly Well book has now been put together and is with the publisher. I will, of course, keep you updated. In the meantime, I thought we could try something a bit different.

Authors are asked all the time where their ideas come from. Usually they mumble something about scenic walks or reading the newspaper, then mention the title of their book again and glance meaningfully towards a bookshop. In an attempt to answer this tricky question once and for all, I have decided to turn storytelling into a quantifiable science (this has, in fact, been done before – see Vladimir Propp). To this end, I present the first in a series of handy tools for the muse-averse writer:

Use it wisely and please feel free to post your results in the comments section below.

All the best,


  1. This story is a disturbing tale of love and forgiveness. The protagonist is insightful and courageous; as the story unfolds, he/she will be forced to make shocking life or death decisions. By the end our hero's journey will just be beginning.

  2. Ah, yet another monosyllabic 19th-century philologist to go with Pott, Rask, Jones, Wulff, Wundt, Fick, Kopp, Grot, Kuhn, Paul, Thumb, Schmidt, and the two Grimms. In more modern times, we also have Whorf, Risch, Hirt, Neu, Rix, Sieg, Stang, Shields, Hamp, and (inevitably) Quirk, now known as The Lord Quirk.

  3. I used this in a workshop a couple of weeks ago and one woman swore blind that she'd rolled the exact combination for a Harry Potter novel.

  4. Oh, and as for that list of monosyllabic philologists, it sounds like an overstaffed law firm. One that would know case histories in great taxonomic detail.

  5. Thought that this would make an excellent computer program.
    Once you've got your data structure sorted out, you only need three lines of code in eg Perl.
    Data structure:

    my @choices = (
    [ 'tragic', 'terrifying' ...],
    [ 'love', 'death', ...],
    [ ... ],
    [ 'you will be chuckling to yourself for days.' ]

    And then:

    my @gush = map $_->[ rand @{ $_ } ], @choices;

    print "The story is a $gush[$i++] tale of $gush[$i++] and $gush[$i++].
    The protagonist is $gush[$i++] and $gush[$i++]; as the story unfolds,
    $gush[$i++] will be forced to $gush[$i++]
    By the end $gush[$i++]";

  6. This story is a romantic tale of rivalry and redemption. The protagonist is sarcastic and reckless; as the story unfolds, he/she will be forced to learn difficult lessons. By the end... our hero will have triumphed, but at what cost?

    A romantic comedy, if ever I saw one.

  7. I'll note this down in case I ever run low on comic ideas.

    And then I'll be sending a link, obviously

  8. Wow, thanks for the Perl, dave from paris. If I knew what to do with it, I’d be all over that. Something to file away for a day when I have time to learn a whole new awesome skillset.

  9. This reminds me of the computer program my husband made a few years back to generate Charismatic Christian book titles. Classic.

  10. I knew you were still alive! I just knew it. Looking forward to the book coming out. I'm sure it will probably make me die from laughter, which isn't a bad way to go and might be a boon to society at large.

    Here's what I rolled:

    This is a romantic story of crime and heroism. The protagonist is insightful and restless. As the story unfolds, he/she will be forced to make shocking life or death decisions. By the end, nothing will ever be the same again.

    I just rolled the script for "The Town."

  11. "This story is a disturbing tale of love and parenthood. The protagonist is sarcastic and deluded. As the story unfolds, he will be forced to return home in unexpected circumstances. By the end, you will be chuckling to yourself for days."