awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
shakiba avatar

shakiba/planck.js

0
View on GitHub↗
5,251 stars·254 forks·TypeScript·MIT·24 viewspiqnt.com/planck.js↗

Planck.js

planck.js is a 2D rigid body physics engine for JavaScript and HTML5, based on Box2D. It provides a framework for simulating physical interactions and calculating the motion of solid objects within a two-dimensional virtual environment.

The engine is designed for cross-platform web gaming, enabling the implementation of rigid body dynamics across different web browsers and devices.

The library manages simulation through a constraint-based physics solver and rigid body state management. It utilizes iterative impulse resolution, semi-implicit Euler integration, and dynamic AABB tree partitioning to handle collision detection and object movement.

Features

  • 2D Rigid Body Physics Engines - Provides a full engine for calculating realistic physical interactions and dynamics for 2D rigid bodies.
  • 2D Physics Simulations - Implements 2D physics simulations including gravity, friction, and collision detection.
  • Rigid Body Transform Management - Manages rigid body state including mass, inertia, and spatial transforms for non-deformable objects.
  • Physics Engines - Provides a computational physics engine for simulating dynamics in interactive HTML5 environments.
  • Rigid Body Solvers - Provides a constraint-based solver to calculate physical interactions and maintain stability between rigid bodies.
  • Rigid Body Dynamics - Simulates the motion and interaction of solid, non-deformable objects in a 2D environment.
  • Sequential Impulse Solvers - Implements a sequential impulse solver to ensure physics stability through iterative velocity corrections.
  • Cross-Platform Game Clients - Designed as a cross-platform client library that ensures consistent physics simulation across different browsers and devices.
  • Collision Culling - Implements Axis-Aligned Bounding Box culling to optimize collision detection by ignoring non-overlapping object pairs.
  • Dynamic AABB Trees - Utilizes a dynamic AABB tree to organize physical objects for fast collision detection in large scenes.
  • Numerical Integration Methods - Employs semi-implicit Euler integration to update object velocity and position with energy stability.
  • HTML5 JavaScript Games - Provides rigid body dynamics specifically for interactive games built with HTML5 and JavaScript.
  • Physics Engines - Cross-platform 2D physics engine for HTML5 games.
  • Physics Engines - JavaScript rewrite of Box2D.

Star history

Star history chart for shakiba/planck.jsStar history chart for shakiba/planck.js

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Planck.js

These projects share indexed features with Planck.js. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • liabru/matter-jsliabru avatar

    liabru/matter-js

    18,256View on GitHub↗

    Matter-js is a 2D rigid body physics engine written in JavaScript for simulating realistic physical interactions, collisions, and dynamics in web browsers. It functions as a web physics simulation library that calculates motion, gravity, and constraints for objects rendered on a web canvas. The library includes a built-in canvas physics visualizer to draw physical bodies, joints, and constraints for debugging and gameplay. It distinguishes itself through a plugin system that supports recursive dependency resolution and internal method patching to inject custom logic into the engine's executio

    JavaScriptcanvasjavascriptphysics
    View on GitHub↗18,256
  • bulletphysics/bullet3bulletphysics avatar

    bulletphysics/bullet3

    14,243View on GitHub↗

    Bullet3 is a professional physics simulation engine designed for calculating rigid body, soft body, and collision dynamics within 3D environments and robotics applications. It functions as a computational framework for determining complex geometric intersections and contact manifolds between objects in simulated space. The library distinguishes itself through a distributed rendering framework that scales heavy graphical workloads and scene generation tasks across large clusters of machines. This capability enables the production of massive datasets by distributing complex scene generation acr

    C++computer-animationgame-developmentkinematics
    View on GitHub↗14,243
  • wellcaffeinated/physicsjswellcaffeinated avatar

    wellcaffeinated/PhysicsJS

    3,705View on GitHub↗

    PhysicsJS is a JavaScript physics engine and 2D rigid body simulator designed to calculate the collisions, constraints, and dynamics of physical bodies. It functions as a modular physics library for simulating the movement and interaction of circular bodies and convex polygons. The engine implements constraint-based dynamics to enforce distance and angle constraints between objects, enabling the creation of articulated structures and linked physics. It utilizes impulse-based resolution to handle collisions and prevent objects from passing through one another. The library provides capabilitie

    JavaScript
    View on GitHub↗3,705
  • fullstackio/flappyswiftfullstackio avatar

    fullstackio/FlappySwift

    9,694View on GitHub↗

    FlappySwift is a side-scrolling arcade game implementation built for Apple platforms. Developed using the Swift programming language, this 2D game project features a physics-based environment where a player controls a character to avoid obstacles. The project utilizes the SpriteKit framework to handle rigid body dynamics, gravitational forces, and sprite-based rendering. Game flow is managed through a state machine that controls transitions between the start menu, active gameplay, and game over screens. The implementation covers 2D physics simulation, including bounding-box collision detecti

    Swift
    View on GitHub↗9,694
Compare all 30 related projects→

Frequently asked questions

What does shakiba/planck.js do?

planck.js is a 2D rigid body physics engine for JavaScript and HTML5, based on Box2D. It provides a framework for simulating physical interactions and calculating the motion of solid objects within a two-dimensional virtual environment.

What are the main features of shakiba/planck.js?

The main features of shakiba/planck.js are: 2D Rigid Body Physics Engines, 2D Physics Simulations, Rigid Body Transform Management, Physics Engines, Rigid Body Solvers, Rigid Body Dynamics, Sequential Impulse Solvers, Cross-Platform Game Clients.

Which projects share features with shakiba/planck.js?

Projects with overlapping indexed features include: liabru/matter-js — Matter-js is a 2D rigid body physics engine written in JavaScript for simulating realistic physical interactions,… bulletphysics/bullet3 — Bullet3 is a professional physics simulation engine designed for calculating rigid body, soft body, and collision… wellcaffeinated/physicsjs — PhysicsJS is a JavaScript physics engine and 2D rigid body simulator designed to calculate the collisions,… fullstackio/flappyswift — FlappySwift is a side-scrolling arcade game implementation built for Apple platforms. Developed using the Swift… erincatto/box2d — Box2D is a 2D physics engine and rigid body simulator designed to compute collisions, forces, and joints in a… schteppe/cannon.js — cannon.js is a JavaScript 3D physics engine designed for calculating rigid body dynamics and collisions in…