Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/05/2006, à 20:22

john5168

jeux et Java

Avec le langage java on peut créer un code unique pour un logiciel qui tourne sous différente plateforme (windows, mac os, linux, ...) grâce à la Machine Virtuel Java.

Alors pourquoi ne pas créer un équivalent à Directx ou OpenGL en java (qu'utilise le projet looking glass) pour développé les jeux en java. De façon à ne pas ce posé de question quand on achète un jeu sur l'OS que l'on a.

Ca me parait plus facile de développé les jeux une seul fois en java, plutôt que de demandé que les jeux windows soit également développé pour linux.

Je sais c'est du rêve, mais admettaient que cela est faisable. Pouvoir jouet avec le même jeu sur l'OS que l'on veut de quoi rediscuté des performances de tel ou tel OS.


Les associations du logiciel libre :
http://www.april.org/ ; http://www.aful.org/
Boutique informatique à encourager
Je suis client satisfais de Novatux

Hors ligne

#2 Le 28/05/2006, à 20:28

nich2chien

Re : jeux et Java

je crois qu'il existe quelques jeux en java, mais je crois que les performances sont moins élevées (que avec du C++ par exemple), du fait de devoir passer paar la machine virtuelle.

D'autre part openGL est portable. Mais c'est vrai que le reste autour ne l'est pas toujours.

Hors ligne

#3 Le 28/05/2006, à 20:38

Lord Alembert

Re : jeux et Java

C'est vrai que ca serait super... mais ce n'est pas réalisable actuellement, à cause de la lenteur de Java. Pour bien faire, il faudrait un processeur pouvant interpréter directement le code Java, ou une puce permettant l'accélération matérielle des programmes Java (je pense que c'est en cours de fabrication).

Sinon SDL + OpenGL tentent de créer une plate-forme indépendance, mais par rapport à directX il y a encore du retard.

Et surtout, il n'y a pas que le "woua ca serait bien" des joueurs et le "génial on va s'en mettre plein les poches" des éditeurs. Il y a aussi entre les deux Microsoft, qui tire les ficelles de telle sorte d'avoir l'exclusivité sur le support des cartes graphiques. Seul Microsoft peut donc fournir un système qui permet de jouer aux jeux modernes.

Et donc, les créateurs de jeux doivent bien accepter d'utiliser ce système s'ils veulent faire des jeux "commerciaux". La boucle est bouclée.

A coté de ca, certains essaient de découvrir les spécifications des matériels graphiques, ou d'améliorer SDL et OpenGL afin d'arriver à la hauteur de DirectX. Et franchement, quand je vois les screenshots de TA Springs, je me dis que ca va arriver un jour.

Maintenant est-ce que ca aura du succès? Il est certain q'une partie de ceux qui sont sous Linux ne sont pas des gamers potentiels, au contraire des Windowsiens où on utilise la machine familiale pour jouer. De plus, je pense que la plupart des jeux seront fermés et payants : on peut difficilement vendre du service autour des jeux, si ce n'est peut-être des serveurs de jeux pour les MMORPG, ou les CS:S, ce genre de choses. Cela va donc à l'encontre de l'esprit de beaucoup de linuxiens.

Mais c'est vrai que, ceci étant dit, beaucoup de personnes semblent intéressées par le jeu sous Linux (ou ne passe pas complètement à Linux à cause des jeux). Et d'autre part il y a un marché qui grossit petit à petit, et qui pourrait tenter des éditeurs...

L'avenir nous le dira.

Dernière modification par Lord Alembert (Le 28/05/2006, à 20:40)

Hors ligne

#4 Le 28/05/2006, à 21:37

john5168

Re : jeux et Java

Pour ce qui est de la lenteur du java tout le monde en parle et cela doit être vrais.
Mais quand on regarde de prés le projet looking glass qui est en java et en 3D, on s'aperçoit que c'est très performant. Il y a pas de lenteur visible

De plus tout les gammer savent bien qu'il leur faut des machines puissantes, donc pourquoi pas.

On est plus dans l'esprit linux dans le jeux sur toute les plateformes.


Les associations du logiciel libre :
http://www.april.org/ ; http://www.aful.org/
Boutique informatique à encourager
Je suis client satisfais de Novatux

