Here is a comparison/Anthology of a number of physics engines which could be
used for implementing physics in an XNA game. Not all of these should in reality
be called physics engines, however I’ve mostly propigated a buch of items that
could maybe be of assistance into this list…
|APE Actionscript Physics Engine- A free AS3 open source 2D physics engine for use in Flash and Flex, released under the MIT License. APE is written and maintained by Alec Cove. See Also Nape Physics Engine||MIT|
|BEPUphysics It’s fast and has a bunch of cool features like constraints, terrain, static and instanced meshes, continuous collision detection, custom collision rules, vehicles, easy multi-threading.||Apache|
|Box2DX Box2DX is a C# port of Box2D – Erin Catto’s 2D Physics Engine. You can find original
C++ version on www.box2d.org
|MIT or ZLib|
|Box2D.XNA C#/XNA port of Box2D.||MIT|
|Bullet Is used in Blender.
BulletX is a port of Bullet for .NET.
|BulletX A port of Bullet for .NET. Blog
Wiki —Lots of links here
to other info!
is a .NET wrapper for the Bullet physics library.
|Chipmunk Game Dynamics For 2d games. Open Source .||MIT|
|Chrono or Chrono3D Free for non-commercial use||GPLv3|
|DigitalRune Physics Fully managed 3D physics engine for .NET and XNA||commercial, closed source|
|Henge3D Henge3D is a 3D physics library written in C# for XNA. It is implemented entirely in managed code.||MIT|
|Icarus XNA physics engine, also discussed here.||ZLIB|
|JigLibX A physics engine experiment based on the paper “Non-convex rigid bodies with stacking”. Also has a CollisionSkin Editor||MIT|
|jinngine Lightweight 3d physics engine written in Java. Open source.||GPL|
|Jitter Fully managed 3D physics engine, written by the author of JigLibX.||MIT
See pdf in code
|Darwin2K “Free, open source dynamic simulation and automated design synthesis package for robotics.”|
|daVinciCode Physics library developed under the supervision of Dr. Jeff Trinkle. dvc2D and dvc3d|
|DynaMech C++ library for configuring and simulating the dynamics of multibody systems. Currently
the class of tree structured systems are supported (with closed loops coming soon).
|DynaMo – Dynamic Motion library Dynamo is a software library providing classes that takes care of the calculation of the motions of geometries moving under the influence of forces and torques and
impulses through the mechanism of constraints. Active development and maintenance on DynaMo has stopped as of September 12th, 2007. C++
|Farseer Physics Engine Farseer Physics Engine is a collision detection system with realistic physics responses.
This means you can create a game or robotic simulation easily using the engine and the associated tools. Everything from simple hobby games to complex simulation systems
is possible with Farseer Physics Engine. Download the latest version, checkout our documentation and watch how other people are using the engine.
|Havok k Physics and Havok Animation are free for PC game development – thanks to Intel. Related links: XnaHavok – Havok for C# and XNA||GPL|
|HyperMatter is a supremely accurate elasticity model allows highly realistic and natural looking skin and muscle deformation in response to underlying skeletal motion. It
is also simple and intuitive to implement, and very easy to adjust and fine-tune. This is only one of countless many uses for HyperMatter. Adding secondary, inertial deformations to key-framed objects are especially easy to implement.
|Impulse-based dynamic simulation (IBDS) Jan Bender’s library, IBDS is a library for dynamic simulation of multi-body
systems in C++. The library imulates rigid bodies, particles, many different joint types and collisions with dynamic and static friction.
|Matali is an advanced, cross-platform, fully managed 3D physics engine, intended for .NET and Mono. Matali Physics simplifies creating games, animations, computer simulations and multimedia presentations. Matali Physics is designed with a view to achieving greatest functionality and easiness of programming. The engine supports XNA, SlimDX, OpenTK, MonoTouch and Mono for Android libraries and is available for WIN32/64, XBOX 360, Windows Phone 7, Mac OS X, iOS (iPhone, iPad and iPod Touch), Android OS, Linux
|Microsoft Robotics Developer Studio is a Windows-based environment for academic, hobbyist, and commercial developers to easily create robotics applications across a wide variety of hardware||commercial|
|Nape Physics Engine is a powerful, fast, and friendly 2D Rigid Body physics engine for AS3/Haxe. Nape is open-source and free to use for personal and commercial projects. Available for AS3 through .swc libraries and Haxe via haxelib.||GPL||
|Natural Motion uses Adaptive Behaviours instead of canned animations, 3D characters essentially animate themselves. Move two Football players close to each other and one will automatically tackle the other one, realistically trying to grab
hold of his legs and bringing him down
|Newton Game Dynamics.||zlib|
|nV Physics SDK, (currently codenamed ENVY) is still in the early phases of maturity, the existing prototype is going under huge optimization efforts, the APIs are frequently
updated and re-engineered as the need shows, and more effective demos are continuously built in new ways.
|Oops! Framework includes many game services and components that extend Microsoft’s XNA Framework. The most noteworthy of these components is an easy to use 3D Physics game component/framework. Last updated on Dec 26 2009.||Ms-PL|
|Open Physics Library is a software interface to physics hardware, defaulting to a software constraint solver to make use of the CPU in the absence of a hardware implementation such as Aegia PhysX processor or Nvidia’s HavokFX SLI implementation.||MIT|
|OpenTissue is [a collection of] generic algorithms and data structures for rapid development of interactive modeling and simulation.||ZLib|
|Open Dynamics Engine is an open source, high performance library for simulating rigid body dynamics. It is fully featured, stable, mature and platform independent with an easy to use C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments and virtual creatures. It is currently used in many computer games, 3D authoring tools and simulation tools.||LGPL|
|Physics2D.Net is a complete rewrite of physics 2D found on source forge. It is CLS compliant. Currently it has only one collision solver. The narrow phase
collision detector is considered to be part of the solver. The Solver is Sequential impulses with a distance grid used for narrow phase detection. There are 4 Broad phase detectors to choose from. Last Updated: 6-15-2008.
|Rigid Body Physics Engine C# student project, made to DirectX NOT XNA|
|PhysicsAndMathLibrary In recent years realtime physics has become more and moreimportant in modern computer games. While the number of commercial and non-commercial graphics engines increases year after year, with Havok and PhysX are only two commercial game physics engines available. On the other hand, the non-commercial game physics engines cannot simulate the number of bodies (>1000) that are needed in modern games.||Not for Commercial Use|
|Physsim / Moby||GPL|
|PhysX was formerly from AGEIA – now from NVidia. Free for commercial and non-commercial PC projects. Supports GPU hardware acceleration. .NET wrappers: .NET wrapper by Jason Zelsnack, PhysX-sharp, physxdotnet||Licensed|
|Pixelux Digital Molecular Matter as integrated Physics with Material Destructibility and Fracture|
|Rigs of Rods (also known as RoR), is an Open Source truck, car, airplane and boat simulator.|
|SD/Fast computes equations of motion for articulated rigid body systems.|
|Simple Physics Engine is free for non-commercial use||commercial|
|Simul-X does advanced vehicle dynamics middleware software library for PC, PS3 and Xbox 360. Add-on for Havok/PhysX.|
|SOFA – Simulation Open Framework Architecure is an Open Source framework primarily targeted at real-time simulation, with an emphasis on medical simulation. It is mostly intended for the research community to help develop newer algorithms, but can also be used as an efficient prototyping
tool. Based on an advanced software architecture.
|Tokamak Game Physics SDK is a high performance real-time physics library designed specially for games. It supports various physics constraints and has built-in collision function.C++||BSD|
|True Axis Physics SDK is a fast and solid real world physics simulation system designed for demanding games and virtual interactive environments.||Lisenced|
|Physics Abstraction Layer (PAL) provides a unified interface to a number of
different physics engines. This enables the use of multiple physics engines within
one application. It is not just a simple physics wrapper, but provides an extensible plug-in architecture for the physics system, as well as extended functionality for common simulation components. See Codeplex.
|Gangsta Wrapper is an abstraction layer allowing the use of different physics libraries through a consistent
API. It’s possible to swap between different physics engines without altering code. Interfaces are provided to connect it to your visualisation framework of choice.
|GNU or LGPL|
|OPAL – Open Physics Abstraction Layer is a high-level interface for low-level physics engines used in games, robotics
simulations, and other 3D applications. Features a simple C++ API, intuitive objects (e.g. Solids, Joints, Motors, Sensors), and XML-based file storage for complex objects.
|BSD or LGPL|
Disclamer: This is a compendium of some of the available Physics engine available
for XNA, it’s intended as a reference only and no assertations of complete-ness
are implied, if you know of another source please post a comment.
For information on lisence comparisons see the Wikipedia article here