You have… 38 ‘Forever’ and ‘On game update’ blocks! Impressive!
The game looks amazing so far, and all this detail is great, but each of these blocks will check their condition every single frame- so each frame the game runs, it has to check 38 different blocks, which causes a lot of lag.
I’d suggest trying to combine these into 1-3 ‘Forever’ or ‘On game update’ blocks, using if/else statements to simplify the logic.
In addition, a lot of them use ‘on sprite overlaps othersprite’ conditions, so that some section of code runs when the two sprites overlap.
Often, you’ll get a lag spike when two sprites stay overlapped for some time, running that code every frame. (I can’t quite understand the detail of your code enough to give an example from your game, but in other games, this often happens when you have an enemy and if you overlap with the enemy, you lose a heart. The problem is that because the forever block has no ‘cooldown’, it runs every frame, quickly draining all of your hearts and causing huge amounts of lag. Try to invalidate the overlap using a boolean like ‘cooldown’ to make sure the overlap hasn’t occured soon before when running an overlap check.)
Amazing art and a lot of potential so far!)
