Thanks for the critiques! I did take them into consideration.
I fixed most of the problems you said.
I have no idea why I put the "Here's the plot of the game" sentence. I wrote it many months ago, I guess I wanted to feel like Sonic was narrating it? Now that you said it, it makes no sense and thus I removed it.
Enter pauses, and P unpauses because if I coded it so Enter was pressed in the pause screen, it would go back and forth from the level to the pause screen.
I thought you could jump while rolling. I guess the problem is on your end somehow.
I can't code Sonic losing rings and them all flying away, but I did give rings a purpose. They now function as HP, when Sonic touches an enemy the rings drain until they hit zero, only then do you die now.
I have no idea how to fix the jumping glitch, but it's funny that that's basically the same thing as the "Killing Dead" glitch from Sonic Robo Blast 1 a quarter century ago! I guess the more things change, the more they stay the same. There is a solution- rolling makes it moot.
The rolling animation is the same thing as the jumping animation, if Sonic jumps on an enemy he automatically jumps.
Springs- I put it so if Sonic jumps on a spring, his jump height changes to a bigger number for 1 second, and then automatically jumps. I also have no idea how to fix this.
Most of these will be fixed in demo 2, with the first 5 zones. Based on my pace of work it will probably be ready in a month or 2, but that depends on how motivated I am to work on it.