Programmation de jeux en Java


Je sais que c'est un sujet un peu commun, mais l'information est rapidement dépassée. Je veux rester avec le temps sur le sujet...

Quoi qu'il en soit, je cherche à créer un jeu 2D en Java capable de fonctionner multi-plateforme. Comme beaucoup d'autres l'ont dit sur Stack, une grande partie du code d'exemple et des informations sur les API graphiques Java sont obsolètes.

Voici le deal:

  • Rouler le mien n'est pas un problème, mais s'il y a une API tierce décente disponible, je voudrais le regarder.
  • Quelle API Java dois-je utiliser pour les Graphiques / le son?
  • Je suis déjà très versé dans le swing, mais d'après mon expérience, ce n'est pas la meilleure façon d'aller pour un jeu. J'ai peut être tort sur ce point.
Author: asheeshr, 2011-08-13

3 answers

Deux des bibliothèques de jeux les plus intéressantes pour créer des jeux 2D en Java sont le Golden T Game Engineet la Lightweight Java Game Library (LWJGL).

Je recommanderais de jeter un œil à LWJGL d'abord, car il y a eu plusieurs exemples de jeux multiplateformes plutôt réussis qui ont été réalisés avec, y compris la plupart, sinon la totalité, des jeux publiés par PuppyGame Studios.

 6
Author: Andrey Butov, 2011-08-13 17:22:03

Pour les graphiques, vous pouvez considérer Qt Jambi. Il donne une API de type Qt à Java, y compris la vue graphique(dessin 2D arbitraire, API de haut niveau) et ses classes OpenGL (liaisons OpenGL vers Qt, rien de spécial ici). Il contient également Phonon, architecture multimédia qui peut être utilisé pour lire l'audio et la vidéo.

Le moins est qu'il ne s'agit que de liaisons vers Qt, il nécessite donc des bibliothèques natives pour fonctionner.

(Oui désolé je fais partie de ce projet)

 4
Author: Smar, 2011-08-13 17:11:08

Si vous êtes intéressé par une réponse old-School, j'aime personnellement beaucoup maîtriser l'API graphique Java et comprendre comment vous pouvez simplement dessiner des graphiques à partir de composants swing. Les bases des graphiques Java sont assez intéressantes et la plate-forme offre des opérations graphiques avancées, une facilité de double mise en mémoire tampon, des dégradés, des textures, des transformations affines, une manipulation d'image et un support audio (limité), une précision en virgule flottante, des dessins en plein écran. L'avantage de maîtriser un " relativement faible" API de niveau si cela, après cela, vous comprenez beaucoup mieux comment le travail de librairy avancé et ce qu'ils ont à offrir.

Je recommanderais donc de construire votre jeu à partir de ce qui est disponible dans le JSDK. Je l'ai fait pour beaucoup de jeux classiques et enseigné à mes élèves et je pense que c'est un assez bon moyen pour les former.

Si vous connaissez déjà une grande partie des bases, alors je vous recommanderais de mettre la main sur une librairie plus productive, ou même d'en explorer certaines. @Smar a souligné un de même intéressant.

Cordialement, stéphane

 2
Author: Snicolas, 2011-08-13 17:32:15