A 2D game engine