I’ve had the character dude working for some time now and recently I made the ragdoll physics work inside the game so I decided to show this off to you. I made a video of the actual player sprite in link-dead. Below is a more detailed explanation of what you see.
Is this awesome or what!?
The physics are all based on the now 6 year old paper by Thomas Jakobsen Advanced Character Physics. Hail to Mr. Jakobsen! I guess they are still using the same engine in the newest Hitman game. Those are mighty game programmers, we should all learn from them.
It is the same thing I used in Soldat but I added a few improvements because the level of detail increased. Mainly I added fixed length (or radius) constraints and angular constraints. They accomplish two things. The head doesn’t fly around the neck like crazy and the legs and arms don’t bend unnaturally in all directions. This is a major improvement in realism. If the body drops with a big impact the angular constraints can break, so it will work like real bone cracking.
Do you see now partly how mighty my new animation system is?
The angle at which the character walks or stands is based on the angle of the ground. His legs are placed exactly as the ground beneath him. This is not some shitty animation like in most games. He even carefully places his leg on higher steps and smoothly walks upward.
The mouse aiming is also done with animations. Unlike in Soldat it’s not just rotating the upper body towards the mouse. The dude can have any kind of animation when looking up or down. This is useful because many weapons are carried differently depending on the angle you use them at.
The map in this video is just a test map, but it is actually a working example of a painted map as described in the Revolution. That’s why you can see some text on it cause I took a screenshot of a Soldat map in Polyworks.
Also there is one cool thing about this. The physics and animations work simultaneously, meaning I can have for example 50% physics and 50% animation. This results in the player looking somewhat like a jelly or really tired when he gets wounded for example. This also helps with smooth transititions between animation and ragdoll. No more insta-snap-ragdoll shit. This guy dies with realism and with honor. His body must look great when he dies.
Wait for the blood and gibs system I’m working on. Until then…
Music in video: stardust memories by jester/sanity.