A 2D Game Engine in Java