Sign in to follow this  
Zarion

Effect animation management

Recommended Posts

I'm looking for some suggestions on how to effectively manage spell animations that involve multiple components, with behaviors or animations attached to those components. For example, let's imagine a spell which launched a series of projectiles in sequence, each along a separate semi-random curved trajectory, leaving a trail in their wake, and playing a particular animation and sound effect on impact. Or a spell that caused a glow effect on a target (which increased in intensity over time), while spawning a graphic overlay (magic crest or somesuch) that rotated at decreasing speed, and then at a specific timestamp, faded out. Basically, a way to spawn various display entities, move them around (possibly on predefined curves), animate alpha or other properties, and manipulate position or properties of existing display entities (ie: creatures involved in the spell in some way). Parts of the animation could even dictate movement on the part of existing characters (ie: move character towards (or through) the target, while overlaying a slashing animation) These are not game elements, per se, but purely graphical (turn-based strategy game), so there's no need to track tangible elements or projectiles for collision, etc. (The game is 2d, as well, if that's relevant). I'd like a system which is reasonably flexible, and ideally not too time-consuming to implement, at least for the basics. I'm hoping to make up for a paucity of art assets with a little variety in how they can be combined and used. What are some ways you people have handled similar problems? Or that you know of? Any pointers?

Share this post


Link to post
Share on other sites
Well, yes, I've considered using a scripting language of some sort, but as you say, I was curious about the actual interfacing details. It would be nice to see some examples of systems like this in the wild, but I've actually found it surprisingly difficult to find one (read: I basically haven't. The animation systems of most games that I've found source code for are extremely primitive). If someone could point me in the right direction, that would be appreciated.

I assume that many 3d games may be able to create much of these animations through the animation system used for more solid models (which can already describe transformations across components of a model), although that doesn't really apply in my case.

Share this post


Link to post
Share on other sites
You know Zarion, glad you opened this thread as I'm also very interested in special effects animation (and how they are separated into 'units' that can be shot at any place and time, in the game). I can only share a more artistical viewpoint, as programming is but a secondary interest in my game development hobby.

So far, the best reference for inspiration about this kind of system that I found was in Warcraft 3. The spell effects are magnificent (and very different, one in relation to the other).

If you use the Level Editor for that game (which unfortunately doesn't reveal much of the internals), you can see the special effects more clearly (explosions, magical sparks doing customized motions etc.).
What happens in War3 is that each effect animation is a single model, usually in the .MDX format (proprietary to Blizzard). I don't know how one would go about creating new special effects for Warcraft 3, but I'm sure that searching the subject should turn out some interesting information that could be adapted to your own needs.

Perhaps an artist could animate Dummies (empty objects that just store pos\rot\scale) - each appropriately named for the particle type they should represent - in 3DS Max or his favorite application, export this model and have your engine read the animation data.
Then you'd have the "pivot" information for every particle that your special effect has, and you would assign\animate the particle quads appropriately (this can also be expanded to support actual meshes, like light-beacons, rock chunks, ghosts and whatnot).
This way the artist can have a lot of control on how the special-effect will go about in time, but then you are limited to the application's capabilities. You'd have to write a custom exporter for your special-effect format, that reads not only the transformations applied to the dummies but also their alpha value and other properties, thus giving the artist the level of control you want.

As it goes with almost any particle system, making it single-surface\batched would be highly recommended.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this