Wednesday, July 22, 2009

Good news, everyone!

20 or so files and a lot of thoughtful code later... the special effects framework and all bindings are finished! I'm about to start testing some of the configuration for it. Unfortunately there's no previewer yet--it's almost 5 and I've just gotten the basic stuff working--but that should be a snap since it's almost identical to the visual FX previewer.

Although I've also planned out the MagicFX system (which is considerably smaller, and just creates special bindings for projectiles and whirling chain balls and such) I'm not going to code it yet--I can get to the next milestone without it. That system interfaces directly with the spell system, so I'd like to update those two together anyway.

I should have a pretty smooth day tomorrow.

---

Something I wanted to talk over by writing it down: where should special effects be attached to actors--at the client actor, actor profile, skinned mesh or animated mesh level? Well animated mesh is not right, that would be like attaching visual effects to the mesh instead of to the scenery. Skinned mesh would be the scenery-equivalent, but there is no way to uniquely reference a skinned mesh (actors have an ID number...but only at the client level). Then again, bindings are pushed not pulled so that doesn't matter--if you have the client actor, you have the whole chain. So I guess it really matters where you want the transform to go and what else makes sense with it. The transform is pushed into the skinned mesh from the actor. But only in the updateAnimation, and updateAnimation doesn't seem like a place where the visual fx would go. So...I'll leave them attached to the actor profile for now. This does makes sense because all forms should have the same effect if it's always attached. That way I could also configure effects to be attached in different ways--such as to hands or feet (instead of just body), if I wanted to make a flaming daemon or something.

BUT WAIT! If I want to be able to attach effects to armors those have to go on the skinned mesh forms, since that is how armor is defined. ...ah, but what I'm looking for is a way to define effects that are racial (i.e. they exist for all forms). Then again what if some forms would override or hide the racial effect...well, those shouldn't exist actually so I think I'm fine. Thanks to this system's modularity I can add and remove stuff like this without much fuss.



No comments: