Okay. This is NOT a copy of your layout. The platforms are placed differned. Because. Wel.
I wanted to show you the difference in performance when you use a tilemap. I put all the platform sprites in 2 tilemaps. A solid and a jumptrue. Before it ran at 20 FPS on my computer. Now it runs at 65 FPS.
Also, i gave all off screen enemy's a zero timescaling. This is not neccensary. It is just a gimick to lower the collissions/frame even more.
About Choppy not wanting to turn direction on a collision. Wel, wat you try is tricky.
You move Choppy with the platform behaviour, wich is fine, but since the barriers are non-solids; the Platform behaviour is pushing Chappy into the barriere. Normaly when u look for collisions you use a way of moving things that have a auto-push-out-of-solids feature. Without that the collision is gone to quick. You cant make the barriere solid, i know that.
Also, there was a minor picking problem. The chance that 2 choppys needed a direction change at practical the same time was big. But only one got changed.
In the capx is a very elegant solution. It is a fast one too. How smaller the angle, how smaller the range, how faster. And if you tweak it right, it will never miss. Not even at very high speeds or low framerates. It will change a 1000 choppys in direction at the same time too.
Hope i helped you some.