Hi there,
I am currently writing a car racing game using the "D" programming language and I am pretty new to the field of rigid body physics engines (despite I have implemented a parametric aircraft aerodynamics model a few years ago).
Because "D" cannot handle thiscalls, I have to use libraries with a pure C-interface.
- I started out with ODE, but the D bindings didn't work.
- I ported Tokamak from C++ to D, however I failed to resolve all data structures and some strange memory management tricks & casts. (took me one week full time in my spare time)
- I ported JigLib from C++ to D. It had clean memory management, but shortly before finishing it, I discovered, that the collision support was not consistent enough for a racing game. (took me another week full time in my spare time)
- So now I ended up here with Newton 1.53. It has a nice, clean C-interface with Vehicle dynamics, and - despite being closed source - is multi-platform. So it fits my needs quite well.
I have already created D bindings (tell me if you are interested - but they are not tested well), and it integrated very well into my OOP framework. Initial results looked very promising. Thereafter I was curious to see the Vehicle support in action.
Unfortunately, the Vehicle develops an instability when the tires contact the ground plane. See following video (time is slowed down by a factor of 10):
http://www.youtube.com/watch?v=6ik1TuytVZA
I have tried to understand the vehicle tutorial in the SDK, however it's hard to catch all the required calls, as the vehicle code is cluttered among many files in different directories. It is out of question, that the vehicle code is working very well, however it is hard to follow as a beginner.
Now my question: Has anyone seen this before? Could someone point out where to start looking for a solution? Most likely, some call is missing, but I don't know which one.
Edit:
My real name is Andreas Jung .