Tokamak was a Nout's choice, and it was a good choice ( for several reason I don't need to repeat), but I always felt disturbed by the engine limitations and instability (the latter in particular). Now that the TOKA integration is quite stable, I wanted to make some final tests. So:
1) I wanted to try the Genesis3d internal physics. I used the Nout's schema and it was quite simple. The Genesis3d physics entities work as storage devices for the physics calculation but the engine doesn't provide that calculation, you have to do all the work by yourself (collision, math...).

2) The alternatives were: Newton SDK, Bullet Physics, Simple Physics engine, True axis.
The choice relied on:
- proven stability (search walaber on google)
- development and updates frequency
- ease of use and integration
- features that are lacking in tokamak: native ragdoll, native vehicle, more shapes (cone, Chamfer Cylinder, orientable capsule)
Newton is quite similar to Tokamak. The prove is that I was able to integrate it in RF using the Nout's tokamak integration as my path. Newton is better in updating procedures, using internal callbacks to update only the bodies that need to be moved or rotated. The issues are quite the same: RF has an enourmous world scaling, so the simulation must be tweaked setting the Iteration and StepTime (and eventually solving the problem internally somehow).
I integrated the rigidbody simulation. The next step is to add BSP collision. I have to understand how pass the data I get with the G3d sirkorgans BSP defan function to the newton collision callbak. I know kikosmalltalk got it (if you are listening, please show up and help

Video:
Newton RigidBody Simulation: http://video.tinypic.com/player.php?v=63axlog&s=1