This is the template I use to make new 2D projects. For those that need camera rotation, see: https://scratch.mit.edu/projects/1160712720/ If anyone else wants to use it, go ahead, no credit needed. WASD to move camera (cam x, cam y) Scroll/up/down arrows to zoom (cam scale) Things to note: - I use many sprites for organisation. There's a sprite specifically for running the main loop and usually a few dedicated to rendering. - Scripts in other sprites are triggered with broadcasts. This is a good way to control script order. Just note that a broadcast can only run once per frame. - dt is delta time, useful to make things run independent of frame rate. FPS is also calculated in the main loop but is only informative, only delta time should be used. - I use custom blocks as inline comments (the // one).