A generic game engine for 2D double-buffering animation.