Day 6
I spent way too much time making the animations run when the game is first loaded. Tightened up input handling by moving all input processing to a single function, rather than across three functions. Implemented jump buffering and coyote time. Softened velocity when jump-cutting and added subtle acceleration/deceleration when running. Added detection of landings which results in character sprite compression, dust animation and sound.
Completely refactored the Actor base class and the Player and Enemy classes that inherit from it. Much clearer organisation and will be easier to maintain and extend.