2D physics engine for games

Overview

LiquidFun logo

LiquidFun Version 1.1.0

Welcome to LiquidFun!

LiquidFun is a 2D physics engine for games. Go to our landing page to browse our documentation and see some examples.

LiquidFun is an extension of Box2D. It adds a particle based fluid and soft body simulation to the rigid body functionality of Box2D. LiquidFun can be built for many different systems, including Android, iOS, Windows, OS X, Linux, and JavaScript. Please see Box2D/Documentation/Building/ for details.

Discuss LiquidFun with other developers and users on the LiquidFun Google Group. File issues on the LiquidFun Issues Tracker or post your questions to stackoverflow.com with a mention of liquidfun.

Please see Box2D/Documentation/Building/ to learn how to build LiquidFun and run the testbed.

LiquidFun has a logo that you can use, in your splash screens or documentation, for example. Please see the Programmer's Guide for the graphics and further details.

For applications on Google Play that integrate this tool, usage is tracked. This tracking is done automatically using the embedded version string (b2_liquidFunVersionString), and helps us continue to optimize it. Aside from consuming a few extra bytes in your application binary, it shouldn't affect your application at all. We use this information to let us know if LiquidFun is useful and if we should continue to invest in it. Since this is open source, you are free to remove the version string but we would appreciate if you would leave it in.

