Flexible 2D Game Engine