Forge2D - A Dart port of the Box2D physics engine


The Box2D physics engine is a fairly famous open source physics engine and this is our Dart port of it.

You can use it independently in Dart or in your Flame project with the help of flame_forge2d.

Some documentation of how to use it together with flame can be found here.


Box2D was first written in C++ and released by Erin Catto in 2007, but it is still maintained.

It was then ported to Java (jbox2d) by Daniel Murphy around 2015.

Then from that Java port it was ported to Dart by Dominic Hamon and Kevin Moore.

A few years after that Lukas Klingsbo refactored the code to better follow the Dart standard, since it still had a lot of reminiscence from C++. After this refactor, we renamed it to Forge2D, as the upstream wasn't maintained to take in our PRs.

There has also been countless other contributors which we are very thankful to!


  • The Flame engine team who is continuously working on maintaining and improving Forge2D.
  • Special thanks for Lukas Klingsbo, a Flame team member which took this project under his wing and greatly improved the project!
  • The Dart port of Box2D.