Comments
  • Segmentation fault when running Convex Hull

    Segmentation fault when running Convex Hull

    Hi,

    I installed Liquid Fun v1.0 (stable) with DEBUG build type mentioned here. However, after executing the Testbed, the program throws segmentation fault whenever I select Convex Hull test from the menu.

    opened by raivivek 5
  • lfjs: support b2Contact.SetEnabled and fix b2WorldManifold.GetPoint

    lfjs: support b2Contact.SetEnabled and fix b2WorldManifold.GetPoint

    for javascript version.

    1. add support for b2Contact.SetEnabled and b2Contact.IsEnabled

    2. b2WorldManifold.GetPoint, each point data position interval should be 8 instead of 2

    opened by haskasu 4
  • liquidfun.js bugs

    liquidfun.js bugs

    I found some problems with the existing bindings.

    b2Body.CreateFixtureFrom(Def|Shape) accesses a global variable called world instead of the world the b2Body belongs to.

    The methods GetParticleCount/GetPositionBuffer don't work quite right. Sometimes GetParticleCount is off by one, which might be because of the int/double casting. The position buffer is too small. It has the same size as the numberGetParticleCount() returns, but should be twice as large. The current bindings code seems to allocate the buffers correctly, but still results in this problem while running the code. Unfortunately, I'm not so acquainted with Emscripten so I can't figure out where the problem lies.

    opened by zilluss 4
  • Update CMakeLists.txt to successfully build Xcode project from cmake -G Xcode

    Update CMakeLists.txt to successfully build Xcode project from cmake -G Xcode

    This wasn't compiling properly. I had originally opened https://github.com/google/liquidfun/issues/37 but then closed it as I wasn't too sure if the project was being kept up to date. Anyways, someone commented on issue 37, so creating a pull request for the fix.

    opened by mobileben 4
  • OSX build results in blank white screen when running Testbed

    OSX build results in blank white screen when running Testbed

    So this is sort of a combo problem. First issue is that using

    cmake -G Xcode

    A proper Xcode project file does not build. There are a slew of errors. They range from TryCompile issues to get_filename_component called with incorrect number of arguments. If you try running cmake -G Xcode a few times, it eventually churns out an Xcode project file, which does build. However, when running 64-bit, it produces a white screen only. In 32-bit, you see the graphics, but the simulators do not run and it seems to have no keyboard input.

    Alternatively, I tried to build it using build.sh. This worked. But the result was the same: Testbed ran with a pure white screen.

    I'm running OSX 10.9.5. I installed XQuartz 2.7.7. My cmake version is 2.8.12.1. I am however, using Xcode 6.1. I should also note that the iOS version runs fine.

    opened by mobileben 4
  • Cannot build on windows without commenting out line 154+ in CMakeLists.txt

    Cannot build on windows without commenting out line 154+ in CMakeLists.txt

    When pthread.h is not available (didn't test with an available one), the build fails with:

    CMake Error at CMakeLists.txt:158 (set_target_properties): set_target_properties Can not find target to add properties to: Threads::Threads

    opened by rhtgrg 3
  • Remove sdk after $ANDROID_SDK_HOME

    Remove sdk after $ANDROID_SDK_HOME

    $ANDROID_SDK_HOME should point to SDK home directory, not a directory above with hardcoded sdk directory.

    Trying to build Testbed with build_apk.sh fails due to wrong path under Linux, since SDK unpacks to android-sdk-linux.

    opened by auselen 3
  • Compacting list is a big problem

    Compacting list is a big problem

    We're running physics at a fixed rate and interpolating motion between the last two physics steps. For this reason we need the current and previous position of a particle, but the self-compacting list feature causes the particle indexes to become invalid. How can we persistently track a single particle?

    opened by Leadwerks 2
  • Based on SPH ?

    Based on SPH ?

    I have a question, is liquidfun based on some form of SPH ? After looking at source code it doesn't seem so. Is there any paper I can read about algorithms being used ?

    opened by Sheph 2
  • Particles collide with second fixture at shared vertex

    Particles collide with second fixture at shared vertex

    When particles move along a fixture and one of the vertices is shared with another fixture, the particles then behave as if they collide with the second fixture.

    particle vertex collision

    Here's the example in full:

    liquidfun_particle_bug.zip

    opened by colludium 2
  • Finished JS bindings for basic collision filtering

    Finished JS bindings for basic collision filtering

    This adds JavaScript bindings for b2Fixture.Refilter, and a JavaScript version of b2Fixture.SetFilterData. It also makes b2Body set the fixture's filter from the fixtureDef.

    opened by camerondm9 2
  • Unable to build on Debian SID

    Unable to build on Debian SID

    I applied the patch from issue 110 but now get the below error...

    [ 21%] Building CXX object Box2D/CMakeFiles/Box2D.dir/Collision/b2DynamicTree.cpp.o /home/rcook/data/downloads/debian/liquidfun-1.1.0/liquidfun/Box2D/Box2D/Collision/b2DynamicTree.cpp: In constructor ‘b2DynamicTree::b2DynamicTree()’: /home/rcook/data/downloads/debian/liquidfun-1.1.0/liquidfun/Box2D/Box2D/Collision/b2DynamicTree.cpp:31:15: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct b2TreeNode’; use assignment or value-initialization instead [-Werror=class-memaccess] 31 | memset(m_nodes, 0, m_nodeCapacity * sizeof(b2TreeNode)); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/rcook/data/downloads/debian/liquidfun-1.1.0/liquidfun/Box2D/Box2D/Collision/b2DynamicTree.cpp:20: /home/rcook/data/downloads/debian/liquidfun-1.1.0/liquidfun/Box2D/Box2D/../Box2D/Collision/b2DynamicTree.h:28:8: note: ‘struct b2TreeNode’ declared here 28 | struct b2TreeNode | ^~~~~~~~~~ cc1plus: all warnings being treated as errors make[2]: *** [Box2D/CMakeFiles/Box2D.dir/build.make:720: Box2D/CMakeFiles/Box2D.dir/Collision/b2DynamicTree.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:234: Box2D/CMakeFiles/Box2D.dir/all] Error 2 make: *** [Makefile:136: all] Error 2

    opened by CuZnDragon 0
  • Fix YouTube video embeds in documentation

    Fix YouTube video embeds in documentation

    The examples at https://google.github.io/liquidfun/#Examples do not load currently, because as the console reports:

    Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure frame '<URL>'.
    This request has been blocked; the content must be served over HTTPS.
    
    opened by ashtonsix 1
  • Major fixes

    Major fixes

    • Several major fixes to BeginContact and EndContact
    • Makes fixture<->particle collision distance use radius instead of diameter, and if the extra distance was intentional, the setting b2_fixtureParticleCollisionRadiusScaler gives control over this instead of it being a constant 2.
    • Makes b2ParticleSystem forces clear in b2World::ClearForces(), the same way that b2Body forces are cleared. This fixes forces from being applied at only the first particleIteration.
    • SolveCollision and SolveBarrier relied on (delayed) forces to be cleared immediately, in order to generate the contacts they desire, so I added m_impulseBuffer for them to use, which clears immediately.
    • Fixes elastic directional bias. I believe that this bias was more noticeable with smaller time steps.
    opened by Steffenvy 1
  • Can't build liquidfun on Ubuntu.

    Can't build liquidfun on Ubuntu.

    Hello everyone,

    following the procedure described in the https://google.github.io/liquidfun/Building/html/md__building_linux.html page, cd liquidfun/Box2D cmake -G'Unix Makefiles' make

    i get many errors, as follow:

    This warning is for project developers. Use -Wno-dev to suppress it.

    CMake Error at CMakeLists.txt:158 (set_target_properties): set_target_properties Can not find target to add properties to: X11::X11

    CMake Error at CMakeLists.txt:158 (set_target_properties): set_target_properties Can not find target to add properties to: X11::ICE

    CMake Error at CMakeLists.txt:158 (set_target_properties): set_target_properties Can not find target to add properties to: X11::SM

    CMake Error at CMakeLists.txt:158 (set_target_properties): set_target_properties Can not find target to add properties to: X11::Xau

    How can i fix and complete the build?

    Thank you very much

    opened by AmigaBlitter 1
Releases(v1.1.0)
  • v1.1.0(Jul 16, 2014)

    Overview

    The 1.1.0 release of LiquidFun adds support for new platforms, speeds-up the simulation, and documents the particle simulation algorithm with a fun, visual presentation. Some highlights:

    • iOS support.
    • JavaScript support via Emscripten.
    • Improved Java support via more SWIG bindings.
    • An Inside LiquidFun presentation explaining the particle simulation algorithm.
    • ARM optimizations using NEON.
    • Stability and collision improvements to the particle simulation.
    • More ways to inspect particle contacts.
    • A LiquidFun logo to use in your splash screens and documentation, if you like.

    The API Modifications are minimal in this release, but please review them carefully before upgrading your project.

    LiquidFun now supports Mac, Windows, Linux, Android, iOS, and browsers. Note that LiquidFun code is portable C++98, so you should be able to compile it for other platforms too.

    Your program can use LiquidFun if it is written in C++, Java, or JavaScript.

    LiquidFun 1.1.0 is based on Box2D revision 280, the 2.3.0 release of Box2D.

    New Features

    • Translated LiquidFun into JavaScript using Emscripten. Please see Box2D/lfjs for the JavaScript bindings and a JavaScript version of the Testbed.
    • Added iOS XCode projects for the Testbed application and EyeCandy demo.
    • Added b2ParticleSystem::SplitParticleGroup, which finds disjoint blobs of particles, and puts each into its own b2ParticleGroup.
    • Added several accessor functions that use only int32s, float32s, and void pointers. These accessors are wrapped in the LIQUIDFUN_EXTERNAL_LANGUAGE_API preprocessor define. They enable binding with other languages--for example, via SWIG.
    • Particle indices can be represented with 16-bits instead of 32-bits. This is a nice optimization if you know you will have less than 32k particles per simulation.
    • b2ParticleSimulation::UpdateContacts has been rewritten to take advantage of NEON SIMD. The original implementation remains, for reference, and for platforms that do not support NEON SIMD. The NEON SIMD version requires 16-bit particle indices.

    API Modifications

    • b2ParticleContact's members are now accessed via Get and Set functions.
    • b2ParticleSystemDef now has members for strictContactCheck, density, gravityScale, radius, and maxCount. You can still set these values after b2ParticleSystem creation, however, for example via b2ParticleSystem::SetDensity.

    Other Changes

    • Added b2ParticleSystem::GetAllParticleFlags, b2ParticleSystem::GetAllGroupFlags, and b2ParticleGroup::GetAllParticleFlags, which OR-together all the flags in a particle system or group.
    • Expose the contact weight buffer. The weight represents how closely two particles overlap.
    • Expose particle pairs and triads for reading. These arrays indicate which particles are interacting.
    • Added b2ParticleGroup::GetLinearVelocityFromWorldPoint, which returns the average velocity of a particle group with respect to a position. The position is used to calculate the angular velocity of the group.
    • Added b2World::CalculateReasonableParticleIterations to give a good estimate of the number of particle iterations you should pass into b2World::Step.
    Source code(tar.gz)
    Source code(zip)
    liquidfun-1.1.0.tar.gz(8.87 MB)
    liquidfun-1.1.0.zip(10.45 MB)
  • v1.0.0(Mar 18, 2014)

    Overview

    The 1.0.0 release of LiquidFun introduces a number of new features to the API described below. Some of the highlights are:

    • Multiple particle systems.
    • New particle behaviors: barrier, static-pressure, and repulsive.
    • Particle lifetimes.
    • Detection of stuck particles.
    • The ability to apply forces and impulses to particles.
    • Java support via SWIG.
    • A host of new demos: inside the existing Testbed application, and gorgeous new "EyeCandy" demo for Android.

    Users of 0.9.0 should carefully read through the API Modifications section to understand what they need to change to get their existing applications to work with the latest release of LiquidFun.

    New Features

    • Added option to substep particle simulation independently of b2World.
    • Added barrier particles which can be used to prevent particle tunneling due to large particle velocities or simulation steps.
    • Added static pressure particles to reduce compression of fluids.
    • Added repulsive particles to separate particle groups from each other.
    • Added support for multiple independent particle systems.
    • Added option to create particles in an existing particle group.
    • Added option to detect stuck particles.
    • Added option to pause particle simulations. Paused simluations don't consume cycles in b2World::Step.
    • Added option to enable a more strict check for Particle/Body interactions in cases where complex world geometry may cause false positive contacts.
    • Added option to call a contact listener or filter on particle / fixture or particle / particle interactions.
    • Added the ability to apply forces and impulses to particles.
    • Added "EyeCandy" sample to demonstrate different particle rendering methods on Android.
    • Added "Sparky", "Sandbox" and "Soup Stirrer" tests to the Testbed example to demonstrate particle and rigid body interaction.
    • Added "Ramp", "Pointy", and "AntiPointy" tests to the Testbed example to illustrate the difference with strict contact checking.
    • Added "Maxwell" test to the Testbed to demonstrate the direct modification of particle velocities.
    • Added "Fracker" test to demonstrate particle viscous fluids and particle destruction callbacks.
    • Added "Multiple Systems" test to the Testbed to demonstrate multiple particle systems.
    • Added Java Native Interface support via SWIG. It covers a subset of the API.
    • Added the ability to pass a list of shapes to be passed in for particle-group creation.

    API Modifications

    • b2Draw::e_particleBit flag now enables/disables b2World::DrawDebugData() drawing the particle system.

    To render the particle system using b2World::DrawDebugData(), the b2Draw::e_particleBit flag must be set on the b2Draw object passed to b2World::SetDebugDraw(). It is possible to set flags on b2Draw objects using b2Draw::SetFlags().

    Release 0.9.0 unconditionally called b2Draw::DrawParticles() from b2World::DrawDebugData().

    • Building LiquidFun on Linux, using cmake -G"Unix Makefiles", now places output files in a build type sub-directory.

    For example, the output executable of the Testbed example is now written to Box2D/Testbed/Release/Testbed when building using the Release configuration.

    • Multiple independent particle systems can now exist, each with its own physical coefficients. Previously, only one particle system existed, and it always existed. Use b2World::CreateParticleSystem to create particle systems, and b2World::DestroyParticleSystem to destroy them.
    • b2DestructionListener::SayGoodbye, b2QueryCallback::ReportParticle, and b2RayCastCallback::ReportParticle each now takes a b2ParticleSystem pointer as its first parameter. This change is necessary since multiple particle systems can now exist.
    • The particle system API has moved from b2World to b2ParticleSystem. For example, b2ParticleSystem::DestroyParticlesInShape replaces b2World::DestroyParticlesInShape. You can use b2World::CreateParticleSystem or b2World::GetParticleSystemList() to acquire references to b2ParticleSystem.
    • Removed "Particle" from many of the functions in the particle system API. The word is redundant now that the API is under b2ParticleSystem. The API now has the following naming convention:
    • Each function that takes a particle index or handle has a "Particle" component (e.g. "SetParticle").
    • Each function that operates on the entire system has no "Particle" component (e.g. "SetRadius").
    ```
    GetParticleMaxCount ==> GetMaxParticleCount
    SetParticleMaxCount ==> SetMaxParticleCount
    GetParticleDensity ==> GetDensity
    SetParticleDensity ==> SetDensity
    SetParticleGravityScale ==> SetGravityScale
    GetParticleGravityScale ==> GetGravityScale
    SetParticleDamping ==> SetDamping
    GetParticleDamping ==> GetDamping
    GetParticleStaticPressureIterations ==> GetStaticPressureIterations
    SetParticleStaticPressureIterations ==> SetStaticPressureIterations
    SetParticleRadius ==> SetRadius
    GetParticleRadius ==> GetRadius
    GetParticlePositionBuffer ==> GetPositionBuffer
    GetParticlePositionBuffer ==> GetPositionBuffer
    GetParticleVelocityBuffer ==> GetVelocityBuffer
    GetParticleVelocityBuffer ==> GetVelocityBuffer
    GetParticleColorBuffer ==> GetColorBuffer
    GetParticleColorBuffer ==> GetColorBuffer
    GetParticleGroupBuffer ==> GetGroupBuffer
    GetParticleGroupBuffer ==> GetGroupBuffer
    GetParticleUserDataBuffer ==> GetUserDataBuffer
    GetParticleUserDataBuffer ==> GetUserDataBuffer
    GetParticleFlagsBuffer ==> GetFlagsBuffer
    SetParticleFlagsBuffer ==> SetFlagsBuffer
    SetParticlePositionBuffer ==> SetPositionBuffer
    SetParticleVelocityBuffer ==> SetVelocityBuffer
    SetParticleColorBuffer ==> SetColorBuffer
    SetParticleUserDataBuffer ==> SetUserDataBuffer
    GetParticleContacts ==> GetContacts
    GetParticleContactCount ==> GetContactCount
    GetParticleBodyContacts ==> GetBodyContacts
    GetParticleBodyContactCount ==> GetBodyContactCount
    DestroyParticlesInGroup ==> DestroyParticles (moved to b2ParticleGroup)
    ```
    
    • Renamed b2ParticleFlag b2DestructionListener to b2DestructionListenerParticle to be consistent with other particle flag names.
    • Better particle-behavior stability.

    Other Changes

    • Integrated Box2D 2.3.0 release from Box2D revision 280.
    • Reduced the size of particles in Testbed particle tests to be consistent with the size of rigid bodies.
    • Improved damping force to prevent particle explosions.
    • Fixed b2Timer bug that occurs when the usec component wraps.
    • Added b2Stat to calculate min/max/mean of a set of samples, and integrated this functionality into Testbed to measure performance.
    • Fixed memory leaks of large blocks allocated by b2BlockAllocator.
    • Fixed incorrect stack-capacity calculation in b2VoronoiDiagram.
    • Added operators to b2ParticleColor.
    • Improved parameter and option selection in Testbed with the fullscreen UI.
    • Cleaned up statistics display in Testbed.
    • Fixed depth-buffer allocation when creating an empty particle group.
    • Added build step to unit-test execution scripts.
    • Added generation of code coverage report for unit-tests.
    • Added a script to clean up temporary cmake files.
    • Increased warning level and enabled conversion of warnings to errors.
    • Added unit-test for b2IsValid().
    • Added b2World::QueryShapeAABB() convenience function to query the world for objects in the AABB which encloses a shape.
    • Inlined some simple b2ParticleSystem and b2ParticleGroup functions.
    • Allowed particle systems to be culled from b2World::QueryAABB and b2World::RayCast.
    • Added callbacks so an application can override b2Alloc() and b2Free() without modifying the library.
    • Added valgrind support to unit-test runner on Linux / OSX.
    • Added cygwin wrapper script for build.bat and build_android.bat on Windows.
    • Added option to archive build artifacts from build scripts.
    • Changed Android C++ runtime library to gnustl_static.
    Source code(tar.gz)
    Source code(zip)
    liquidfun-1.0.0.tar.gz(6.10 MB)
    liquidfun-1.0.0.zip(7.51 MB)
  • v0.9.0(Dec 10, 2013)

    Overview

    The initial release of LiquidFun is available for download from the 0.9.0 release release page.

    New Features

    • Particle system added to Box2D.
    • Example applications ported to Android.

    API Modifications

    • No changes to the Box2D 2.3.0 pre-release API.

    Other Changes

    • Integrated Box2D 2.3.0 pre-release from Box2D revision 255
    • Unit tests implemented for the particle system.
    • Particle system tests added to the Testbed example application.
    • Build-system support for Android.
    • Moved documentation to Markdown/HTML.
    Source code(tar.gz)
    Source code(zip)
    liquidfun-0.9.0.tar.gz(3.63 MB)
    liquidfun-0.9.0.zip(4.85 MB)
Owner
Google
Google ❤️ Open Source
Google
Android Play Games Services plugin for Godot Game Engine

Google Play Games Services Plugin for Godot This is an Android Play Games Services plugin for Godot Game Engine 3.4.2 Supported features: Sign-in/Sign

Studio Adriatic 41 Dec 29, 2022
A minimalist Android physics game written in Kotlin & libGDX

A minimalist Android physics game with 400.000+ downloads, written in Kotlin & libGDX

Luca1152 2 Dec 19, 2022
Extracts thousands of chess games

Chess Games Extractor Extracts chess games to a file. The main goal is presentin

Nyckollas Brandão 0 Jul 31, 2022
A simple launcher for Meta Quest VR headsets supporting Android/Official Quest/SideQuest apps and games

Quest PiLauncher This is a simple launcher for Meta Quest VR headsets supporting Android/Official Quest/SideQuest apps and games. Builds, VIdeo Compil

Luboš Vonásek 47 Dec 29, 2022
Gameforma is a simple game list application where user could explore more than 350.000 games

Gameforma is a simple game list application where user could explore more than 350.000 games data provided from RAWG Video Games Database API. Built with MVVM repositoy pattern, clean architecture in order to finish Dicoding Menjadi Android Developer Expert's (MADE) class submission.

Naufal Aldy Pradana 3 Sep 22, 2022
Google Play Service to your Godot 3.2.x games

GDPlayService Android plugin to implement Google Play Service into your game Depends on Godot game engine: git clone https://github.com/godotengine/g

FrogSquare 9 Aug 2, 2022
Android OpenGL ES 2.0/3.0 Engine

Build Status Master Branch Status Develop Branch Status News 06/23/2017 Bombshell 1.1.970 has been released. It fixes behavior of Objects of zero size

null 2.2k Jan 9, 2023
Free Android 2D OpenGL Game Engine

AndEngine Donations While developing AndEngine was a lot of fun, it also also consumed many(!) months of my life. It actually continues to cost me a s

Nicolas Gramlich 3.2k Jan 5, 2023
A cross-platform Java game Engine (Framework) , support JavaFX / Android / IOS / HTML5 / Linux / MAC / Windows

Loon Game Engine (Java Game Framework) EN / KR Free Game Resources Links Download Loon Game Engine Only Android-studio Template : androidstudio-templa

cping 502 Jan 4, 2023
Game made with Korge (Kotlin Multiplatform game engine)

MolesAttack Kotlin Multiplatform Game Play Html/js: https://feliperce.github.io/MolesAttack-Distribution/ Jar: https://feliperce.github.io/MolesAttack

Felipe Rodrigues 10 May 30, 2022
Korjector is a KorGE game engine-based multiplatform client for Projector.

Korjector is a KorGE game engine-based multiplatform client for Projector. An internal JetBrains Hackathon 2021 project to demonstrate that a Projector client can be created in less than 48 hours for any OS that supports decent canvas 2D API.

Sergei Bulgakov 10 Nov 20, 2021
RPG written in Kotlin using Korge engine

TheAlchemist RPG written in Kotlin using the Korge engine Based on the template https://github.com/korlibs/korge-starter-kit-rpg, this is a simple pix

Liam 2 Jan 16, 2022
SMBClone - SMD clone custom game engine. (Desktop + Android)

SMBClone Simple crossplatform game engine for like SMB game! Supported platforms

Victor Varenik 4 Jul 4, 2022
RemsEngine - OpenSource Kotlin/OpenGL/ECS based game engine

Game Engine: Rem's Engine Parallel to this video editor, I am developing my own

Antonio 7 Nov 3, 2022
An experiment with cellular automata; Functional mod for Rem's Engine.

Cellular Automata This is an experiment with cellular automata. A functional mod for Rem's Engine. When experimenting, I found the Sierpinski Triangle

Antonio 1 Mar 21, 2022
2D physics engine for games

LiquidFun Version 1.1.0 Welcome to LiquidFun! LiquidFun is a 2D physics engine for games. Go to our landing page to browse our documentation and see s

Google 4.5k Dec 31, 2022
Android Play Games Services plugin for Godot Game Engine

Google Play Games Services Plugin for Godot This is an Android Play Games Services plugin for Godot Game Engine 3.4.2 Supported features: Sign-in/Sign

Studio Adriatic 41 Dec 29, 2022
A Java library that models spring dynamics and adds real world physics to your app.

Rebound About Rebound is a java library that models spring dynamics. Rebound spring models can be used to create animations that feel natural by intro

Facebook Archive 5.5k Jan 9, 2023
Android layout that simulates physics using JBox2D

PhysicsLayout Android layout that simulates physics using JBox2D. Simply add views, enable physics, and watch them fall! See it in action with the sam

John Carlson 689 Dec 29, 2022
A Java library that models spring dynamics and adds real world physics to your app.

Rebound About Rebound is a java library that models spring dynamics. Rebound spring models can be used to create animations that feel natural by intro

Facebook Archive 5.5k Dec 18, 2022