A 2D game written from scratch in Java