Home Forums Programming Getting started with physics engines

Viewing 8 reply threads
  • Author
    • #7267

      Well with all of my coursework finally submitted it’s time to start looking at some projects for the Summer to be working on. As part of this, one of the first things I feel I need to start looking at is physics engines. It’s one of the few areas which wasn’t covered by the course and now that I have some time I really want to get stuck into them.

      Now, while I could just grab some of the SDKs out there and start playing with them, I’d prefer to concentrate on some general background learning first. In light of that, I’m just wondering what you folks would recommend as a good starting point in terms of books, tutorials, papers etc..

    • #44119


      I’d recommend that you pull down PhysX 2.7.3 SDK. It comes with lots of comprehensive tutorials and training programme that walks you through the usual collection of physics SDK features. It has been discontinued (sadly) in later versions (I think their on 2.8.2 or so now).

      After checking out their bite size tutorials, you should get a firm handle on the functionality needed for a game engine (IMO), and the docs have plenty of UML so you can quickly get a clean picture of whats going on.

      That’s what I did and it did the trick.

      I haven’t used Havok as much, but by all accounts its docs and training material is even better (and its IRISH- woo hoo!) so maybe check it out first.

      There’s also ODE’s which has a nice introductory powerpoint slide show (bit outdated but its ok) which goes through rigid, joints, etc.

      That’s just my 2 cents.


    • #44120

      Thankfully nVidia have kept a nice archive of older versions of PhysX so I’ve grabbed 2.7.3. Picked up Havok Physics and Animation too so I’m good to go on that front.

      So, any preference for which to start with or as I said, are there any books that are recommended for a read through first?

    • #44121

      If you want an open-source physics system, check out Bullet…

      It also has an iPhone port, as well as being used in various console games.


    • #44122

      Ah ha! This one is easy.


      That’s your basic theory. You should be able to create pc based 2d physics engine from that, 3d with a bit more effort.

      As far as I can tell then if you want to compete with the big physics engines you are going to have to start reading up on accuracy, robustness and performance tools/trade-offs (and having a parallelised physics engine is essential these days). It’s a bit of a specialist area at that point and would take an intensive year or two of reading/lectures/coding to become good at. So just follow the course notes above.

    • #44123

      In the 50 or so years I spent doing this professionally (trying to understand 3d physics if you like) at Havok, the best reference I saw for what you need to know at a practical level is Erin Catto’s presentation series from GDC. You can get the slides here:


      He starts with 3d (2005), then skips back to 2d (2006 onwards)- so go from 2006 on and circle back to 2005 later if you feel like it. I’m pretty familiar with the 2006 paper, since I’ve implemented it both in ActionScript and in Lua over the past two years- so feel free to ask if there’s anything that doesn’t make sense.

    • #44124

      As far as I can tell then if you want to compete with the big physics engines…[/quote:d9407e92a3]
      Oh god no, the aim of this exercise is just to pick up the fundamental areas of physics engines and then apply that learning to whatever SDK I go with. With that under my belt I’ll feel a hell of a lot more confident when it comes to implementing physics in the project I’m currently planning. :)

    • #44125

      I’ve written/maintained physics engines based on ODE, PhysX and Havok over the years. They all have their plus and minus points, but I would say that Havok had the most polished API and documentation.

      A good starting point would be to grab the documentation from these SDKs and read up the first few introductory chapters to get an overview of the techniques and issues involved.

      Box2D is supposed to be good too. Shameless PlayFirst Plug – it’s integrated in the latest 5.0 version of the Playground SDK.


    • #44134


      muchos gracias for that gphysics link amigo. that’s a deadly cache of material, certainly a few brews coming your way next time i’m home…


Viewing 8 reply threads
  • The forum ‘Programming’ is closed to new topics and replies.