A basic 2D engine