Відповідно до вашої першої вимоги, ви шукаєте рамки, а не бібліотеку.
jMonkeyEngine - це рамка для 3D-ігор (тобто вона забезпечує основний цикл, як ви просите, подібний до XNA), але це не буде хорошим вибором для 2D.
Однак цикл гри не є важким для написання , а існуючі бібліотеки Java відповідають вашим 2-м та 3-м вимогам, тому я настійно пропоную заглянути в бібліотеку / движок графічного сценарію 3D-графіку або будь-яку 2D-бібліотеку, залежно від того, чи створюєте ви 2D або 3D-гра.
Aviatrix3D , Ardor3D , Java3D і jMonkeyEngine мої рекомендації для графа сцени 3D движків.
Для 2D бібліотек у вас є JGame , або ви можете вибрати OpenGL для максимальної швидкості та використовувати LWJGL або JOGL . Ви також можете просто за допомогою вбудованої Java- бібліотеки Graphics2D , що було б особливо хорошим варіантом, якщо ви плануєте розгорнути гру як аплет.
Для переходу на вбудований маршрут Graphics2D подивіться вихідний код до Metagun (натисніть, щоб відтворити у аплетній формі). Це невелика, але дуже добре написана 2D гра на Java, і я думаю, що це відмінний приклад невеликої гри; скопіюйте його структуру, і у вас є оптимальний цикл / рамки для ігор.