Seeing even farther with Farseer Physics Engine v3.5

Sign in to queue


When was the last time I've mentioned a psychics engine? A while. Farseer? Even longer. The release of a Farseer update seems like a good time to fix that...

Farseer Physics Engine 3.5

Farseer Physics Engine 3.5 - Mars is not that far away

FPE 3.5 is a major release that implements the latest tools, bugfixes and speed improvements. Note that all the packages contain project files for both XNA, Xbox360, Windows Phone 7 and MonoGames

Support the project

If you liked this release and would like to keep this project going. Please consider donating.

New features

  • Huge speed improvement when added a lot of bodies
  • Support for MonoGame
  • New MotorJoint for car suspension
  • Fixed a bug where OnSeparation was not always called
  • Less garbage generated from DebugView
  • More cache-coherent joints
  • Fixed bug in YuPengClipper when two polygons completely overlapped
  • The engine should now be thread safe.
  • Arc shapes now use a single body
  • Added LoopShape, a fully closed set of edge shapes with smooth collision
  • Better serialization support (now with support for joints)
  • Cloning objects have been fixed
  • Introduced AllCollisionCallbacksAgree and SkipSanityChecks to Settings
  • Much, much more...

Notes on upgrading

The engine is not backwards compatible. If your current version works fine, I would suggest you keep it. A few of the changes that breaks backwards compatibility:
  • Triangulation algorithms are now encapsulated inside the new Triangulate class. This is to ensure high performance by omitting checks that are not necessary for different algorithms.
  • All joints now work in local coordinates. Use the "UseWorldCoordinates" overload and set it to true, to use world coordinates instead.
  • Fixed joints have been removed, as they had issues calculating the correct position and velocity in some rare situations.

Welcome to Farseer Physics Engine

What is 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 a simple hobby game to a complex robotic simulation is possible with Farseer Physics Engine. Download the latest version and checkout our documentation.


Farseer Physics Engine is based on Box2D, which means we have a lot of features in common. However, we also have a lot more features that are not included in the Box2D engine. See a list in our documentation.
  • Continuous collision detection (with time of impact solver)
  • Contact callbacks: begin, end, pre-solve, post-solve
  • Convex and concave polyons and circles.
  • Multiple shapes per body
  • Dynamic tree and quad tree broadphase
  • Fast broadphase AABB queries and raycasts
  • Collision groups and categories
  • Sleep management
  • Friction and restitution
  • Stable stacking with a linear-time solver
  • Revolute, prismatic, distance, pulley, gear, mouse joint, and other joint types
  • Joint limits and joint motors
  • Controllers (gravity, force generators)
  • Tools to decompose concave polygons, find convex hulls and boolean operations
  • Factories to simplify the creation of bodies

And of course, the source for the engine and samples are all available;



Here's the XNA sample running;



The Discussion

Add Your 2 Cents