{"id":37692448,"url":"https://github.com/kadir014/nova-physics","last_synced_at":"2026-01-16T12:43:36.207Z","repository":{"id":65959538,"uuid":"599348973","full_name":"kadir014/nova-physics","owner":"kadir014","description":"Lightweight 2D rigid-body physics engine","archived":false,"fork":false,"pushed_at":"2025-04-27T19:46:27.000Z","size":23696,"stargazers_count":93,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-27T20:32:54.767Z","etag":null,"topics":["2d","2d-physics","2d-physics-engine","c","impulse","physics","physics-engine","physics-simulation","rigid-bodies"],"latest_commit_sha":null,"homepage":"http://nova-physics.rtfd.io","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kadir014.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-02-09T00:23:31.000Z","updated_at":"2025-04-27T19:46:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"57204479-7b03-4ac3-893b-9a3a04b8e091","html_url":"https://github.com/kadir014/nova-physics","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/kadir014/nova-physics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadir014%2Fnova-physics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadir014%2Fnova-physics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadir014%2Fnova-physics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadir014%2Fnova-physics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kadir014","download_url":"https://codeload.github.com/kadir014/nova-physics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadir014%2Fnova-physics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2d","2d-physics","2d-physics-engine","c","impulse","physics","physics-engine","physics-simulation","rigid-bodies"],"created_at":"2026-01-16T12:43:36.111Z","updated_at":"2026-01-16T12:43:36.194Z","avatar_url":"https://github.com/kadir014.png","language":"C","readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/kadir014/kadir014.github.io/master/assets/novaphysics.png\" width=340\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-1.0.0-yellow\"\u003e\n  \u003ca href=\"https://app.codacy.com/gh/kadir014/nova-physics/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade\"\u003e\u003cimg src=\"https://app.codacy.com/project/badge/Grade/9556f3db17d54b288557d3b2e9dbf366\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\nNova Physics is a lightweight and easy to use 2D physics engine designed with game development in mind.\n\u003cbr\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/kadir014/nova-physics/main/examples/assets/introgif.gif\" width=400\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003csup\u003e\u003ci\u003eYou can also read this page in\u003c/i\u003e\u003c/sub\u003e\n\u003cbr\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/kadir014/nova-physics/main/docs/_static/flag_uk.png\" width=30 alt=\"EN\"\u003e\u003c/a\u003e\n\u003ca href=\"./docs/translations/README_tr.md\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/kadir014/nova-physics/main/docs/_static/flag_tr.png\" width=30\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n\n# Features\n- Simple and user-friendly interface\n- Portable codebase with no dependencies\n- Rigid body dynamics\n- Discrete collision detection\n  - Circle shape\n  - Convex polygon shape\n  - Testing shapes against shapes\n  - Testing shapes against point\n  - Ray casting\n- One-shot contact manifold generation between shapes\n- Multiple shapes per body\n- Broadphase strategies\n  - Bruteforce\n  - Bounding volume hierarchy tree\n- Material properties (friction, restitution and density)\n- Constraints between bodies\n  - Distance constraint - can also behave like spring\n  - Hinge constraint\n  - Spline path constraint\n- [Erin Catto's](https://box2d.org/files/ErinCatto_SequentialImpulses_GDC2006.pdf) sequential impulse solver algorithm\n- Great stacking stability\n- Semi-implicit (symplectic) Euler integrator\n- Collision filtering with masks and grouping\n- Built-in profiler\n- Optional double-precision mode\n- Various interactive demos using SDL2 \u0026 OpenGL\n\n\n# Building\nThe library uses C99 standard and depends only on the C standard library.\n\nFor further instructions see [here](BUILDING.md).\n\n\n\n# Examples\n\n\u003cimg src=\"https://raw.githubusercontent.com/kadir014/nova-physics/main/examples/assets/demogif.gif\" width=400\u003e\n\nExample demos are in [examples](https://github.com/kadir014/nova-physics/blob/main/examples/) directory, enable building demos option in the build system (if not already enabled).\n\n\n\n# Documentation\nYou can access the documentation including the API reference [here](https://nova-physics.rtfd.io).\n\nIf you are just getting started, you can use the [introduction page](https://nova-physics.readthedocs.io/en/latest/getting_started/index.html).\n\n\n\n# Resources \u0026 References\nNova is a passion and learning project for me, and following are some of the many great resources that helped me along the way.\n- **Erin Catto**, [GDC Presentations](https://box2d.org/publications/) and [Box2D](https://github.com/erincatto/box2c)\n- **Chris Hecker**, [Rigid Body Dynamics](https://chrishecker.com/Rigid_Body_Dynamics)\n- **Ian Millington**, [Game Physics Engine Development](https://www.r-5.org/files/books/computers/algo-list/realtime-3d/Ian_Millington-Game_Physics_Engine_Development-EN.pdf)\n- **Christer Ericson**, [Real-Time Collision Detection](https://www.r-5.org/files/books/computers/algo-list/realtime-3d/Christer_Ericson-Real-Time_Collision_Detection-EN.pdf)\n- **Dirk Gregorius**, [Robust Contact Creation for Physics Simulations](http://media.steampowered.com/apps/valve/2015/DirkGregorius_Contacts.pdf)\n- **Randy Gaul**, [Game Physics Articles](https://tutsplus.com/authors/randy-gaul)\n- **Allen Chou**, [Physics Blogs](https://allenchou.net/category/physics/)\n- **Jacco Bikker**, [How to build a BVH](https://jacco.ompf2.com/2022/04/13/how-to-build-a-bvh-part-1-basics/)\n- **Marjin Tamis** \u0026 **Giuseppe Maggiore**, [Constraint Based Physics Solver](http://mft-spirit.nl/files/MTamis_ConstraintBasedPhysicsSolver.pdf)\n- **Micheal Manzke**, [Multiple Contact Resolution](https://www.scss.tcd.ie/~manzkem/CS7057/cs7057-1516-10-MultipleContacts-mm.pdf)\n\n\n\n# License\n[MIT](LICENSE) © Kadir Aksoy\n\nNova Physics is, and always will be, free and open-source. Although I would greatly appreciate [sponsorships!](https://github.com/sponsors/kadir014)","funding_links":["https://github.com/sponsors/kadir014"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkadir014%2Fnova-physics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkadir014%2Fnova-physics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkadir014%2Fnova-physics/lists"}