Physics Engines


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…

General

Description Lisence OS
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 Web Technology
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 XBoxWindows Phone 7Windows
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 Windows
Box2D.XNA C#/XNA port of Box2D. MIT XBox
Windows Phone 7
Windows
Bullet Is used in Blender.
BulletX
is a port of Bullet for .NET.
ZLib XBox
Windows Phone 7
Windows
Blender
BulletX A port of Bullet for .NET. Blog

Wiki
         —Lots of links here
to other info!
Windows
BulletSharp BulletSharp
is a .NET wrapper for the Bullet physics library.
MIT Windows
Chipmunk Game Dynamics For 2d games. Open Source . MIT Apple
Chrono or Chrono3D Free for non-commercial use GPLv3 Windows
Linux
DigitalRune Physics Fully managed 3D physics engine for .NET and XNA commercial, closed source XBox
Windows Phone 7
Windows
Henge3D Henge3D is a 3D physics library written in C# for XNA. It is implemented entirely in managed code. MIT XBox
Windows
Icarus XNA physics engine, also discussed here. ZLIB XBox
Windows
JigLibX A physics engine experiment based on the paper “Non-convex rigid bodies with stacking”. Also has a CollisionSkin Editor MIT XBox
Windows
jinngine Lightweight 3d physics engine written in Java. Open source. GPL Java
Jitter Fully managed 3D physics engine, written by the author of JigLibX. MIT
See pdf in code
XBox
Windows Phone 7
Windows
Android
Apple
Darwin2K “Free, open source dynamic simulation and automated design synthesis package for robotics.” Linux
daVinciCode Physics library developed under the supervision of Dr. Jeff Trinkle. dvc2D  and dvc3d Linux
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).
C++
GPL Linux
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++
GPL Windows
Linux
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.
Ms-PL XBox
Windows Phone 7
Windows
Havok k Physics and Havok Animation are free for PC game development – thanks to Intel. Related links: XnaHavok – Havok for C# and XNA GPL XBoxWindowsPlaystation
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.
Propriatary Maya
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.
ZLib Windows
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 XNASlimDXOpenTKMonoTouch 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
and FreeBSD.
commercial XBox
Windows Phone 7
Windows
Android
Apple
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 Windows
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 Windows
Android
Apple
Linux
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
Proprietary XBoxWindowsPlaystation
Newton Game Dynamics. zlib Windows
Apple
Linux
Python
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.
Lisenced Windows
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 XBoxWindows
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 Windows
OpenTissue is [a collection of] generic algorithms and data structures for rapid development of interactive modeling and simulation. ZLib Windows
Linux
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 Windows
Physics 2D MIT Windows
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.
MIT XBox
Windows
Rigid Body Physics Engine C# student project, made to DirectX NOT XNA Windows
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 WindowsLinux
Physsim / Moby GPL Apple
Linux
Python
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 XBox
Windows Phone 7
Windows
Android
Apple
Linux
Playstation
Wii
Maya
Pixelux Digital Molecular Matter as integrated Physics with Material Destructibility and Fracture XBox
Windows
AppleLinux
Playstation
Maya
Rigs of Rods (also known as RoR), is an Open Source truck, car, airplane and boat simulator. Windows
Linux
SD/Fast computes equations of motion for articulated rigid body systems. Code Generator
Simple Physics Engine is free for non-commercial use commercial Windows
Apple
Linux
Simul-X does advanced vehicle dynamics middleware software library for PC, PS3 and Xbox 360. Add-on for Havok/PhysX. XBoxWindows
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.
GLPL Windows
Apple
Linux
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 Windows
Linux
True Axis Physics SDK is a fast and solid real world physics simulation system designed for demanding games and virtual interactive environments. Lisenced XBox
Windows
Apple
Linux

Abstraction Layers:

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.
BSD Windows
Apple
Linux
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 Windows
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 Windows
Apple
Linux

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

Resources:

About Larry Louisiana

I'm a Microsoft Partner Consultant.
This entry was posted in Computers and Internet, Game Development, Programming, Review & Comparison and tagged , , , , . Bookmark the permalink.

2 Responses to Physics Engines

  1. Pingback: Blender Tutorials and Websites | Ely Bob's space

  2. best game design schools says:

    I truly enjoy that which you did at this website. As
    I may not have the time to completely study your site,
    nevertheless I might take a note of it and come back at a later time.
    Thankyou!

Leave a comment