09-03-2011, 10:11 PM
ODE is absolutely terrible.
Its implementation in darkplaces is unreliable/unstable at best, plus the library itself is terrible. It was never a good idea in the first place. (BTW it's also very slow ;D) Forget about ODE entirely, it is not ever happening
We COULD do ragdoll physics within the game itself, but not yet -- Here's basically the problem: In order for us to do ragdoll physics, the client has to know the state of the animation for the player model.. So, in order for the client to know this information (to make the bones move in the proper fashion as if it were ragdoll), we have two options... Option 1: Have CSQC control animation of players, and Option 2: Network the bone information to CSQC. Both of these options have major problems we'd have to get over, and it all stems from one problem specifically: The client cannot manipulate server side entities (and by extension it cannot edit the server player models bones to animate them)... it is simply not possible in DP, so either the player entity has to be in CSQC progs OR the server has to manually network the animation of the models to the clients...
Actually, #2 (networking the animation) is never going to happen -- It would spam WAY too much network usage for such an effect. What we plan to do eventually (lots of work has already been done for this) is #1, where the client handles player entities itself. This has MANY MANY MANY advantages, plus allows for animation blending/smoothing and better client side movement prediction (like clients would be able to then predict platforms, hook, jetpack, ladders, water, etc etc.. which right now is not possible) as well as of course, ragdolls.... The ONLY problem with this is that it requires a MASSIVE overhaul of how players are handled... It will take months to get this working properly, and we simply don't have the time to do it yet.
BTW, we fixed the performance problem with this "networked CSQC players" branch. So in reality, Xonotic can and will have ragdolls in the future without performance issues.... It's still a massive amount of work though, because you have to change entirely how server handles player entities (and same for client).
Lord Canistra: We don't get paid for this, and there are many more useful things to do with our time (respective to development and our lives) than this feature. Please do appreciate this
Anyway, if you're willing to help us out then THAT WOULD BE AMAZING YES PLEASE... But sincerely, *points to signature*
Its implementation in darkplaces is unreliable/unstable at best, plus the library itself is terrible. It was never a good idea in the first place. (BTW it's also very slow ;D) Forget about ODE entirely, it is not ever happening

We COULD do ragdoll physics within the game itself, but not yet -- Here's basically the problem: In order for us to do ragdoll physics, the client has to know the state of the animation for the player model.. So, in order for the client to know this information (to make the bones move in the proper fashion as if it were ragdoll), we have two options... Option 1: Have CSQC control animation of players, and Option 2: Network the bone information to CSQC. Both of these options have major problems we'd have to get over, and it all stems from one problem specifically: The client cannot manipulate server side entities (and by extension it cannot edit the server player models bones to animate them)... it is simply not possible in DP, so either the player entity has to be in CSQC progs OR the server has to manually network the animation of the models to the clients...
Actually, #2 (networking the animation) is never going to happen -- It would spam WAY too much network usage for such an effect. What we plan to do eventually (lots of work has already been done for this) is #1, where the client handles player entities itself. This has MANY MANY MANY advantages, plus allows for animation blending/smoothing and better client side movement prediction (like clients would be able to then predict platforms, hook, jetpack, ladders, water, etc etc.. which right now is not possible) as well as of course, ragdolls.... The ONLY problem with this is that it requires a MASSIVE overhaul of how players are handled... It will take months to get this working properly, and we simply don't have the time to do it yet.
BTW, we fixed the performance problem with this "networked CSQC players" branch. So in reality, Xonotic can and will have ragdolls in the future without performance issues.... It's still a massive amount of work though, because you have to change entirely how server handles player entities (and same for client).
Lord Canistra: We don't get paid for this, and there are many more useful things to do with our time (respective to development and our lives) than this feature. Please do appreciate this

Anyway, if you're willing to help us out then THAT WOULD BE AMAZING YES PLEASE... But sincerely, *points to signature*



