I'm starting a new project with XNA. I want to create a game where the main character is subject to ragdoll physics when killed. I was wondering if anyone can give me any tips on how should I implement the character class and apply these ragdoll physics before I start coding so I don't have to refactor my code later. No code is necessary, just a basic overview of an algorithm and some tips. I've found a lot of information about ragdoll physics in 3D but nothig about 2D in XNA.

  • \$\begingroup\$ See this gamedev.net/topic/450217-2d-ragdoll-physics \$\endgroup\$ – Roy T. May 8 '12 at 15:35
  • \$\begingroup\$ there is only one link given as an answer in that webpage and it is broken but thanks for helping anyway! :) \$\endgroup\$ – Christian May 8 '12 at 15:45
  • \$\begingroup\$ Yeah I wanted to give that forum post aswell to show that it's not only 3D. Didn't realize the link was broken, here is where it should've pointed: gpgstudy.com/gpgiki/… \$\endgroup\$ – Roy T. May 8 '12 at 17:07
  • \$\begingroup\$ Excellent, thanks a lot, It has a lot of good pointers. Why don't you put this as an answer so I can accept it? \$\endgroup\$ – Christian May 8 '12 at 17:23
  • 3
    \$\begingroup\$ The Farseer physics engine supports 2D ragdolls and works with XNA. You might try that. farseerphysics.codeplex.com \$\endgroup\$ – Nic Foster May 8 '12 at 19:00

As requested I've converted my comment to an answer

Take a look at this paper http://www.gpgstudy.com/gpgiki/GDC%202001%3A%20Advanced%20Character%20Physics by Thomas Jakobsen, the ideas in there are as valid for 2D as they are for 3D.

Nic Foster (in the comments) also makes a good point that Farseer Physics supports 2D Ragdolls (I totally forgot about that) so that would be a good 'instant' solution and you can take a peak in the source code to see how it's done.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.