XNA Questions – Physics Engines & a New XNA 3.0 Book

Last week I was visiting DCU for their annual Tech Week to talk about XNA and video game development.  I received a few questions which I mentioned I would blog the answers to.  One of those was regarding recommended physics engines for XNA.

image There are in fact several different physics engines you can use, both commercial and free versions.  One thing to take into consideration is whether you’re going to be deploying games on Windows, Xbox 360 or Zune.  If you’re deploying on Windows, you have a bit more flexibility, whereas if you’re deploying on Xbox 360 or Zune, you need a completely managed engine like Farseer, JigLibX or Bullet. 

Farseer Physics Engine: http://www.codeplex.com/FarseerPhysics

Farseer is 2D only.  It’s available (including source code) on Codeplex.com, and it also has a Silverlight version of the engine if you are building Silverlight games or applications as well (Silverlight 2.0 or above).  Farseer is very easy to use engine.  It has features for collision like multiple collision geometries per body and collision callback as well as features for dynamics like joints and force controllers.

JigLibX: http://www.codeplex.com/JigLibX 

JibLibX is 3D and is a direct port of JigLib and is still in Beta.  It’s free, open sources and also on Codeplex.com so you can see the source code there.  The better site for this actually is the wiki which is located here: http://jiglibx.wikidot.com/.  It has a lot more information including a great quickstart guide, a small Q&A forum, and a few basic tutorials.

Bullet for XNA Physics Library: http://www.codeplex.com/xnadevru/Wiki/View.aspx?title=Managed%20Bullet%20Physics%20Library&referringTitle=Home 

Another Codeplex.com project, Bullet for XNA Physics Library is the first fully managed 3D physics engine.  It looks nice, however the last full release was in December 2007, so I’m not sure if anyone is still working on it.

PhysX: http://www.nvidia.com/object/nvidia_physx.html

PhysX is by NVIDIA, and is supported on Xbox 360 as well as Windows, Sony Playstation & Nintendo Wii.  You can download the PC binaries for free & start developing right away, although source code is licensed and not free.

For more up-to-date libraries, links & recommendations, you should check out the XNA wiki on Physics Engines here:  http://www.xnawiki.com/index.php?title=Physics_Engine

Ziggyware is also a great resource site for XNA content.  They have a list of links to XNA Physics Libraries here: http://www.ziggyware.com/weblinks.php?cat_id=18 

Something else I should mention is that there is a brand new, hot off the press, XNA 3.0 book by Dan Waters available.  It’s focused on Zune Game Development, and is called Zune Game Development using XNA 3.0.   It is available from Apress publishing as of March 23rd.  One of the things that jumped out at me while glancing through the book is the amount of unique features you can take advantage of with Zune, like using the XNA 3.0 Framework to play music from the Zune library and your own custom sounds to enrich your games as well as understanding how to take advantage of the wireless system on Zune to create multiplayer games.  Looks cool – check it out on Amazon here.

Cross posted from Martha's Blog.