I put a player active on your example and scrolled the screen with it. I can't detect any stuttering on my end?
verticalPlatTest2.mfa
I put a player active on your example and scrolled the screen with it. I can't detect any stuttering on my end?
verticalPlatTest2.mfa



Hm, you're right Casle, there is no stuttering there, but that assumes a camera set to always keep the player in perfect focus which is kinda jarring for a platformer.
My camera is currently set to
Always set Value A of Camera to Y( "Camera" ) - 5
Always set Value B of Camera to Y( "Camera" ) + 45
If Y("Player") < Value A of Camera
Set Y( "Player" ) + Y( "Camera" ) - Alterable Value A( "Camera" )
If Y("Player") > Value B of Camera
Y( "Player" ) - Alterable Value B( "Camera" ) + Y( "Camera" )
This gives the camera a quite smooth movement on the Y axis when I'm moving around, and doesnt place the player in the absolute center of the screen. Is there a way to adjust this to remove the stuttering from the platforms?
Where is the stutter happening again on your end? Is it while the platform is in movement and the camera is following the player, or is it when the camera isn't following and the platform is accelerating at the bottom of its sinewave?
I implemented your camera method into that example and still don't notice any stuttering when the camera is following: verticalPlatTest3.mfa To clarify i'm running the game at full 60fps to see if I notice anything.
It could be a difference in our screen refresh rates causing me to miss the problem (which would mean not everybody will notice it in the first place). If you're talking solely about the "shakiness" when the platform is accelerating, then I think Schrodinger is right that there isn't anything you can do for that when it comes to floating point movements. But it doesn't affect the experience in my opinion and is present in many games, even professional ones that have sinewave platforms like the classic Sonic games.
As a last test you could try turning Vsync on and see if that changes anything. Also make sure to close the debugger since it can cause slowdown when open (even a drop of several FPS). I have also noticed that I don't see many screen tearing errors in a built .exe with many of my projects.



Hello casleziro, thank you so very much for all your help. Turns out the error was that the "set frame on camera position" event was the problem, it was in the wrong order. Makes sense now that I think of it, it was setting the position on the camera and then moving it. Works like a charm now, thank you so much!