Thank you!! I love Meat Boy and Celeste, so the comparison is super appreciated.
For SceneManagement, SquidGod actually has a really good 15min tutorial for it here. I wanted a lot of control so I ended up building out a slightly different architecture for it, so I don’t really extend from sprites for anything that would be a manager and that includes scenes. Basically the first thing made is a GameManager, then that creates an instance of things like a SFX and VFX manager.
The last manager it makes is a scene manager and that just handles loading scenes, it does this by storing an active scene when it loads one, and calling a cleanup function in the active scene when unloading it.
A scene is just a script that has it’s own init and update loop, the scene manager has an update loop that just calls the active scenes update function.
I only have 3 scenes (Menu, Intro and Game) so it was probably a bit overkill but it’s not that much code, I reckon the SquidGod scene manager should be more than enough to start with!
I hope that helps, hopefully I can find time to make the rest of the dev log series and go over it in more detail.