Lately, I’ve had an unusual number of people say things to me like, ‘It’s fantasy, so it doesn’t have to be believable.” Stuff like this makes giant rows of exclamation marks and question marks explode in my head. It always has to be believable. Always.
Now I don’t go about my daily life thinking there’s a possibility that I might get sucked into an alternate realm, or be bitten by a sexy vampire, or get caught in the middle of a wizard duel. But if I’m reading a book in which one of these things exists, I want to believe that, for the purpose of the story, it’s real. If I pick up an epic fantasy, and am happily reading along, cheering for your characters as they ride along on horses and hack each other up with swords, I will be very confused if suddenly, with no explanation, someone has a machine gun. Unless your sword-wielders have collided with a world where they have more advanced technology, I won’t understand, and I’ll stop believing in the world you’ve created. And I don’t think I have to explain why that’s not a good thing.
When writing fantasy, it’s so easy to get caught up in the idea that you can do whatever you want. It’s part of the fun of fantasy. There can be mutants and demons and dragons and fiery beasts. Anything your crazy mind can come up with. But it all needs to make sense in the context of your story. Is there a reason your main character suddenly has the ability to turn her arms into flaming swords, or is it only in there because it’s a convenient way to get her out of whatever mess she’s in?
Readers are obviously going into fantasy with the knowledge that they’re going to be transcending reality, but they’ll only go with you so far. Don't push them over the edge!