Xonotic Forums
[SUGGESTION] ragdoll death animation request - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Creating & Contributing (https://forums.xonotic.org/forumdisplay.php?fid=10)
+--- Forum: Xonotic - Suggestion Box (https://forums.xonotic.org/forumdisplay.php?fid=20)
+--- Thread: [SUGGESTION] ragdoll death animation request (/showthread.php?tid=2103)

Pages: 1 2


ragdoll death animation request - Droid - 09-03-2011

ok... so ppl dont think xonotic is just a copy of nexuiz,why dont we...

Add ragdoll physics-this wud be a major improvement.
at start i thought it already had ragdoll but when i blasted a noob with a rocket off the map i saw that he was lying flat on his back,head up,arms on neck as if invisible floor was there...then i realised.
sorry double post...but....
if ragdoll works instaed of making a txt with strange numbers,coordinates,etc...
make it easier just use bones and joints (if they have ones) in zym/iqm mesh
triple post srry. i read the other ragdoll post. Sad
but som 1 said how often players get gibbed.
so...when they die make them NOT get gibbed and just go to heven but then gib them if corpse takes damage.


RE: ragdoll death animation request - theShadow - 09-03-2011

thats how it works. if you notice, if you just kill the player, they dont get gibbed. however, if you do a lot of damage past 0 health, then they get gibbed.


RE: ragdoll death animation request - Lord Canistra - 09-03-2011

By the way, I didn't see any advanced physics implementation discussion yet. Is it particularly hard to integrate certain physics engine like Bullet into the Darkplaces engine? Even for the use with player corpse ragdolls only.


RE: ragdoll death animation request - Lee_Stricklin - 09-03-2011

Slightly off topic:

In my opinion corpses shouldn't stay in the game long enough to make rag doll physics noticeable for the simple fact that it's frustrating as hell having a grenade or rocket get snagged on them when your trying to play. If I had it my way, corpses would be tied to the gib times, start fading IMMEDIATELY when they're created, and be completely gone in about 1.5 seconds (you'd see them just long enough to acknowledge that you've taken someone down). Doing that would theoretically increase the game performance and keep the environment cleaned up for better arena fighting.


RE: ragdoll death animation request - Mr. Bougo - 09-03-2011

While it could be nice in tourney matches to attenuate the random component, I'd say it's fine to have this as part of the game. Same with rocket deflection, you can't predict it but it makes sense.

As for OP... Are you mikee? Big Grin
Seriously, ragdoll physics and other simulation stuff have been suggested a lot, and the answer is no, we can't have this, because it takes a lot of cpu time to do it right. Besides, gpl-compatible physics libs are either bad or difficult to work with.


RE: ragdoll death animation request - nowego4 - 09-03-2011

(09-03-2011, 09:42 AM)Lee_Stricklin Wrote: Slightly off topic:

In my opinion corpses shouldn't stay in the game long enough to make rag doll physics noticeable for the simple fact that it's frustrating as hell having a grenade or rocket get snagged on them when your trying to play. If I had it my way, corpses would be tied to the gib times, start fading IMMEDIATELY when they're created, and be completely gone in about 1.5 seconds (you'd see them just long enough to acknowledge that you've taken someone down). Doing that would theoretically increase the game performance and keep the environment cleaned up for better arena fighting.

THIS.

Or a setting to turn people into red mist every time they die.

I hate getting blown up on a corpse.

Ragdolls just aren't something a lot of quakers care about. In fact, tf2's ragdolls I think are ugly because they fall through entities (control points) and tend to dive your performance.


RE: ragdoll death animation request - jaykay - 09-03-2011

there was a working ODE implementation, just ask youtube for "nexuiz ode", also some rube goldberg machines were built. but the engine implementation never got stable...

"do it yourself, or stop complaining."


RE: ragdoll death animation request - Lord Canistra - 09-03-2011

>"do it yourself, or stop complaining."
Oh yeees, how did I forget about this option?! Now, if I think of everything I'd ever like to see in DP... alright, off to write my own game engine!


RE: ragdoll death animation request - Mr. Bougo - 09-03-2011

jaykay, sure, but apparently ODE sucks and has bad performance. Sure it can make a box bounce, but ragdolls are slightly more flexible than a couple of cubes.


RE: ragdoll death animation request - Irritant - 09-03-2011

(09-03-2011, 09:51 AM)Mr. Bougo Wrote: \Seriously, ragdoll physics and other simulation stuff have been suggested a lot, and the answer is no, we can't have this, because it takes a lot of cpu time to do it right. Besides, gpl-compatible physics libs are either bad or difficult to work with.

No, it really doesn't, and Darkplaces already has ODE which would make adding ragdolls quite possible.

The problem is, time and time again I keep seeing people say it would be a problem because it would be done server side, but ragdolls should be done client side. Alien Arena and Sauerbraten both do ragdolls clientside, and there is very little overhead. AA uses ODE to do it, Sauerbraten uses a custom Newtonian Particle based engine to accomplish it. Neither have a signifigant hit on performance.


RE: ragdoll death animation request - clanclanclan - 09-03-2011

Ragdolls require skeletal animation. There's a link to the thread where it was discussed, and here is divVerent's (relevant) post:

divVerent Wrote:A system for that already exists, but it currently is not used because it requires networking players through CSQC, and we currently have a testing branch for that and it has quite poor performance.

So for the sake of good FPS, it currently looks like we can't do that at this time. The issue is that QuakeC-implemented player movement prediction is much slower than engine-implemented one, but engine-implemented one cannot be used if QuakeC is supposed to modify model properties (e.g. the skeleton).

Ragdolls have also been discussed here and here.


RE: ragdoll death animation request - Samual - 09-03-2011

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 Tongue

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 Tongue

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


RE: ragdoll death animation request - Lord Canistra - 09-04-2011

Did it really look like I'm forcing anyone into doing anything? It was a simple question about what prevents implementing ragdolls in the engine…


RE: ragdoll death animation request - Samual - 09-04-2011

(09-04-2011, 12:13 AM)Lord Canistra Wrote: Did it really look like I'm forcing anyone into doing anything? It was a simple question about what prevents implementing ragdolls in the engine…
Was referring specifically to your reply to "Do it yourself, or stop complaining."


RE: ragdoll death animation request - Irritant - 09-04-2011

(09-03-2011, 10:11 PM)Samual Wrote: 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..

All the client needs to know is what frame of animation death sequences begin on, which of course they do. The ragdoll takes over the animation of the model when those frames occur.

And no, it's really not a big performance hit at all, unless you're doing something wrong.


RE: ragdoll death animation request - Samual - 09-06-2011

(09-04-2011, 08:44 PM)Irritant Wrote:
(09-03-2011, 10:11 PM)Samual Wrote: 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..

All the client needs to know is what frame of animation death sequences begin on, which of course they do. The ragdoll takes over the animation of the model when those frames occur.

And no, it's really not a big performance hit at all, unless you're doing something wrong.
No, I think you missed the point for both of your replies haha Tongue

Firstly, the client cannot edit the skeleton of the model by itself... So even if we wanted to do client side ragdoll animations, we can't right now unless we have client side players (OR unless someone re-writes part of how the CSQC VM works in darkplaces so that it can control SVQC entities locally only, which is a lot of work in and of itself too)... So really, it is not so simple.

Plus, the performance hit was about client side networked players (which is a major re-structure of our code) and how there was a bug in this testing branch which used A LOT of CPU time accidentally, making CSQC players almost unplayable at best. We fixed the bug, now there is no performance issue....

Of course ragdoll feature itself would be practically harmless FPS-wise, the only thing which could be bad is depending on how much we make it detect with collision...


RE: ragdoll death animation request - tZork - 09-06-2011

Samual, i think your the one missing Irritant's point. We dont need to have a full blown csqc player system for this, as there is no valid player input to hes corpse after death - we could simply create a client only entity to all visible player at a death event, then simply let csqc handle it as it will on each client, as it have no game-play impact anymore.

We would be adding a dependency to ODE by this tough, and as pointed out somewhere above - its not to often corpses "live" long enough to benefit much form something like this. At the end of the day i would say its doable but not relay worth the fuss AT THIS TIME as there is far more important things to work on - like above mentioned csqc players.


RE: ragdoll death animation request - Samual - 09-06-2011

(09-06-2011, 08:39 AM)tZork Wrote: Samual, i think your the one missing Irritant's point. We dont need to have a full blown csqc player system for this, as there is no valid player input to hes corpse after death - we could simply create a client only entity to all visible player at a death event, then simply let csqc handle it as it will on each client, as it have no game-play impact anymore.

We would be adding a dependency to ODE by this tough, and as pointed out somewhere above - its not to often corpses "live" long enough to benefit much form something like this. At the end of the day i would say its doable but not relay worth the fuss AT THIS TIME as there is far more important things to work on - like above mentioned csqc players.
Forget ODE Tongue (had discussion on IRC about this too)

Plus, there's still problems with THAT idea too -- like syncing the switch from player body on SVQC to fake body in CSQC so that you have no noticeable transition


RE: ragdoll death animation request - MirceaKitsune - 10-16-2011

It's been discussed before and yes, I'm pretty sure the engine can do it. None of the devs plan to look into it yet, and some agree with doing it in CSQC instead of the engine (which I don't personally). Overall, it might be a while until it happens, but I will always support the feature.


RE: ragdoll death animation request - Cyber Killer - 10-20-2011

Of all the games that do have ragdoll implemented, that I played, I never ever cared about them, nor did I notice them without specifically looking for it. Maybe I'm just too trigger-happy and instantly after blowing sbdy I go look for the next victim instead of wasting seconds and looking at the corpse? :-)

TL;DR → As a player I don't care about ragdoll corpses in a fps.


RE: ragdoll death animation request - Lee_Stricklin - 10-20-2011

Pretty much what Cyber Killer said, ragdolls really arent as noticeable as people like to think and typically when they are it's because the game is either slow (think COD or Ghost Recon, snail speed) or they're done in the most ridiculous fashion possible (Deus Ex: Invisible War, Perfect Dark Zero, Alien Arena) to the point of looking less believable than standard animations do. I've only seen a handful of games do ragdolls correctly, the rest shouldn't have even bothered with them.


RE: ragdoll death animation request - MirceaKitsune - 10-20-2011

I believe ragdolls are noticeable and improve quality a lot. In UT2004, I would enjoy watching them in detail, when bodies would slide down slopes or fall between pipes and stuff (with a crunch sound each time). So from my experience at least, I don't really agree with that.


RE: ragdoll death animation request - Cyber Killer - 10-20-2011

Of all funky death effects, I really liked one effect in UT (99) when you had been headshot and the camera was still showing the view from your eyes with the head bouncing around ;-). I miss that a lot in newer games.


RE: ragdoll death animation request - Sarge999 - 11-05-2011

As long as corpses don't fall INTO the walls and keep lying there for the rest of game's duration, I don't care about ragdolls.


RE: ragdoll death animation request - JayWalker - 11-05-2011

(10-20-2011, 06:09 AM)MirceaKitsune Wrote: I believe ragdolls are noticeable and improve quality a lot. In UT2004, I would enjoy watching them in detail, when bodies would slide down slopes or fall between pipes and stuff (with a crunch sound each time). So from my experience at least, I don't really agree with that.

Gotta agree here. UT2004 was really the only game that made me actually take notice of the ragdolls (mostly because of the crunching sounds and occasional missing limbs spewing blood, that was cool). Games like Saurbraten/Red Eclipse, and even newer games like Modern Warfare don't really make the ragdolls interesting at all.