A 2D isometric game engine built in Java as a learning experience