A 2d platformer using a component system