Learning to make a 2D Game Engine in Java!