{"id":16786696,"url":"https://github.com/exigow/soft-physics-engine","last_synced_at":"2026-02-19T00:03:08.561Z","repository":{"id":21223381,"uuid":"24537907","full_name":"exigow/soft-physics-engine","owner":"exigow","description":"Simple 2D Soft Physics Engine fully written in Java with libGDX","archived":false,"fork":false,"pushed_at":"2016-05-23T17:39:41.000Z","size":6597,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-23T16:02:33.419Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exigow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-27T17:18:58.000Z","updated_at":"2018-08-16T10:46:25.000Z","dependencies_parsed_at":"2022-09-06T03:20:14.310Z","dependency_job_id":null,"html_url":"https://github.com/exigow/soft-physics-engine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/exigow/soft-physics-engine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exigow%2Fsoft-physics-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exigow%2Fsoft-physics-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exigow%2Fsoft-physics-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exigow%2Fsoft-physics-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exigow","download_url":"https://codeload.github.com/exigow/soft-physics-engine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exigow%2Fsoft-physics-engine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29599338,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T22:25:43.180Z","status":"ssl_error","status_checked_at":"2026-02-18T22:25:42.766Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2024-10-13T08:12:56.887Z","updated_at":"2026-02-19T00:03:08.544Z","avatar_url":"https://github.com/exigow.png","language":"Java","readme":"Soft Physics Engine\n===================\n\n![alt text] (https://raw.githubusercontent.com/exigow/soft-physics-engine/master/screenshots/logo.png \"Soft Physics Engine logo\")\n\nA simple 2D soft physics engine fully written in Java.\n\nDesign goal\n-----------\n\nThe main goal is to provide easy-to-use, feature-rich physics engine completely written in Java, where each model can be parametrized on-the-fly during simulation by simply assigning the new value of the field. It is as simple as it sounds.\n\nDemos\n-----\n\nLibrary contains several usage examples in an interesting way, or showing some feature.\n\n* [Cloth rendering demo] (https://github.com/exigow/soft-physics-engine/tree/master/src/demos/cloth) ([screenshot] (https://raw.githubusercontent.com/exigow/soft-physics-engine/master/screenshots/cloth-screenshot.png)) - textured grid-based cloth\n* [Tree demo] (https://github.com/exigow/soft-physics-engine/tree/master/src/demos/tree) ([screenshot] (https://raw.githubusercontent.com/exigow/soft-physics-engine/master/screenshots/tree-demo-screenshot.png)) - building tree with angle joint\n* [Rope rendering demo] (https://github.com/exigow/soft-physics-engine/tree/master/src/demos/rope) ([screenshot] (https://raw.githubusercontent.com/exigow/soft-physics-engine/master/screenshots/rope-demo-screenshot.png)) - textured rope smoothed using Bezier curves\n* [Angle joint demo] (https://github.com/exigow/soft-physics-engine/tree/master/src/demos/angle) - stiffened rope with angle joint\n\nDemos are interactive. You can grab every particle using *left mouse button* on desktop. Multi-touch has been tested on mobile devices too.\n\nDependencies\n------------\n\n* [libGDX] (https://github.com/libgdx/libgdx) - cross-platform Java game development framework\n\n    Used **only to show demos** including window creation, particles/joints rendering, texturing, mouse gripping, etc. This part can be easily converted into something else like Slick2d or raw LWJGL.\n\n* [JOML] (https://github.com/JOML-CI/JOML) -  Java math library for OpenGL rendering calculations\n\n    Responsible for engine's math. This library is fast, GC-friendly and produces clean code (this is the reason why I do not use the built-in math with libGDX, which is fast ofc, but not readable).\n\nFuture\n------\n\nThings to do:\n\n* parts of the world are just mutable DTO's (data transfer objects), created using static inner classes (builders or smth) to achieve major design goal (still wip)\n* add minimal sample to README.md\n* collisions (to debate)\n* fixed constant length joint (temporarily it can be achieved with 'hard spring' but may cause some glitches)\n* vector calculations on primitive types, losing code readability :( (or find another way to improve the performance of the GC)\n* particle weight\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexigow%2Fsoft-physics-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexigow%2Fsoft-physics-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexigow%2Fsoft-physics-engine/lists"}