Honestly, for a first game and a cancelled project, I expected much less, but you did fairly well.
Here's a game with a clear gameplay mechanic, a way to die, a way to win, a way to replenish lost health, a few different screens, different enemies and spawn points… if it wasn't a cancelled project, it could become pretty good.
You probably see the problems with the game yourself, but I'll mention them anyway if you decide to make a similar game in the future. This is a Unity game, so I can be more specific.
In order of importance:
– The jumping is unreliable which is a big no-no for a platformer game. Sometimes you jump too high, sometimes too low, sometimes you're not allowed to jump at all until you move left and right a bit.
If you jump by adding upwards rigidbody velocity, it doesn't seem to be very consistent.
Also a common jumping bug in Unity – when you check for collision with the ground using a trigger, you can "double jump" by jumping over the corner of a platform. Thus the upwards velocity gets doubled and (in this case) shoots you to the outer space. You could solve this by having a velocity "cap" (Mathf.Clamp) when jumping.
Although by far the most reliable solution in platformers is to use raycasting (Physics2D.Raycast) to check if there is ground below the character's feet before jumping.
– You spend half of the game off-screen. About 50% of the screen is needlessly filled with the ground which makes you leave the screen when jumping. Look at a screenshot of 'Super Mario Bros.' – the absolute minimum of the screen is taken by the ground.
Not to mention you can leave the screen through both left and right side (you could just add a simple box collider at the edge to prevent it).
– The health isn't deducted reliably. I assume you hurt the player when he enters the collision with the enemy, but you should also hurt him at regular intervals while he continues to collide with the enemy, otherwise, you can stand still after the initial contact and nothing will happen.
By the way, if you don't want them standing on the top of your head when they fall on you, there's a way to make one-sided colliders ("PlatformEffector2D") which only cause collisions if you jump on top of them.
You can check the collision direction for yourself as well (collision2D.GetContact(0) → ContactPoint2D).
– The graphics are a bit blurry (image resolution?), the animations only move the legs, the tiles are too repetitive, you didn't change the default 'Camera blue background' and there's no audio – although this all stems from the fact that it's a cancelled project
– There's no point of a 'Quit' button in a WebGL build, but a 'Restart' button would be much more useful. Also, in the Player Settings in Unity, you can switch from the default template to "Minimal" which will get rid of the "unity WebGL" footer
All in all, I still maintain that it's a very good 'first game attempt' and wish you good luck with your future games!