Hors ligne

#5 Le 28/05/2006, à 21:43

Lord Alembert

Re : jeux et Java

En fait, Java n'est pas si lent qu'on le prétend. Actuellement, le bytecode est compilé "juste-à-temps", de sorte que lors de la première utilisation d'une classe on a un ralentissement mais par la suite la vitesse est comparable à du C ou du C++, car le code est compilé spécifiquement pour le processeur utilisé.

De plus, il y a une chose à laquelle on ne pense pas souvent (en tout cas je n'ai jamais pensé à ca jusqu'à ce que mon prof m'en parle). Java utilise de nombreux tests à la compilation. Beaucoup plus que gcc pour le C par exemple. Une fois le programme compilé, Java sait donc dire exactement ce qu'il lui faut. Le code est optimisé pile-poil pour la VM (qui, étant unique, est bien connue). On peut pousser tellement le raffinement dans l'optimisation à la compilation, que pour certaines applications de calcul  Java est actuellement légèrement plus rapide que des langages classiques.
Mon prof avait, paraît-il, des vitesses d'exécutions comparables au C.

Mais on parle de jeux, on parle de 3D intensive et là la donne n'est plus la même. Il parait qu'OpenGL offre l'accélération matérielle mais bon c'est pas encore rôdé. Courage, on y arrivera smile

edité pour être plus juste dans mes propos.

Dernière modification par Lord Alembert (Le 28/05/2006, à 21:50)

Hors ligne

#6 Le 29/05/2006, à 00:43

amadeus

Re : jeux et Java

Il parait qu'OpenGL offre l'accélération matérielle

Tu veux dire pour java? parce que sinon j'ose éspèrer qu'il le fait sûrement, ou alors j'ai rien compris!


Dumbledore returns from the dead and declares it to be hammertime, Harry proceeds to break it down, Voldemort is unable to touch this.

Hors ligne

#7 Le 29/05/2006, à 09:05

Lord Alembert

Re : jeux et Java

Oui. Je pense que Java lui-même ne fait pas d'accélération 3D mais il fait appel à OpenGl qui accélère pour lui.

Evidemment, en considérant OpenGL tout seul la phrase a moins d'intérêt hmm.

Hors ligne

#8 Le 29/05/2006, à 10:52

iuchiban

Re : jeux et Java

@john :
vas faire un tour sur https://jogl.dev.java.net/.
Ce sont les API java permettant d'attaquer OpenGL.
Y'a déjà quelques jeux qui tournent en java : http://www.runescape.com/

Voila.


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#9 Le 29/05/2006, à 18:51

john5168

Re : jeux et Java

Donc dans l'absolu cela faisable,
il faudrais juste pour bien faire enrichir le java en intégrants l'accélération graphique dans la machine virtuel. Si les développeurs de Sun nous lise  il y a du travail en perspective.

Ca me paraît pas insurmontable comme projet, et ca ouvrirait le marchais du jeu à une plus grande clientelle.

Peut-être un jours espérons, .....


Les associations du logiciel libre :
http://www.april.org/ ; http://www.aful.org/
Boutique informatique à encourager
Je suis client satisfais de Novatux

Hors ligne

#10 Le 29/05/2006, à 20:46

Elrohir

Re : jeux et Java

On n'atteint pas encore la puissance du C++ avec Java, même si de gros progrès sont fait.

Hors ligne

#11 Le 31/05/2006, à 12:13

iuchiban

Re : jeux et Java

Ben en java, quand tu as besoin de grosse puissance de calcul (genre du c++ pour de la cryptographie 1024bits ou plus) tu fais appel aux fonctions C++ avec des API java et le tour est joué. J'aime beaucoup java parce que tu peux tout faire avec tongue


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#12 Le 19/12/2008, à 13:20

gouessej

Re : jeux et Java

john5168 a écrit :

Avec le langage java on peut créer un code unique pour un logiciel qui tourne sous différente plateforme (windows, mac os, linux, ...) grâce à la Machine Virtuel Java.

Alors pourquoi ne pas créer un équivalent à Directx ou OpenGL en java (qu'utilise le projet looking glass) pour développé les jeux en java. De façon à ne pas ce posé de question quand on achète un jeu sur l'OS que l'on a.

Ca me parait plus facile de développé les jeux une seul fois en java, plutôt que de demandé que les jeux windows soit également développé pour linux.

Je sais c'est du rêve, mais admettaient que cela est faisable. Pouvoir jouet avec le même jeu sur l'OS que l'on veut de quoi rediscuté des performances de tel ou tel OS.

Ce n'est pas du rêve, ça existe déjà même si très peu de jeux commerciaux sont écrits en Java pour le moment. Je rappelle que ça fait depuis au moins 2003 que Java dispose de plus bindings d'OpenGL dont JOGL et LWJGL.

Elrohir a écrit :

On n'atteint pas encore la puissance du C++ avec Java, même si de gros progrès sont fait.

Java permet parfois d'aller même 15% plus vite que C/C++ dans un vrai jeu comme Jake2 et ce n'est pas nouveau! Les jeux vidéo en Java ne sont pas à la traîne techniquement, il n'y a qu'à voir les captures d'écran du jeu Megacorps Online qui disposait d'éclairages dignes de Doom 3 à une époque où il n'était pas encore sorti!

De nombreuses expérimentations ont montré que Java peut aller 4 fois plus vite que C/C++ pour les allocations et les désallocations mémoire et 2 fois plus vite pour les appels à méthodes, la machine virtuelle tire partie des optimisations dynamiques impossibles dans un langage compilé et en même temps, le compilateur JIT permet de remplacer une partie du bytecode par du code machine ce qui permet d'avoir le beurre et l'argent du beurre, les meilleures optimisations statiques (sauf celles autour de SSE pour le moment mais ça risque d'évoluer après la JVM 1.7) et les meilleures optimisations dynamiques. Je vous encourage à utiliser ce langage au moins pour vos jeux open source pour permettre au plus grand nombre de pouvoir jouer sur n'importe quel système d'exploitation (avec l'OpenJDK, on va encore plus loin que simplement Solaris, Linux, Mac, Windows) et de l'installer facilement avec Java Webstart / NetX (même un gosse de 7 ans peut s'en servir smile et ça facilite le déploiement de bibliothèques comme JOGL entre autres).

Vous n'êtes toujours pas convaincus? Allez jeter un coup d'oeil sur le portail de la FGF et sur le Java Game Tome :
http://tuer.tuxfamily.org/fgf/players_portal/
http://www.javagametome.com

Des travaux de l'INRIA ont également montré que Java peut aller plus vite que Fortran, je vous renvoie vers le blog de James Gosling pour plus d'informations. La seule JVM lente est celle de Microsoft wink

iuchiban a écrit :

Ben en java, quand tu as besoin de grosse puissance de calcul (genre du c++ pour de la cryptographie 1024bits ou plus) tu fais appel aux fonctions C++ avec des API java et le tour est joué. J'aime beaucoup java parce que tu peux tout faire avec tongue

Cela fait un moment que les choses ont changé. Certes, JNI et surtout JNA aident à utiliser du code C/C++ en Java mais vu les progrès réalisés, beaucoup d'entreprises optent pour un portage complet vers Java. De plus, l'API standard contient déjà tout ce qu'il faut pour la cryptographie.

john5168 a écrit :

Pour ce qui est de la lenteur du java tout le monde en parle et cela doit être vrais.
Mais quand on regarde de prés le projet looking glass qui est en java et en 3D, on s'aperçoit que c'est très performant. Il y a pas de lenteur visible

De plus tout les gammer savent bien qu'il leur faut des machines puissantes, donc pourquoi pas.

On est plus dans l'esprit linux dans le jeux sur toute les plateformes.

J'ai déjà fait tourner des jeux vidéo en 3D écrits en Java sur des vieux bousins (Celeron 700 Mhz) et une connaissance a lancé mon jeu sur un Pentium 2 MMX 250 Mhz avec 128 Mo de mémoire vive, il a quand même eu 90 FPS. Il faut dire que le moteur tire surtout sur la carte graphique.

Dernière modification par gouessej (Le 19/12/2008, à 13:28)


http://tuer.sourceforge.net (first person shooter en Java utilisant OpenGL (JOGL) créé par Julien Gouesse)
http://gouessej.wordpress.com (blog personnel)

Hors ligne