Java Game Development with LibGDX: From Beginner to Professional