Sign in to follow this  
am2pm

Animation processing - client or server?

Recommended Posts

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!

Share this post


Link to post
Share on other sites
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 :)

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
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?

Share this post


Link to post
Share on other sites
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 ;)

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