15 votes

Does anyone have recommendations for physics simulation software? (E.g. Algodoo, Simulo, Physion, etc.)

I just got into watching physics simulation videos on youtube, stuff like marble races, marble battles, Multiply Or Release, and various other simulation content. Absolutely enthralling stuff for someone like me who enjoys simply watching an environment do its thing.

I wanted to get into making my own sims/scenarios and was wondering if you all on tildes had some recommendations. I've been trying algodoo and it seems very nice but I've heard its mostly abandonware and theres some features I find lacking. So I wanted to look into options for my little tinkering. I understand that there may not be a perfect one but I'd love to have some options to try and tinker in, and my research has led me to lots of them that seem at first look to be purely for academic purposes.

To crystallize my desires into a definite paragraph:
I'm looking for physics sim software recommendations to make my own marble races and other simulated 'games'. I don't mind having to learn it from scratch(including scripting language). I dont care if its paid or free. Ease of use is great but Non-essential since it can likely be learned over time. Preferrably not abandonware, or at least feature-rich if development has been completed. and lastly, performance is definitely important since I'll likely be building some grand designs as I settle in.

10 comments

  1. [6]
    tarehart
    Link
    You might consider using Unity game engine, which integrates physics pretty smoothly I gather: https://unity.com/solutions/programming-physics Solid performance (major games use it) Huge community...

    You might consider using Unity game engine, which integrates physics pretty smoothly I gather: https://unity.com/solutions/programming-physics

    • Solid performance (major games use it)
    • Huge community with education resources, example projects, etc. Googling for 'unity marble race example' gives a rich trove.
    • Flexibility to do most anything, you won't be limited later as you iterate on your ideas.

    Even if you're not keen on Unity, I'd recommend reframing your search as "what's a good game engine with physics support." Physics is common, and the flexibility and ease of the game development aspect will make the difference I think.

    Disclaimer: I've never used Unity personally.

    5 votes
    1. [5]
      toastbro
      Link Parent
      Honestly I hadnt considered using a game engine. I figured a more purpose-built physics engine would have richer features due to a narrower scope of focusing on physics simulation rather than...

      Honestly I hadnt considered using a game engine. I figured a more purpose-built physics engine would have richer features due to a narrower scope of focusing on physics simulation rather than having to include everything involved in making a game, but you make a very well put together argument here for using unity(or even a game engine in general). Especially given i have previous experience in unity. Thanks!

      3 votes
      1. [4]
        Plik
        Link Parent
        Unity is similar to Algodoo in many ways. You can run the "game" within the editor, and edit individual physical properties of a rigidbody object. The objects are not quite as clear cut as the...

        Unity is similar to Algodoo in many ways. You can run the "game" within the editor, and edit individual physical properties of a rigidbody object. The objects are not quite as clear cut as the springs and thrusters in Algodop though.

        The built in wheel objects do kinda suck. It's pretty easy to make a spring object with basic understanding of Hooke's law and damped oscillations though. Thrust (force) is probably one of the easier things to grasp in Unity.

        You need a decent understanding of vectors.

        3 votes
        1. [3]
          toastbro
          Link Parent
          I've been working in unity today and so far ive got the basic functionality behind a generic "marbles roll to a place" project, including the goal that has functionality when a marble touches it....

          I've been working in unity today and so far ive got the basic functionality behind a generic "marbles roll to a place" project, including the goal that has functionality when a marble touches it. I've been struggling with making a spinning object that rotates around a pivot point and making the marbles react similarly to how i see them react in algodoo videos. Progress is great thus far though, maybe ill finally crack open a tutorial to see if that covers spinning obstacles.

          2 votes
          1. [2]
            Plik
            Link Parent
            If collisions are behaving oddly it may help to turn off drag/air resistance, set to 0 or near 0 for the object (Unity tends to just call all resistive forces "drag"), alternatively using...

            If collisions are behaving oddly it may help to turn off drag/air resistance, set to 0 or near 0 for the object (Unity tends to just call all resistive forces "drag"), alternatively using different materials for the marbles and obstacles allows you to set individual drag (friction) coefficients for each.

            2 votes
            1. toastbro
              Link Parent
              No clue what the issue was, but i worked around it by adding a custom bounciness to the spinner via script, so now it applies an impulse force directly away from the contact point on contact and...

              No clue what the issue was, but i worked around it by adding a custom bounciness to the spinner via script, so now it applies an impulse force directly away from the contact point on contact and sustained contact, making a pleasantly realistic bounce and marble reactions. a bit floaty/bouncy but very much adjustable via values rather than the systemic issue i was running into previously.

              2 votes
  2. [2]
    TumblingTurquoise
    Link
    Perhaps you can give Universe Sandbox a shot. It has a pretty specific focus, but it is a simulation sandbox first and foremost.

    Perhaps you can give Universe Sandbox a shot. It has a pretty specific focus, but it is a simulation sandbox first and foremost.

    2 votes
    1. toastbro
      Link Parent
      Very interesting. I'll definitely look more into this. I regularly forget Universe Sandbox exists. Thank you!

      Very interesting. I'll definitely look more into this. I regularly forget Universe Sandbox exists. Thank you!

      2 votes
  3. [2]
    unkz
    Link
    My experience is mostly with MuJoCo and pybullet, but they are pretty easy to work with. A big upside for me is there is lots of example code for integrating AI agents into these systems.

    My experience is mostly with MuJoCo and pybullet, but they are pretty easy to work with. A big upside for me is there is lots of example code for integrating AI agents into these systems.

    1 vote
    1. toastbro
      Link Parent
      Nice, I'll probably check that out as well. Ive started in unity as others have suggested but I want to make sure I have options should i decide to move away from unity

      Nice, I'll probably check that out as well. Ive started in unity as others have suggested but I want to make sure I have options should i decide to move away from unity