Build a character that runs and jumps, then add the small tricks that make platformers feel good: variable jump height, acceleration and coyote time.