here it goes:
1 - The bridge in the first stage is not at the same height as the ground, which makes the robot have to jump to pass through (and it does'nt look like it should)
2 - About Forgiving design, it is usually better to make the game be more forgiving about precision, some things that i would do:
- Make the spike hibox smaller then it's sprite, so if the player just barely
touch it, he won't not die.
- Make the damage hitbox of the enemies be bigger and actually cover the entire body, so if the player jumps over the front or reer part, he won't die, but kill the enemy)
- Make the game remember for a short period of time the jump input, and then use it as soon as it should be allowed, so if the player presses the jump button right before he touches the ground, the character will still jump after touching it.
- Implement a little coyote time, make it so tha the player can still
jump, if he just left a platform.
(The last 2 can be easily achieved by setting a controll variable to some amount and then make it decrease every frame, then checking if its greater than 0 to call the jump function for example)