by Irritant » Tue Jan 06, 2015 3:14 pm
If I recall, LH added ODE to DP around the same time that we did to CRX. If you notice that article from Wolfire was five years ago too, and pointed out some of the reasons why he originally used ODE. Basically, the C api for Bullet was undeveloped and poorly documented, whereas ODE seemed like the more complete, stable, well tested and documented engine.
Implementing ragdolls was something that we had looked at for CRX ever since UT2k3 came out. Then Lee Salazman got them working in Sauerbraten Engine, using his own newtonion particle based physics engine, and my first attempt was to adapt that to CRX, but I started looking at other open sourced physics engines like Bullet and ODE, and eventually settled on ODE, this in 2010 or 2011 I think. Lee and I had talked about that when he was first thinking of the design of the IQM format, and he was hoping that I'd use his particle engine, but I insisted on sticking with ODE as it was what I had been studying for some time. He of course warned me about ragdolls - that they are very tricky to get right - and he was right. I spent many nights in the summer of 2011 working on them, and I eventually got them very close to working, but something was off. Lee and I spent a number of nights working together on it to try and get it finished, and eventually he figured out my error(and a couple of other errors), and we got it working.
Since then ODE has gotten some bug fixes, and it seem quite stable, IMO. We've had very few issues with it - the only issues we have now are distros that are using older versions of it and should be updated.