Help with inconsistent physics

Hello I am working on a physics based puzzle game called Isoball and am running into issues with the physics being inconsistent. I would like to make them very consistent in each level, a levels solution will work always and never fail.

Sometimes a level will work and other times it won’t, interactable elements like hammers and speed pads will sometimes fall out of sync for no reason(basically 1 speed pad should get you past a hammer but it only works 75% of the time). Also things like tubes will spit the ball out at very inconsistent speeds.


I looked around the forum and did not really find much that was helpful.

There is no code really since I’m using normal physics and touched events. The way that things like hammers are moved is using sine based movement, but the sine value is reset every time the level starts so it should be in sync always. I’m not sure if there is a way to fix this but I would love to hear any ideas that people might have.

The first thing that would come to my mind would be adding a LinearVelocity to the ball perhaps (with the aim of forcing the ball to quickly reach a set velocity). Making the LinearVelocity have a high MaxForce would be necessary.

You could then have speed pads force the LinearVelocity to a specific direction and magnitude for a set period.

Inside the pipes, you could then add nodes (small invisible parts), such that when the ball passes through them the direction of the LinearVelocity is changed to push the ball through the pipe in the correct way.

You could also enable/disable the LinearVelocity depending on when you’d prefer to rely solely on the ball’s normal physics.

Good luck with this project as it looks very cool!

the way that the game does it now is to multiply the current velocity by 2.5 and remove all rotational velocity(touching pads speed or rotation will put the ball back on the grid and line it up again if it gets unaligned)

for the pipes I found a solution that will have to do for now, basically just have a part that directly sets the speed of the ball to whatever I set.

I wish I knew what was causing the inconsistencies, I guess probably just the physics engine being wacky…

1 Like