Making A Java Game Engine