ตามข้อกำหนดแรกของคุณคุณกำลังมองหาเฟรมเวิร์กมากกว่าไลบรารี
jMonkeyEngineเป็นเฟรมเวิร์กสำหรับเกมสามมิติ (นั่นคือให้ลูปหลักตามที่คุณขอคล้ายกับ XNA) แต่มันจะไม่เป็นทางเลือกที่ดีสำหรับ 2D
อย่างไรก็ตามการวนลูปเกมไม่ใช่เรื่องยากที่จะเขียนและไลบรารี Java ที่มีอยู่จัดการกับข้อกำหนดที่ 2 และ 3 ของคุณดังนั้นฉันขอแนะนำให้ดูกราฟ / ไลบรารี 3D เอ็นจิ้นหรือเอ็นจิ้น 2D ของไลบรารีฉากโดยขึ้นอยู่กับว่าคุณกำลังสร้าง เกม 2D หรือ 3D
Aviatrix3D , Ardor3D , Java3DและjMonkeyEngineเป็นคำแนะนำของฉันสำหรับเอ็นจิ้นกราฟ 3 มิติ
สำหรับห้องสมุด 2D, คุณมีJGameหรือคุณสามารถเลือกที่จะใช้ OpenGL สำหรับความเร็วสูงสุดและการใช้lwjglหรือjogl คุณสามารถไปกับไลบรารีGraphics2Dในตัวของ Java ซึ่งจะเป็นตัวเลือกที่ดีโดยเฉพาะถ้าคุณวางแผนที่จะปรับใช้เกมของคุณเป็นแอปเพล็ต
สำหรับเส้นทางในการ Graphics2D ในตัวให้ดูที่ซอร์สโค้ดไปยังMetagun (คลิกเพื่อเล่นในรูปแบบแอปเพล็ต) มันเป็นเกม 2D Java ที่เล็ก แต่เขียนได้ดีมากและฉันคิดว่ามันเป็นตัวอย่างที่ยอดเยี่ยมของเกมเล็ก ๆ คัดลอกโครงสร้างและคุณมีห่วง / กรอบเกมที่ดีที่สุดของคุณ