/On Patterns and Story

On Patterns and Story

I’m a writer. No big secret if you’ve looked at the rest of this site.

In a long swath of my week, I earn a living as a web developer/software engineer. I’ve been doing this a while now (longer than I’d like to mention really), and there are a couple of programming concepts I think some of you could benefit from if you apply it to your writing.

In the type of programming I do, I work with what are called objects. An object in simple terms represents a thing. (Bear with me if you want something more concrete – I’m going to get to that soon). There are two big concepts I’d like to help you get your head around: inheritance and polymorphism.

In programming, inheritance is the concept that objects inherit things – properties and methods in coding terms, from what’s called a base class. The base class is the basic building block of anything that inherits from it.

Polymorphism is the ability of an object to override, or change what it inherited from the base class. The new class retains some things from its parent, but changes can be made to how it works or what its properties are.

Some of you are probably reading this and scratching your heads, wondering what I’m talking about. Let me give you a concrete example: let’s take a pizza.

All pizzas share a few properties – they have a crust; they have toppings. Pizzas also share methods – they need to be assembled; they need to be baked… Every pizza has these things in common. Pizzas inherit from the base class pizza.

By varying things like the size of the crust, the kinds of toppings on the pizza, whether it’s thick or thin crust…you have different kinds of pizza. This is inheritance at work.

Now let’s take the same ingredients, and modify the way it’s prepared – instead of putting the toppings on top of the pizza, we’re going to put them on half the pizza and fold it over. Same ingredients, change the way you put it together…and you wind up with a calzone.

So what’s this got to do with stories?

Think back to when you first started writing. Odds are you liked to read, right? And you wrote things that were similar to what you liked to read. Maybe you took the fan fiction route and wrote something for your favorite characters; maybe you were a little more advanced and mixed it up with a few changes…this is inheritance and polymorphism at work.

What you’re doing here is you’re learning how these patterns work. Early on it’s OK to be derivative. That’s how you grasp storytelling.

When you do it enough, and you become more sure of yourself, you start changing things. Some of you probably did this early on, which is great. You’re getting there!

I bet a few of you – probably more than a few of you – have gone through this: you have an idea based on something else, and you try to make it original. So you tweak something.

Someone you know says that’s just like this other thing. And you get mad. So you change something else. And they say the same thing. And this continues, until you try to change so many things you wind up throwing the project out. This sound familiar?

First things first – relax. I know early on I wasted a lot of energy trying to make everything I wrote totally original. It’s impossible. If people look hard enough, you’re going to look like something else. Don’t believe me? Look up Joseph Campbell’s work on the hero myth.

There are other places you can look that’ll tell you something similar. There are a finite number of story patterns. There are an infinite number of ways to execute on those patterns.

You don’t need to come up with something completely original. Take an established pattern and shake it up. Change a few things – two, maybe three? Change the gender of the main character. Move the location. Even changing the weather will have an effect on the story. Keep it simple at first. You’d be amazed at where this can take you – a few small tweaks can have a really large impact.

This website is possible with the support of fans like you. I hope you'll leave a comment and consider learning more about my books.

Some know me as...Tim...