Clean presentation.
Was suprised having W as jump input, but ad(s) not as movement inputs.
One issue i ran into with the canons, ignore it if its intended, if you move a crate towards a canon and a canon ball explodes, if you push the crate forward the player gets hit by the remaining particles.
Otherwise I enjoyed the game, thanks for the submission!