What makes a good 2d platformer?