Page 1 of 3

RaQdoll

Posted: Fri Aug 22, 2014 8:05 pm
by Error
Been slowly modding in my spare time, which doesn't happen too incredibly often. Working on ragdolls in Quake.
No extensions needed. Just multiple models and good ole Quake physics action. Wish I had a good video of it in action. Can anyone suggest a good program to video this?

Image
Realtime limb "draping"

Image
Pile-Up action

:D

Re: RaQdoll

Posted: Fri Aug 22, 2014 8:52 pm
by leileilol
Darkpalces does have built-in video capture functions IIRC AFAIK

Re: RaQdoll

Posted: Fri Aug 22, 2014 8:56 pm
by Error
uncompressed, the videos get HUGE

Re: RaQdoll

Posted: Fri Aug 22, 2014 9:52 pm
by Error
Disclaimer: These aren't high quality ragdolls. I will never claim they are. The effect is quite nice though. Best option I could come up with without switching model formats and tossing a shit ton of extensions on the mod.

Re: RaQdoll

Posted: Fri Aug 22, 2014 10:01 pm
by Spirit
DP can record straight to compressed Theora video I think. Will look awful though. reQuiem has incredibly easy video capture (haven't tested it on Windows myself). Just make sure VSync is off and it will be only limited by your harddisk speed. Here is a slightly out of date but hopefully working beta: http://chunk.io/f/d0bf59d08b5c4d8692ad30df8b7e9bb6

Just record a demo, then "capturedemo demoname" and it will write an uncompressed AVI. Yes, those get big. Just compress them later on. If you are on Linux, just use ffmpeg+x264: "ffmpeg -i movie.avi -acodec libmp3lame -ab 192k -vcodec libx264 -preset slow -crf 20 movie.mkv"

It also has a builtin spawn command so you could easily populate the map ;)

Re: RaQdoll

Posted: Sat Aug 23, 2014 4:43 am
by frag.machine
Nice... Do you intend to extend this to monsters, too ?

Re: RaQdoll

Posted: Sat Aug 23, 2014 12:40 pm
by gnounc
*gasp* HE LIVES!

Re: RaQdoll

Posted: Mon Aug 25, 2014 12:40 am
by Error
Yes, easily done for monsters. That's after I get it how I want it. I will release this when completed.

Quick QC question:
What would be the best way to have an entity "circle" another entity while being affected by gravity and velocity? It should be a straight line on a set distance. Tracelines aren't working too well for me. All my entities are movetype_bounce currently.

Re: RaQdoll

Posted: Mon Aug 25, 2014 9:16 am
by r00k
Maybe you can do something fancy with MOVETYPE_FOLLOW?

Re: RaQdoll

Posted: Mon Aug 25, 2014 3:11 pm
by toneddu2000
Great addition Error! I can't wait to see more! What kind of models are? IQM?
I use Kazam Screencaster on Ubuntu and it records DP very well
Keep up the good worK!

Re: RaQdoll

Posted: Mon Aug 25, 2014 6:34 pm
by Error
The model format is mdl. I don't want to use movetype_follow. It won't work any better than the way I'm already doing this. I'm trying to find a good way for an entity to orbit another entity in a fixed distance while being affecting by velocity and gravity.

Re: RaQdoll

Posted: Tue Aug 26, 2014 12:54 am
by frag.machine
@Error: here's a code snippet from Spinal's Total Destruction mod. It is from the "sucker ball" attack (a kind of black hole/vortex charm):

Code: Select all

void() Sucker_Suck =
{
        if (self.ltime < time)
           {
                self.health = 200;
                self.owner = self.goalentity; // REMENDO
                GrenadeExplode ();
                return;
           }

        if (self.frags < 525)
           self.frags = self.frags + 10;

        local entity e;

        e = findradius(self.origin, 400);

        while (e)
         {
                if ((e.classname == "player") ||
                   (e.classname == "missile") ||
                   (e.classname == "grenade") ||
                   (e.classname == "spike") ||
                   (e.classname == "gib") ||
                   (e.classname == "backpack") ||
                   (e.classname == "rune") ||
                   ((e.classname == "td_temp") && (e.magic == 102)) || // pipebombs
                   ((e.classname == "td_temp") && (e.magic == 24))     // trappacks
                   )
                     {
                        traceline(self.origin, e.origin, FALSE, self);

                        if ((trace_ent == e) || (trace_fraction == 1.0))
                           {
                                e.flags = e.flags - (e.flags & FL_ONGROUND);

                                local vector vd;

                                vd = self.origin - e.origin;

                                // impedir stuck de itens
                                vd_x = vd_x + crandom() * 32;
                                vd_y = vd_y + crandom() * 32;
                                vd_z = vd_z + crandom() * 32;

                                vd = normalize (vd);
                                vd = vd * self.frags;

                                if (e.classname != "player")
                                   e.velocity = e.velocity + vd * (2 + random());  //random=impedir stuck de itens
                                else
                                   e.velocity = e.velocity + vd;
                           }
                     }

                e = e.chain;
         }

        self.effects = self.effects | EF_MUZZLEFLASH;

        self.nextthink = time + 0.1;
};
DISCLAIMER: I am not the author (although I believe he's fine with someone reusing it).

Re: RaQdoll

Posted: Thu Aug 28, 2014 3:39 pm
by Spiney
You can do ragdolls with MDL?

mind = blown

Re: RaQdoll

Posted: Sun Aug 31, 2014 4:07 pm
by Error
2 videos. Not the best of quality. Weird high framerate.

RaQdolls in action: https://www.youtube.com/watch?v=fdCI4oP ... e=youtu.be

RaQdoll stick physics test: https://www.youtube.com/watch?v=wOG7izR ... e=youtu.be

Re: RaQdoll

Posted: Sun Aug 31, 2014 4:16 pm
by toneddu2000
RaQdolls: very very cool, but when they touch the ground I'd expect more bouncing (like stick phys)

RaQdoll stick physics: supercool, really. Maybe a LIIITTLE quicker and it's perfect

congrats dude! :D