Filed under: Newton — Sascha Willems @ 14:39
After several requests and after updating the headers, I decided to release updated sources for the SDL developer demos showcasing some of Newton’s features. Those updated demos (including sources) should be useful to both starters (to see how Newton 2.00 works) and people that already used 1.53, as there haven been some changes.
So the following demos now also have sources for Newton 2.00 : “Demo 01 – Basic demo”, “Demo 02 – Joints” and “Demo 03 – Buoyancy”. The demo for vehicles will be updated as soon as functionality for the vehicle container is added back into the Newton SDK. Due to it’s beta nature, Julio commented those functions out for the last beta release, so they can’t be used right now. The ragdoll demo also will be updated at some point, but the ragdoll interface changed heavily in Newton 2.00 and it’s still subject to changes. And finally the character controller demo won’t be updated, simply because newton now has a built-in character controller, so no more need to code this on your own.
Grab the sources here, get the latest beta headers and download the current beta SDK. Note that you’ll also need SDL and the SDL headers for pascal. I’ve compiled the demos with Lazarus and FPC 2.2.4 and they’re not using anything platform specific. So they should work with windows, linux and maybe even MacOSX.
|
Filed under: Newton — Sascha Willems @ 12:06
 After updating some of my projects to the recent beta of Newton I decided to revert back to the original header format, using only one file (NewtonImport.pas) instead of the three from the last update (which was a result of Stucuk updating the headers and splitting them in order to easily use them with his own wrapper).
So I uploaded a new package for the headers, now only containing one header (NewtonImport.pas) as known from the older releases and one header for the joint library (NewtonImport_JointLibrary.pas). Note that I also fixed a wrong DLL name in the joint library that caused the compiler not to find custom joint routines. This is now fixed and the header should select the correct DLL. Also note that this header is compatible with the recently released 2.16 version of NGD as there were no header changes between 2.15 and 2.16.
Sorry for the troubles, but if you want to use the old header format only using one header as used in older releases, or if you use the joint library, please download the updated package.
|
Filed under: Newton — Sascha Willems @ 19:18
From my lack of recent updates it should be pretty clear that I don’t have much time (or better : pretty much no time at all) for my programming stuff, so over the past few months I also had no time to release updated headers for the beta releases of the Newton Game Dynamics Engine. As of now there have been many beta releases and the current one is 2.15. In my abscence Stucuk was the one that took care of that situation and released several headers for the numerous betas of NGD.
But today I just took the time (even if it meant less time for urgent personal matters) and decided to update Stucuk’s header (that’s based on mine for 1.53, which was based back on Sury’s first efforts) to the recent 2.15 beta of NGD, so that all pascal/delphi coders out there can now also test out the thrilling new features of NGD 2.00. So if you’re eager to use one of the new Newton betas, head over to the page for the new headers, download them and get the beta SDKs from the Newton homepage.
And as a nice extra, the download even includes a translation of Newton’s own joint library (thanks to Executor), so you can now use all the exciting new joints that are included in NGD, even the raycast vehicle joint.
Quick update note : Beta 2.16 was recently released, and since that new beta has had no changes concerning the C-header, the Delphi/Pascal header will also work fine with 2.16!
|
Filed under: Newton — Sascha Willems @ 19:01

Finally, here it is : The demo of my proof-of-concept for realizing tracked vehicles (tanks) using only Newton’s material callback system. Head over here to download it (~3,6 MBytes) and please refer to the readme.txt before playing around with it. Also note that it’s possible that not all gamepads will work, if that’s the case just use the keyboard controls.
|

I have uploaded a new video (wmv-format, ~60 MBytes, ~5:40 mins) of the tracked tank vehicle implemented in newton. This video shows a more advanced, and almost finished version that allows you to control each track separate (using two analog sticks on my gamepad), as well as rotating the turret, which is implemented with a derived custom joint (and controlled using two neck buttons on the pad). It also allows for realistic turning when the tank is moving, something that wasn’t working in the version that the first video showed. For this I “just” had to check if both tracks accelerate in the same direction and then if the delta is too high I bring the other track up to speed. Works fine so far and now the tank really moves like a real tank. Once again, if you want to know more about how I implemented this and if you want to participate in the discussion about this technique, head over to this thread on the newton forums.
Update : Julio Jerez, the man behind Newton Game dynamics, has it’s own channel on youtube showing off stuff made with Newton. He already uploaded the above mentioned video there, you can access it here. But I suggest you download the video, as youtube has a rather low resolution combined with a horrible qualit.
|

Back in 2006 I tried to simulate a tracked tank in Newton using a very uncommon method. Instead of moving the tank around with forces I tried to implement an “inverted” conveyor belt material for the tracks, to achieve a more realistic movement. Sadly it didn’t work out 100% perfect back then, but recently I revisited my demo and I now got something that almost perfectly moves like a tank.
A short summary : Instead of applying a force that “drags” the tank around the terrain (not very realistic), or using a lot of wheels to mimic a track (more realistic, but very slow) I’m using Newton’s contact process callback, where I go through all contacts that the track is generating against the terrain and then accelerate along the contact’s tangent. Together with my new tank model (you may remember it, I made it for “Phase 2″ of Projekt “W”) that has a much better track (more flat, which means more even contact generation), a joint to make physics for the tracks more dynamically follow the terrain (see end of the video for more on this) and the new beta of Newton 2.00 I now have an almost perfect way of simulating real tank track behaviour. Not only is it realistic, but contrary to the “multiple wheels for a track”-way it’s very fast and you could do dozens of tanks at once without a severe speed drop.
If you want to see it in action, check out this video I created (~3 min, 35 MBytes, WMV format). I also have a demo ready, but the man behind Newton Game Dynamics wants to optimize contacts generation first before I release the demo to the public. And if you’re interested in implementing something like this yourself, head over to this thread I created at the Newton forums where I also tell how I implemented this.
|
|
|