Selon votre première exigence, vous recherchez un framework plutôt qu'une bibliothèque.
jMonkeyEngine est un cadre pour les jeux 3D (c'est-à-dire qu'il fournit la boucle principale que vous demandez, similaire à XNA) mais ce ne serait pas un bon choix pour la 2D.
Cependant, une boucle de jeu n'est pas une chose difficile à écrire , et les bibliothèques Java existantes gèrent vos 2e et 3e exigences, donc je vous suggère fortement de regarder dans une bibliothèque / moteur 3D de graphe de scène ou dans n'importe quelle bibliothèque 2D, selon que vous faites un jeu 2D ou 3D.
Aviatrix3D , Ardor3D , Java3D et jMonkeyEngine sont mes recommandations pour les moteurs 3D de graphes de scènes.
Pour les bibliothèques 2D, vous avez JGame , ou vous pouvez choisir d'utiliser OpenGL pour la vitesse maximale et utiliser LWJGL ou JOGL . Vous pouvez également utiliser la bibliothèque Graphics2D intégrée de Java , ce qui serait une excellente option si vous envisagez de déployer votre jeu en tant qu'applet.
Pour suivre la route Graphics2D intégrée, regardez le code source de Metagun (cliquez pour jouer sous forme d'applet). C'est un petit jeu Java 2D mais très bien écrit, et je pense que c'est un excellent exemple de petit jeu; copiez sa structure et vous avez votre boucle / framework de jeu optimal.
Si vous voulez qu'un framework unique supporte à la fois 2D et 3D, le plus proche que j'ai vu est jPct. C'est 3D mais à l'intérieur de leurs forums, ils ont quelques ajustements à faire en 2D.
Je vous recommande d'utiliser Xith3D ou Java Monkey Engine pour 3D. Et Slick ou GTGE pour 2D.
J'écris un livre sur le développement de jeux java, j'ai déjà terminé les chapitres sur les bases du développement de jeux java 2D et 3D, cela peut vous donner un point de départ, regardez ici:
http://code.google.com/p/lucu
Taksan
la source
Bien qu'il ne prenne pas en charge la 3D, pulpcore est un bon cadre de jeu. Je ne l'ai pas personnellement utilisé, mais j'ai parcouru le code juste pour le vérifier, et il a l'air bien.
la source
RedDwarf est un moteur de jeu Java. Il s'agit de l'ancien projet DarkStar que Sun utilise pour financer.
la source