RuneNews.com's
own Gwynhala recently visited the dank depths of the Human
Head Quarters, barely escaping with this hands-on preview of the models
and animation techniques used to great effect in the upcoming Rune!
On
a recent visit to Human Head Studios,
I got a behind-the-scenes look at some of the impressive 3D skeletal model support
in Rune. One word: Woohoo!
Rune's models were created using SoftImage,
a high-end commercial character animation package. If you have to ask how much
SoftImage costs, you can't afford it. For those of you interested in modeling
but with smaller pocketbooks, I'll be adding Rune
support to my GwynFlex animation tools once Human Head publishes the details of
the format (look for this some time after the game is released, not before).
Rune uses fully skeletal animation. This
means that each model is stored in only one position, and then animation data
is applied in real-time to bend and post the model as needed for different moves
like walking or attacking. It's very different from the kind of animation you
find in older 3D games like Quake III or Heretic II or Jedi Knight. In these games,
the model is pre-animated in every possible position, and all of these positions
are saved in a huge model file. This is called vertex animation, and its main
advantage is that the animations can be played back without a lot of CPU power.
Vertex animation has some disadvantages, too: the model files can be huge (a typical
Heretic II model is 3 Megabytes with about 1500 frames of pre-rendered animation),
and it's very difficult to adjust the animations to different playback speeds
(or different game frame rates) without making them look jerky, and it's difficult
to add new weapon or spell animations to the model. A skeletal animation system
like that of Rune takes more CPU power,
but it allows for perfect adjustment to match the frame rate and also allows for
easy combination of separate animations for different body parts and weapons.
The model files are also a lot smaller for skeletal animation than for vertex
animation - more on that in a minute.
In addition to perfect adjustment of the animations to the frame rate, Rune
has automatic infinite level-of-detail (LOD) adjustment for each model. This lets
Rune show foreground items in a lot of
detail, and background items in less detail, reducing the total number of polygons
that must be displayed and so improving performance. Some games have no LOD adjustment,
others have 3-5 pre-defined levels, but Rune
adapts continuously to the needed level of detail.
Rune player models can perform an impressive
suite of movements. More than 4,000 frames of animation are defined for the Rune
player model, representing movements that can be made under various circumstances.
Compare this to a Quake 2 model, which has about 200 frames of animation, or even
to my current favorite for player versatility, the Heretic II model with about
1500 frames. With so many frames of animation, Rune's
skeletal animation system really shines.
To understand the memory advantage of a skeletal animaton system, consider the
popular Heretic II mod, The Heretic Fortress by Cyberm@t. This teamplay mod features
two teams with seven classes, and a unique model for each class. Potentially fourteen
different models, each nearly 3 Megabytes, a total of 42MB of models, must be
cached by the engine during a THF game. All of these models have essentially the
same set of moves, with only minor variation. Using a skeletal animation system,
only one position of each model (maybe 20K bytes per model), plus a shared animation
database (maybe 2MB) would be loaded. In this hypothetical (and really over-simplified)
example, that would be a 10X savings in model memory for the skeletal system.
Exactly this technique is used in Rune.
Here's the secret: all of Rune's player
models use the same skeleton, whether they are male, female, or something...else.
This allows a single animation database to be cached and used for all the players.
Even if a player has unique moves, those are part of the database. The standard
game code may prevent a given character from using a given movement, but a mod-maker
can easily change this since the move is already in the database. Here's something
I don't know: how easy is it to add new moves to the database? If HumanHead (or
GwynFlex!) provides tools to add to the database, we should see a lot of Rune
mods that introduce new moves.
In addition to skeletal animation, Rune
features deformation. Deformation is kind of like allowing objects to stretch
or compress when they're pulled or pushed on. For example, I saw a rope bridge
in Rune that stretches and bounces and
sways when Ragnar jumps on it. This adds a lot of very exciting realism to the
game - one of many really nice touches to look for when playing Rune.
By now you should be saying, "Wait a minute...if the bridge sways and deforms,
doesn't it have to have a skeleton?" YES! Not just the players and monsters have
skeletons in Rune - anything can. A bridge.
A tree. A weapon. Each of these can have a skeleton and a set of associated animations
that are used in different circumstances. Jump on the bridge, and the game uses
a bridge-bouncing animation to make the bridge bounce and sway. Bump into a tree,
and the game uses a tree-rustling animation to bend the tree and have it spring
back and rustle.
All of this has got me really jazzed about playing, and about making mods for
Rune. I hope you feel the same way!
Note: The Heretic Fortress was a team effort, with Wankeroo doing most of the
development. A stunning version for Quake III Arena will be available soon. For
more information or to download this great Heretic II / Quake III mod, check out
the THF site! |