[In this reprinted #altdevblogaday opinion piece, Vigil Games's Mike Birkhead describes his "common sense design" idea for Hero Units, which aims to make communicating unit sizes easier.]
No two companies can ever agree on units, which is to say that no two engines can ever agree on units. This I have learned. It seems a minor problem, I know, but for us, the designers, it is a problem; an annoying one, as it makes talking about certain things very difficult.
Let's say, for example, that I tell you a great starting size for a combat arena is 30 units. What have you learned? Well, nothing. What if I tell you the answer is 30 feet? Still nothing, and why?
If you will remember from another article I wrote, Pacing Graphs and Proper Communication
, numbers only have meaning when you compare them to other numbers; therefore, in this case, that statistic of 30 feet only has meaning when I tell you that the Hero is 8 feet tall. Suddenly everything has scale.
But even a statistic like 8 feet defies consistency between studios. Some companies use what I shall delightfully refer to as "deca-feet." So a hero stands 80 units tall. You can see, now, how communication, both intra- and inter-, between designers can become muddy — and it happens very fast.
This is why I have my own solution. I express everything in terms of Hero Units.
Hero units and scale
So what is a Hero Unit? Well, one Hero Unit (HU) is equivalent to the height of your hero. Simple as that. I like it for three reasons. First, the hero is one of the only indelible components to your game, as it's sorta hard to have a game without one, and, as they are generally the first things made, the starting scale is defined by them.
Second, all your mechanics must feel right with the hero and for the hero, so, of course, they are going to be defined by his scale. Last, and most important, when the scale changes, as it undoubtably will, your designs are ready for it.
Why would the scale need to change? Well, maybe your hero feels too small in the spaces you are building, maybe too big; maybe he looks puny next to those monsters you are making, maybe they too small.
The reasoning is inconsequential to your problem, which is thus: if the scale of the hero changes, then, chances are, if he used to jump 16 units, now he's going to jump something else, and all those documents you wrote are now wrong.
That is, of course, unless you wrote them in terms of Hero Units. That's why I like it so much: it's adaptable.
Now don't go rushing out and demand your programmers start defining everything in this way — that's not what I'm saying. This has to do with communication, not engine design.
In practice, therefore, I usually only use it when talking to other people, or in documents I am writing. The former, unfortunately, requires a few dry runs before people understand what you mean, but that's peanuts of pain compared to the gains in communication.
The latter requires little in the way of pain, and it makes rock-solid, adaptable documents that need less management — always a plus.
This isn't groundbreaking game design science here. It's just, in my opinion, common sense design. I love clear communication. I think it's one of the greatest assets a designer can bring to the table. More important, even, than being creative, because all the damn creativity in the world does you nothing if you can't sell that vision to other people, right?
The more years I spend in this discipline, the more it become apparent that communication is king, and it should be screamed from the mountain tops.
Learn to speak clearly.
Hero units are just one of the ways I've learned to make things clearer; both to myself and others. I, like you, have design buddies at other studios, and, as we should, we talk shop.
The curse of the "unit" is a bane to this kind of communication! I would prefer a world where I didn't have to constantly ask them what "20 units" actually means, wouldn't you?
[This piece was reprinted from #AltDevBlogADay, a shared blog initiative started by @mike_acton devoted to giving game developers of all disciplines a place to motivate each other to write regularly about their personal game development passions.]