Who Created Matter.js? The 2D Physics Engine
Matter.js is one of the most popular 2D rigid-body physics engines for the web, powering countless browser games and interactive visual simulations. This article explores the creator behind Matter.js, Liam Brummitt, his motivation for developing the library, and how the project became a cornerstone of modern JavaScript development.
The Creator: Liam Brummitt
Matter.js was created by Liam Brummitt, a software engineer and web developer based in the United Kingdom, known online by the handle liabru. Brummitt released the project as open-source software on GitHub in 2014.
At the time of its creation, web developers looking to implement realistic 2D physics primarily relied on ports of engines from other languages, such as Box2D (originally written in C++). While powerful, these ported libraries were often heavy, complex to integrate, and not designed natively for modern JavaScript environments.
Why Matter.js Was Built
Liam Brummitt created Matter.js to provide a native, pure JavaScript alternative that was lightweight, developer-friendly, and easy to run directly inside web browsers. His primary goals for the engine included:
- Pure JavaScript Implementation: Avoiding foreign language ports to ensure better compatibility with native browser tools and modern web performance optimizations.
- Integrated Canvas Renderer: Providing a built-in renderer that allows developers to prototype, test, and debug physics simulations without needing third-party graphics frameworks like PixiJS or Three.js (though it remains compatible with them).
- Intuitive API: Offering a clean, accessible syntax for defining rigid bodies, composite objects, constraints, and collision rules.
Core Capabilities
Under Brummitt's design, Matter.js introduced a complete suite of 2D physics capabilities:
- Rigid Body Dynamics: Accurate handling of mass, inertia, friction, restitution, and velocity.
- Collision Detection and Resolution: Broadphase and narrowphase collision algorithms supporting convex polygons, circles, and compound bodies.
- Constraints and Springs: Mechanics for connecting bodies with flexible or stiff joints.
- Mobile Support: Native touch event handling and mouse constraints for interactive canvas environments.
Current Status and Community
Liam Brummitt continues to maintain the project alongside a community of open-source contributors. Distributed under the MIT license, Matter.js has grown to earn tens of thousands of stars on GitHub, serving as an essential engine for game developers, creative coders, and educational platforms worldwide.