Animation processing - client or server?

Started by
5 comments, last by am2pm 17 years, 10 months ago
Hi Guys! A quick question: what's the best place to process the models animations - server or client? Server-side: process all the annimations and tell the client for each model, which is the first keyframe, which the last and where we are currently in time between them - the client has then only interpolate to the concrete "state". vs. (my favourite) Client-side: The server tells only which animation is to be played and the current time - the client cares how to handle the animation. I've searched on the "Art" and "Network" forums - then generally on gamedev but I didn't found any interessting answers. Thanks!
Advertisement
i would think as long as the animation doesn't change the models collision boxes/spheres etc then it would be ok to do it client side. IE the server doesn't care whether it animates or not, and if it doesn't (for whatever reason) then it shouldn't affect actual gameplay mechanics.

That sounds reasonable to me, but I don't have that much experience in this kind of thing :)
Thats also my point of view. Are there any important reasons to manage the animations on the server, when they are not involved in the game logic and physics?
definately the client
It depends. Texture animations, particle effects and suchlike that are purely graphical should be done on the client. But if a shape is animated, affecting its physics or collision volume, that needs to be done on the server and synched to the clients. Depending on how careful your hit-tests are, things like raising an arm to fire a weapon may be in this second category.
What when the gamecode uses events at some keyframes (ie. shoot a weapon) or must wait for the finish of an animation before issue the next behavior of a gameobject?

Does your
"The server tells only which animation is to be played and the current time"
handle this?
Please can you describe what you are doing in this version?
The shape of the objects is changing, but doesn't affect the evironment. So: pro-client - but - the anonymous poster's aspect of syncinc animation and logic is also to be considered - so pro-server. I'll have to make it kinda hybrid, as I see.

"Please can you describe what you are doing in this version?"
I haven't designed the animation-managing yet, so i've no concept 'bout this. I was asking generally, coz I was discussing it with my teammate and we hadn't found a definite solution. So now I'm searching for others arguments ;)

This topic is closed to new replies.

Advertisement