A Good Magic System is a Gunfight

For me, one of the most enjoyable parts of writing fantasy is creating and then playing within the ground rules for a brand new world. Inventing the countries and peoples that inhabit them, coming up with new theologies, creating otherworldly flora and fauna and most importantly, creating a solid magic system. Magic, like mythical creatures and heroes swinging swords around, is a mainstay of almost all fantasy, and the magic systems I like best are those with clearly defined rules – especially if that magic will be used in battle. Why? Because a clearly defined system makes for a damn good gunfight.


When other authors ask me how I approach creating magic systems for my books or defining rules for the use of magic, I often use this metaphor because a gunfight uses a tried and true system anyone can understand. We all know how a gunfight works. We know the possible outcomes and what factors will determine if those involved win or lose. As the gunfight continues we can estimate how it’s going for both sides, know why it’s swinging one way or the other, and when the bullets finally stop flying, we know why each participant won or lost. The outcome doesn’t feel random. It feels earned, and magic that’s not earned is just a deux ex machina waiting to solve an unsolvable problem. It feels cheap.

All Hollywood gunfights occur using a set of rules we understand. Dirty Harry’s classic line “You’re thinkin’ did he fire six shots or only five?” is memorable because we, the audience, know Dirty Harry uses a revolver. A revolver holds six shots, which means he’s either out of ammo or he isn’t. We can ponder his question, he and his antagonist can ponder his question, and suspense builds because everyone knows what he’s asking. Can he shoot or not? We’re engrossed because we understand the system, and if we didn’t understand it this great moment in cinema history would fall flat. We’d just passively wait to see if he shot the guy and not know why he was waiting or what the big deal was.

A gunfight is suspenseful and memorable because we all know how guns work. They are deadly weapons and, certainly, a direct shot in the head may kill you. But maybe you just get hit in the arm. Or maybe you’re wearing body armor. Yet a gunfight is even deeper than that. Just pulling a trigger doesn’t guarantee victory. You need to aim and that can be difficult. Your target could be running, or behind cover, or shooting back. There’s all sorts of factors and variables a good author can play with to build suspense as a gunfight escalates and all of it occurs in a way you, the observer, understand. You’re engrossed because you understand the rules.

This is why I like my fantasy with a magic system that is clearly defined, a system I can understand. A system understood by both author and reader makes magic use memorable and suspenseful, especially when magic is used in battle. Without a clear magic system with defined rules suspense is limited to reading along until the author tells us if the heroine won or lost. That’s not interesting. If I don’t have any idea why a battle ended how it did or why the victors won (other than “they used magic”) then I’m bored. Watching any contest isn’t interesting if you don’t understand the rules.

This is why I designed the magic system in Glyphbinder and Demonkin the way I did – as a system of limiting, specialized glyphs that consume the caster’s blood. The glyphs available to the mages of my world all have clearly defined strengths, limitations, and counters. My mages must both be skilled in scribing glyphs correctly (aiming) and set aside time in battle to do so (reloading). The more powerful the glyph is the more skill it requires to scribe and the longer it takes to complete. Finally, scribing any glyph consumes blood and blood is a finite resource that replenishes at a slow rate (ammo). Scribing too many glyphs can make a mage anemic and continuing to scribe may even kill them.


Because I’ve defined my magic system with clear rules, my mages must use magic smartly and with care, rather than just casting a spell because that spell solves a story problem. Because my readers understand how my system works, I can build suspense during battles and my readers always know how any fight is going and just how much trouble my characters are in. That’s the type of fantasy I like to read and it’s the type of fantasy I try to write. That’s why I believe a good magic system is a gunfight.

Not all books explain their magic systems and that’s absolutely fine. Some are intentionally vague for any number of good reasons, such as a desire to keep magic mysterious or if the world is one where magic is sparsely used. When done properly (and talented authors have done this many times) magic that’s entirely unexplained can be just as memorable as magic with clear rules. Yet doing this is always a risk, and when done poorly it often feels like like the author simply couldn’t solve the problem any other way. That’s never a good reason for something to happen in a book, which is why I recommend authors always understand the rules behind their magic systems, even if they don’t explain them to the reader.

Ultimately, magic is to fantasy what technology is to science fiction. It’s the highlight, the gimmick, and what sets this author’s world apart from others. The fantasy worlds that stay with me are those where the author explained the rules, where the magic has costs and limitations that are clearly defined, and where I get to see those rules and limitations played out by people in opposition to each other. Those are the worlds I want to visit again and again because the magic is earned, exciting, and memorable.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s