I have been attempting to build a simple collision simulator inside of Construct 3 and have noticed some pretty odd behaviors that occur even with a simple setup.
My simulation simply has two circles that can only move horizontally in a zero gravity environment. They have no linear or angular damping and can't role. The user is able to modify both circles density and velocity individually. They can also modify the elasticity globally. They also have the option to turn on a bounding box which are immovable and also share the global elasticity.
None of the objects have friction.
The issues I'm seeing have to do with the balls losing all velocity when they technically shouldn't, or sometimes pushing one another and getting stuck together when they should be bouncing off of one another.
For example if the Blue circle has a density of 3, velocity of 0, and the green ball has a density of 1 and velocity of -50 then the balls will simply get stuck together and move to the left of the screen instead of bounce away. This happens regardless of the elasticity setting.
Another setup is blue circle with density of 2, velocity of 150 and green ball with densdity of 1, velocity of -150. Global elasticity is 70%. Bounding Box is on.
On the green balls 7th collision it will hit the right wall with a velocity of about 44. It should lose about 13 velocity and bonce to the left, but instead it stops. The blue ball then hits the left wall and stops as well. Realistically both balls should continue bouncing for forever... getting slower and slower each time.
I haven't been able to identify the exact issue for sure. I've attatched my .c3p file for anyone that wants to see the behavior in action or look at how I've set this up.