My attempt at a 2d game engine