Free Physics Engines
Source code and libraries for developing game physics and other simulations
Free Physics Engines (Source Code and Libraries)
Physics engines make it easy for you to write games and other programs that simulate the physics of the real world, such as the behaviour of objects that collide with each other, or explosions that result in debris and dust flying about, fluid/liquid that flow or gush, cloth and clothing that interact with the things around them and that can tear, and so on. Without such an engine, you will have to write the algorithms to handle the mathematical calculations yourself.
If you are developing games, you may also want to check out the following pages:
- Free Games Programming Libraries and Source Code
- Free Graphics Libraries, 2D, 3D Engines, Image Drawing Source Code
- Free Audio, Sound, Music and Digitized Voice Libraries and Source Code
- Free 3D Graphics Software: Create 3D Content for Games, Videos, Film and Animation
- Free Drawing and Painting Software, Image and Photo Editing Programs
thefreecountry.com's source code and libraries pages for specific languages such as the Free C / C++ Libraries, Source Code and Frameworks and Free Pascal and Delphi Libraries and Source Code may also be useful.
Free Physics Engines
- Tokamak Physics Engine (Windows, Linux)
The Tokamak Physics Engine is a real-time physics library designed for games. It's constraint solver lets programmers decide how they want to make the trade-off between accuracy and speed, and provides "more predictable processor and memory usage". Among its features are a variety of joint types and limits, a realistic friction model, stacking of a large number of objects, collision detection for primitives (box, sphere, capsure), combination of primitives and arbitrary static triangle mesh, lightweight rigid bodies providing particle effects, models that can break on collisions, etc. The API is written in C++. The engine is released under the BSD licence.
- NVIDIA PhysX SDK (Windows, Linux)
NVIDIA's PhysX engine is free for both commercial and non-commercial use on Windows and Linux systems. The Xbox 360 and PlayStation 3 (PS3) support as well as source code are not free. Its rigid body object physics system features realistic simulation of objects taking into account things like momentum, acceleration, velocity, position, rotational motion, friction, collisions, constraints, impulse, reference frames, etc. It has collision primitives like the sphere, box, capsule, plane, heightfield, convex shape and triangular mesh. It also has a variety of joint types, ragdoll creation and editing, and so on. Other features include advanced character control (auto-stepping, dominance groups), ray-cast and articulated vehicle dynamics (with wheel shapes and joint-based suspension), support for multi-threading, the Ageia PhysX Accelerator, volumetric fluid simulation (SPH or smooth particle hydrodynamics, implicit meshes, two-way interaction with rigid bodies, cloth or soft bodies), cloth and clothing authoring, etc.
- FarSeer Physics Engine (Windows, Xbox 360)
This is a 2D physics engine for Microsoft's XNA and Silverlight platforms. It features collisions (with concave and convex polygons support, multiple collision geometries per body, line-line, line-AABB, line-Geometry collision methods, etc), joints (revolute, angle, slider, pin), force controllers (linear and angular spring, fluid drag and buoyancy, ability to build custom controllers for things like explosions, steering, etc), and so on. It is released under the Microsoft Permissive License (Ms-PL).
- Open Dynamics Engine (Windows, Mac OS X, Linux, etc)
This open source C/C++ library for simulating rigid body dynamics features advanced joint types (ball and socket hinges, sliders, fixed, angular motor, etc), integrated collision detection (with collision primitives like the sphere, box, capped cylinder, plane, ray and triangular mesh) with friction support, etc, and can be used for simulating virtual creatures, vehicles and other objects in virtual reality environments. It is released under the BSD licence. The library is cross-platform can be compiled for Windows, Mac OS X, Linux and probably other systems. On Unix type systems like Linux and Mac OS X, you will need an X11 server.
- Bullet (Windows, PS3, Xbox 360, Wii)
This is an open source 3D collision detection and rigid body dynamics library that is free for commercial use. It uses the COLLADA physics file format. Platforms supported include Windows, PlayStation 3, XBox 360 and Nintendo Wii. It is released under the Zlib licence.
- APE - Actionscript Physics Engine (Flash)
This is a free Actionscript 3 physics engine that you can use in Flash and Flex. It features circle, rectangle and wheel particles, spring constraints, collisions, etc. The engine is released under the MIT licence.
- Havok Physics and Animation (Windows)
This SDK includes libraries (in binary form only), samples and documentation for programmers creating games and other programs for Windows. The last time I checked, it's free for non-commercial games and applications but it requires you to register with your name, email address, phone and city/country. Please read their licence for details.
- Newton Game Dynamics (Windows, Mac OS X, Linux)
This is an engine for real time simulation of physics environments. It supports scene management, collision detection, etc. There are versions for Windows, Mac and Linux. You are required to notify the developers of any product that uses the engine.
Can't Find What You're Looking For?
Search the site using Google.
How to Link to This Page
It will appear on your page as: