Zgodnie z twoim pierwszym wymaganiem szukasz raczej frameworku niż biblioteki.
jMonkeyEngine to framework do gier 3D (tzn. zapewnia główną pętlę, o którą prosisz, podobny do XNA), ale nie byłby dobrym wyborem dla 2D.
Jednak pętla gra nie jest trudna rzecz do napisania , a istniejące biblioteki Java obsługiwać 2 i 3 wymagania, więc gorąco polecam patrząc na wykres sceny 3D Library / silnika lub dowolnej biblioteki 2D, w zależności od jeśli robisz gra 2D lub 3D.
Aviatrix3D , Ardor3D , Java3D i jMonkeyEngine to moje rekomendacje dla silników 3D z grafami scen.
Dla bibliotek 2D, masz JGame , można też zdecydować się na stosowanie OpenGL do max prędkości i użycia lwjgl lub Jogl . Możesz także skorzystać z wbudowanej biblioteki Graphics2D Java , co byłoby szczególnie dobrą opcją, jeśli planujesz wdrożyć grę jako aplet.
Dla dzieje wbudowanego Graphics2D trasę, spojrzeć na kod źródłowy do Metagun (kliknij, aby odtworzyć w formie apletu). Jest to mała, ale bardzo dobrze napisana gra 2D Java, i myślę, że jest to doskonały przykład małej gry; skopiuj jego strukturę, a otrzymasz optymalną pętlę / strukturę gry.
Jeśli chcesz, aby jeden szkielet obsługiwał zarówno 2D, jak i 3D, najbliższy, jaki widziałem, to jPct. To jest 3D, ale na ich forach mają kilka poprawek do zrobienia 2D.
Polecam używać Xith3D lub Java Monkey Engine dla 3D. I Slick lub GTGE dla 2D.
Piszę książkę o tworzeniu gier Java, ukończyłem już rozdziały na temat podstaw tworzenia gier Java i 2D w 2D, może dać ci punkt wyjścia, spójrz tutaj:
http://code.google.com/p/lucu
Taksan
źródło
Mimo że nie obsługuje 3D, Pulcore jest dobrym szkieletem do gier. Nie korzystałem z niego osobiście, ale przejrzałem kod tylko po to, by go sprawdzić i wygląda ładnie.
źródło
RedDwarf to Java Game Engine. To stary projekt DarkStar, który Sun wykorzystuje do finansowania.
źródło