confirmiez s’il est possible avec le java de :
- créer des logiciel sur pc
- créer des jeux sur pc 2D
- créer des jeux sur pc 3D
- créer des jeux sur portable/tablette Android
Oui, c’est possible, maintenant Java n’est pas spécialement le langage le plus adapté. ça va largement suffir pour les petits jeux mais pour les plus gros, ça risque d’être compliqué. Je vais tenter de simplifier le problème, si je te perd, je tenterais de donner plus d’explications.
Après avoir écrit plein de code Java, tu doit le transformer en bytecode (bytecode = instructions machines, ce sont les fichiers .class). Tous ces fichiers .class contenant du bytecode sont regroupé dans un exécutable qu’on distribue chez les clients. Quand le code va être exécuter, la JVM va lire le bytecode et va exécuter les différentes instructions.
Dans d’autres langages, après avoir écrit du code, les développeurs compile leurs codes et distribue un binaire aux clients (un fichier contenant des 1 et des 0). Le temps de lecture d’un fichier binaire est très rapide. Ce qui n’est pas le cas pour le bytecode exécuté par la JVM qui prendra plus de temps.
Ce qui fait que le langage Java est souvent plus lent en théorie que les langages compilé comme le c ou le c++. Comme les jeux demandent souvent beaucoup de ressources (cpu, gpu, mémoires, …), beaucoup de personne utilisent les langages compilé quand ils ont besoin de gaspiller 0 ressources.
Maintenant que tu code dans un langage compilé ou en Java, tu aura surement besoin d’un moteur de jeu ou d’un framework. Je te déconseille de t’en passer si tu dépasse le petit jeu en 2d, c’est juste du suicide en tant que débutant de créer son propre moteur de jeu.
En java, tu as plusieurs alternatives, les deux principaux moteurs/framerwork sont libGDX ou jMonkeyEngine. Si tu veux un exemple, de jeu créé sur la plateforme Android avec libGDX, tu as un membre de Zeste de Savoir, qui en a créé un, Poulp Up. Il a d’ailleurs fait des très bon tuto sur Android sur le site ! Bref, tu peux aller voir, ce qu’il a fait. Il répond normalement aux questions sur le thread (même si il est souvent trés trés occupé).
Les moteurs de jeu, les plus utilisé si tu veut sortir du monde Java, c’est Unity et Unreal Engine. Pas mal de AAA sur pc, sont développé avec ces outils !
à toi de voir si Java peut suffir et répondre à tes besoins ou si tu veux partir sur des gros moteurs de jeu comme Unity ou Unreal Engine. Pas de réponse universelle, c’est selon tes besoins et envie. Juste pour te prévenir, Unity et Unreal Engine sont des outils très complexe, et prennent du temps à maîtriser , c’est même un métier, on créé pas un jeu de 3d de ouf, en trois secondes ! Bien sûr, utiliser Unity ou Unreal Engine pour un 1% de leurs fonctionalité, c’est du gaspillage de ressources très important.