Features
July 21, 2026 · View on GitHub
Fracture v1.0.0
Procedural physics destruction for GameMaker LTS 2026
Fracture is a Free and Open Source GameMaker library for breaking objects into Box2D physics pieces using a variety of fracture patterns.
Add procedural physics-based destruction to your game with minimal setup. The library does the heavy lifting for you - geometry, physics and rendering are all handled internally.
// Shatter a hull into 10 organic pieces, blown outwards from the mouse
Fracture.Impulse(2, mouse_x, mouse_y).ConvexVoronoi(id, FRACTURE_CONVEX_HULL, 10);
// Break a box into a 6x6 grid of heavy, barely-bouncy chunks
Fracture.Physics({ density: 4, restitution: 0.1 }).ConvexGrid(id, FRACTURE_CONVEX_BOX, 6, 6);
// Slice a circle into 10 radial wedges that linger before fading
Fracture.Fade({ delay: 120, speed: 0.005 }).ConvexRadial(id, FRACTURE_CONVEX_CIRCLE, 10);
- ℹ️ Download the
.yympslocal package from the latest release page. - ℹ️ Refer to the Documentation for installation instructions, usage examples, and full API reference.
- ℹ️ See the Getting Started page to fracture your first instance.
Features
- 7 Fracture Patterns. Shatter instances with Grid, Brick, Diamond, Hex, Radial, Slice, and Voronoi, most with optional controls to dial in the look.
- 3 Convex Shapes. Fracture instances as a Box, Circle, or Hull to match any convex sprite, with every Piece clipped to the shape boundary.
- Physics & Impulse. Define Piece "materials" through physics properties and blow Pieces apart with an explosive impulse from any origin.
- Automatic Fading. Pieces fade out and destroy themselves automatically, with randomized delay and speed for staggered, natural-looking debris.
- Efficient Rendering. Pieces share a single (frozen) vertex buffer per fracture and draw in one pass, outclassing naive sprite baking or primitive drawing.
- Lifecycle Control. Command existing Pieces at any time: clear them instantly, force a fade, or pause and resume them alongside your game's pause flow.
- Fluent Settings. Chain .Physics(), .Mass(), .Impulse() and .Fade() before any fracture call to customize how Pieces feel, weigh, scatter and disappear.
Looking Ahead
Fracture began as a submission to the sixth Cookbook library jam, so its scope was deliberately limited to convex fracturing with 3 shapes and 7 patterns.
But the plans reach much further! Here are some of the things I'd like to add:
- Concave fracturing. Support for arbitrary sprite shapes, not just convex ones.
- Cutting shapes. Split an instance along a line instead of shattering it whole, with plans for multiple cuts.
- Geometry/physics separation. Fetch raw Piece geometry for custom effects without creating physics bodies, opening up non-physics workflows.
- Caching. Cache hulls and pools of pre-generated geometry, keeping things as fast as possible at runtime.
- Stylistic extras. Piece outlines, weighted seams, and recursive re-fracturing.
See the full list on the Upcoming Features page.
Credits
- Created and maintained by Gleb Tsereteli.
- Promo art by Gleb's wife Kate ❣️
- Initially created as a submission for TabularElf's CookBook Jam #6.
- runtile-for-gamemaker by attic-stuff, adapted to objects for the
Wallsdemo. - Puzzle Pack 2 and Shape Characters by Kenney.
- Asset Bundles by GameMaker.