@Revilo I didn’t have a chance to respond about problem # 2 yesterday, but I tried troubleshooting it as well. The problem is definitely the Hopscotch bug with bumps not working correctly.
The when Self bumps Platform should be ok since Hopscotch only has to evaluate 2 objects for the collision. The When Self bumps Anything (note that Anything also includes the Platform) fails after there’s more than something like 7 or 8 objects. I think Anything should have been Square since bumping the Platform fires both rules (that would check for collisions only with any other Square). But the Hopscotch bump bug still is a problem.
As an aside, why do you need different responses for bumping the platform vs another square? The falling square stops and the nexts starts falling in either case, right?
Here’s a potential simplification:
If (x position < 121 or x position > 909) and y position < 150
Could be just:
If y position < 150
since the blocks in the middle can’t fall to a y position of 150 without at least landing on the platform.
And last but not least, I would suggest that using a math conditional to replace the Bumps is the best course of action, but the sqrt(deltaX^2 + deltaY^2) formula creates a circular contact zone. That’s not what you want here, so instead you’d want to do this:
A square at 100% is 68 x 68 pixels, so from the center to an edge is 34. The centers of two adjacent squares, when touching are 34 to the edge of each or 34 + 34. We just check the difference of both the x and y positions. And we can factor in the object size so it still works if you set the size to something other than 100%.
If Square1 X - Square2 X < 68 AND Square1 Y - Square2 Y < 68
Unfortunately this too has a problem. The problem is the square clones can’t “see” the properties of the other square clones.
This can be worked around but I’ll have to write more later. Gotta go for now…