For our first step into the deep physics, I’m going to advocate something that would get me pilloried by every professional designer who read it; but since I’m a hobbyist off in a highly specialized corner, I won’t be read and I’m safe. I’m going to advocate rethinking animations and their role; making them a design element, rather than an art element.
Let’s take a look at a sword swing. Traditionally, 3D worlds follow a tradition set by 2D worlds. Most “sword swing” sprites are played whenever an appropriately equipped character makes a swing attack; which is actually resolved by rolling a random number and comparing tables, or calculating an equation(s). In a 2D environment, graphics are displayed by sprites and by necessity are decoupled from the action. The sprites exist only as a feedback to the player. This fits smoothly with the conventions of highly abstracted inherited from the earlier text MUDS and the tabletop RPGs that inspired them. Quite simply, there is not much of a conceptual leap going from a text MUD to a 2D world. Most 3D persistent worlds follow this tradition as well. The swing animation on an avatar is simply visual feedback to the player.
From the perspective of roleplay, this is unhelpful. When using highly abstracted die rolls and table checks, there is a certain degree of (to put it euphemistically) “making things up” when roleplaying. Also, the character’s domain knowledge is quite different from the players domain knowledge; forcing the “how to play your character” discussions into the OOC space.
What if the character’s domain knowledge and the player’s comain knowledge were the same? What if instead of being feedback, the animation was the swing? A “hit” comes whenever there is a collision. We’ll come to the details of resolving “damage” in a later installment. Just keep in mind that we’re actually using the animation itself to make the attack; promoting the swing animation from dressing to salad. By now, you are probably thinking of the infamous female DPS bug in Age of Conan. This is perfectly reasonable, but please bear with me for now.
For the record, we should probably avoid combat moves invented by animators who never studied swordsmanship. They will look good, but won’t work very well; especially when we introduce angular acceleration and angular momentum concepts later on. For our purposes here, we’ll look to the Lichtenauer school of swordsmanship – also known as the “German School” of swordsmanship – as practiced by the European martial arts revivalist community. The oberhau makes an excellent move to examine. It is one of the basic moves and is very simple. It contains two components. The rear foot takes one step forward and the sword is dropped vertically onto the opponent.
One of the things to note is that the footwork can be treated separately from the swing and the student is encouraged to practice the footwork separately as the same steps get used repeatedly in different situations. In game engine terms, this means two animations that are blended; the forward step and the overhead sword swing. We can simply “tie” the two together with an action and leave the hit determination to collision detection.
If one character attacks another with an oberhau, his opponent has a few different options available for countering. One is known as a Pflug, which itself is actually a stage in a thrust; essentially a block/counterstrike situation. This opens up a whole range of “game rules”. Does the defender realize that it is in fact an oberhau attack? (a skill and experience measure) Does he realize in time to make his counter move? (again, a skill and experience measure). How quickly can he get his counter moving? (reflexes) Which countermeasure does he use? Is it a feint? If so, can he detect that it is a feint in time? Etc.
Note that there is no presumption of gameplay type here. If it is a low latency, twitch environment, then the player might be expected to micromanage his oberhauing and pfluging. It might just as easily be an AI driven environment, where the player makes high level decisions and allows the AI to make the moment to moment decisions about which move and countermove to use. It might be a player-scriptable environment, where players are encouraged to script combos and counters. It might be a mix of two or more of these approaches.
Also, when the player’s domain knowledge and the characters domain knowledge are the same, advice like “you can block an oberhau with a pflug and stab the guy in the face” becomes IC as well as OOC advice. This can only deepen immersion.