Breaking the Rules
Spoiler warning! This column gives away details about the movie The Matrix, although since until last Saturday night I was probably the only person in the western world who hadn't yet seen it, it's unlikely that anybody reading this can have it spoiled for them.
We game developers love movies about computers, especially if they've got virtual reality and other neat-o concepts like that in them, so I figured I'd better see The Matrix. After all, I hurried down to the cinema to watch Tron when it came out, and what a mesmerizing experience that turned out to be, huh? Didn't you love that scene where Bruce Boxleitner passionately kissed… a computer program? OK, she looked like a woman, but the movie told us quite unambiguously that she was a piece of software. Now, I admit that on occasion I have been tempted, when I finally evicted a really evil bug from my code, to give my monitor a little smooch, a kind of congratulatory peck on the cheek for finally having done what I meant. But I've never actually planted a big old smack on a subroutine, and frankly, I can't imagine what Bruce Boxleitner got out of it.
Some slightly funky plot elements – one inexcusable deus ex machina resurrection (Tank's) and another more excusable one because Neo apparently is literally a deus… ex…machina. Interesting , although biblical allegories normally make me want to yell "Find your own damn plot, you lazy slob!" at the author. There were some other unexplained logic gaps, too, but with enough special effects a movie can dispense with logic, right?
No, I'm sorry, that's just stupid. It's not just that it's goofily impractical – I'm willing to pretend that you could find a way to do it if you worked hard enough. What makes it stupid is that it's completely pointless. There's this little thing called the First Law of Thermodynamics, which I'm sure every evil machine knows by heart. It states very simply that you cannot get out of a system more energy than you put in. The machines were necessarily expending more energy keeping those human beings alive – not to mention simulating an artificial world as well – than they could possibly have gained from them. Imagine if, instead of human beings in vats, the evil machines were keeping endless rows of hamsters, each with its own hamster wheel attached to a generator. They would still have to feed the hamsters! And the energy in the hamster food must be greater than the energy produced by the hamsters. They would be better off to burn the hamster food in a power plant instead.
(Where does the hamster food get its energy? From the sun, but of course in The Matrix the human beings have blocked out the sun, so the machines couldn't actually grow any grain to feed the hamsters anyway. But there's still coal, oil, gas, uranium, hydro, the wind, the tides, and geothermal energy to tap – any of which would be more efficient than using human beings, or hamsters.)
So, ten out of ten for style, but only three out of ten for knowing what the hell they're talking about. Now, I'm sure this is not a popular view. I can already hear the jeering: "Man, you are such a nerd! That movie was totally radical, and only a serious propeller-head would be quibbling about the First Law of Thermodynamics in the face of so much awesomeness."
To which I say: guilty as charged. My tolerance for scientific ignorance, at least in worlds where science matters, seems to be shrinking all the time. I'm completely livid about the Kansas State School Board's decision to exclude evolution from the public school curriculum, for example. The Matrix is a techno-thriller, so in my opinion it ought to get its technology right – at least where it affects the whole point of the movie.
Well, let's talk about this. Actually, who cares varies quite a lot, and as a game designer, you have to be very sensitive to what your audience will and won't put up with. There's a quality that a good game has for which I don't have a name. It's not credibility; most computer games are not remotely credible anyway. It's more than just "engendering suspension of disbelief." I can only describe it in terms of its opposite: when a game doesn't have it, its players frequently yell "Bullshit!" at the screen and throw down the controller. It's a quality of being true to its own inner laws, true to itself, and true to the player. If you cheat on the player, or disappoint him or trick him, or do something that makes no sense (or worse yet, require that he do something that makes no sense), then you're lacking the magic quality.
This quality, whatever it is, is not the same from genre to genre. There are several ways to break the rules of the real world in a computer game, and the consequences of doing so aren't always the same.
First there's the underlying physics in a simulation. The guy that headed up EA's 3DO development team was a Ph.D. physicist, and he insisted that any 3DO game which simulated the real world – like John Madden Football, to take an example totally at random – must have Real Physics. So the team worked and worked on making the physics as real as possible. This had exactly the consequences you would expect, and in the end, they took all the Real Physics back out again. After that it played much better.
Fudging the physics in simulations is done all the time. Whether it's the right thing to do or not depends on your motivation for doing it. If you're doing it to improve gameplay, as we were, then go to it and God bless. If you're doing it to make a game harder, by creating a situation that a player has a hard time coping with because it doesn't resemble the real world, then I think you are in effect cheating. There are more honest ways of balancing your game.
But suppose we had broken a different real-world rule – the rules of football itself. This is strictly forbidden. Mr. Madden would never have tolerated it, and nor would our customers. In the sports genre, this is an area where you can't cheat. If you're going to simulate a real-world sport, you have to get the details of that sport right or the players, not to mention the reviewers, will roast you.
Military vehicle simulations are another area where you have to get it right – some of the time. Serious fans of military hardware know every detail of the gear, and they want the simulation to be accurate both in appearance and performance. However, not all the people who buy flight sims are serious fans of military hardware. Some are just people who want to fly around and blow stuff up. For them, you need to make the plane easy to fly and the stuff easy to blow up. Most importantly, you need to let your customers know which kind of a sim you're selling them: a hyper-accurate one or a light, easy one. This needs to be clear on the box and in the ad campaign. If you're ambiguous about it, you'll probably end up disappointing both camps.
On the other hand, a time-honored SF technique is to break only one rule and then see what happens. H.G. Wells did it wonderfully in The Time Machine and again in The Invisible Man. His protagonists were fully human and subject to all human frailties, but one could travel through time and one was invisible. His novels explored the possible consequences of possessing these powers – sobering in the former case, tragic in the latter. I would suggest that you adopt a policy to break no more rules than you have to. The more rules you break, the more unbelievable and even ridiculous your game becomes.
The other thing to look at is how egregious the violation is, and also whether or not it's already familiar to the audience. Take hyperspace, for example. Most spacegoing science fiction stories depend on some form of faster-than-light star drive. Einstein's special theory of relativity seems to prohibit this in normal space, but that doesn't preclude us postulating hyperspace or wormholes or some other kind of gimmick that does an end run around him. Audiences are used to this, and you don't have to be specific about how it works – in fact, it's better if you're not. Han Solo talks about "making the jump to hyperspace" and that's all they need to know.
However, you need to avoid things that the audience is going to find patently absurd. Hyperspace is not patently absurd, because there's nothing in our everyday experience that explicitly prohibits it. I find the idea of farming humans for their body heat patently absurd, but I imagine most of the people who watched The Matrix didn't give it that much thought. In The Andromeda Strain, Michael Crichton postulated a life form that contained no proteins. Here I'm out of my depth. Biologists probably think this is hilarious, but I'm not educated enough to know, and it doesn't bother me. On the other hand, it wasn't central to the plot, either. The key discovery in The Andromeda Strain (spoiler coming) was that the organism could survive only within a very narrow pH range – the balance between acidity and alkalinity. That's entirely believable, because Earth organisms have similar limitations.
When you do fantasy, or cartoon-style games (and I put Sonic and most other action games in that category) then you throw away the rule book. Magic exists, dragons breathe fire, bears carry birds around in a backpack – whatever you want. That doesn't mean there are no rules; it means you have to write your own. They still have to make sense in the context of your world, and you still have to avoid causing the player to throw down the controller and shout "Bullshit!"
You can challenge the player; you can frustrate the player (within limits); but you should try not to do anything that will anger him or above all, earn his contempt or disgust. Computer games are fantasy worlds: the rules are made to be broken. But know that you're breaking them – think about it – and then choose wisely which ones you break.