IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

3D Java Discussion :

Projet d'un jeu avec moteur 3D - Java ou pas Java ?


Sujet :

3D Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 85
    Points : 65
    Points
    65
    Par défaut Projet d'un jeu avec moteur 3D - Java ou pas Java ?
    Bonjour,

    Je suis actuellement sur le projet d'un jeu (on est plusieurs en fait). Cela doit faire bientôt 2 ans que l'idée à été lancée et le concept du jeu est maintenant bien avancé (On a été tranquilement).
    On a commencé à transcoder depuis quelques temps les dizaines de pages de blabla en une structure plus axée vers la programmation pour mieux visualiser et, bientôt, un jour, programmer (ou du moins déjà commencer).

    Initialement le projet avait été prévu en PHP, un petit jeu jouable sur un navigateur comme on en voit beaucoup de nos jours. Mais le projet ayant vite pris de l'ampleur, il me paraît difficile de le faire. Non pas au niveau des possibilités du language mais le problème vient que tout est executé niveau serveur et notre jeu, massivement multi-joueur, est devenu complexe. il y aurait trop de calculs et de requêtes à faire pour le pauvre serveur.
    On a eu un aperçu après avoir tenté un début d'algo un tantinet complexe.
    De plus l'impossibilité d'interaction réelle avec le joueur est une limite qui freine beaucoup de fonctionnalités, sans parler du graphisme qui est en html...

    Bref, il nous faut donc utiliser un language plus evolué qui s'execute côté client. Un moteur 3D (ou 2D isométrique) sera donc présent. Le jeu est un mélange entre un jeu de rôle multijoueur et jeu de stratégie (ça serait trop long de tout expliquer ici).

    Le joueur incarne un personnage avec vue à la troisième personne. Une carte standard style jeu de rôle multijoueur banale (de simples décors, comme des maisons, des arbres etc.). Pas d'interactions en 3D (comme des sauts ou autre) le plateau de jeu est en 2D. Le jeu n'est pas axé sur la première personne comme un jeu de combat et ne nécessite pas d'effets graphiques exceptionnels.

    En fonction du moteur graphique, eventuellement des visions plus axées sur la 3D lorsqu'un personnage entre dans un bâtiment par exemple, un décor différent, plus interactif (mais plus des effets de caméra qu'autre chose).

    Nous voulons développer un jeu multi-plateformes. A savoir Windows (Xp), Linux et Mac Os X, d'où l'interêt du Java.
    Comme je l'ai dit avant, le moteur graphique ne sera pas le fer de lance du jeu mais devra tout de même être potable.
    Un module serveur devra donc être également mis en place (sous Linux) pour coordonner le tout, étant donné que le jeu est multijoueurs uniquement.

    Donc, ma question enfin, pensez-vous qu'un tel projet puisse être réalisé en Java. Beaucoup parlent de la lenteur de Java étant donné qu'il y la JVM entre le code et la machine. A quel point est-ce gênant ? J'ai entendu que beaucoup de progrès avait été fait. Qu'en est-il avec la dernier version (1.5).

    Nous ne sommes pas des spécialistes en infographie, loin de là. Existe t'il des moteurs 3D open source bien documenté (comme je l'ai dit, pas besoin d'un truc haurissant) qui tourne convenablement sans besoin d'un ordinateur surpuissant.

    Pour résumer, le jeu aura 2 parties distinctes:
    - Le module client, que le joueur installe sur sa machine (multi plateformes). Il contiendra un moteur 3D ainsi que le jeu qui va avec :o

    - Le module serveur qui coordinera le tout. Son boulot sera de recevoir et d'envoyer les informations aux modules clients pour permettre le jeu en multi-joueur. Il y aura quand même quelques calculs à faire, mais on va essayer de faire le max côté client.
    Les informations concernant les joueurs seront surement stockés dans une base de donnée type SQL. Est-ce un bon choix ?

    J'attends vos avis, experiences. Si vous connaissez un moteur 3D pour Java, faites-le moi savoir. J'ai déjà fait quelques recherches et j'en ai trouvé 2:
    Simplicity: https://simplicity.dev.java.net/
    Xith3D: http://xith.org/tiki-index.php
    Quelqu'un les connait, a déjà utilisé ? (que ce soit en tant qu'utilisateur ou programmeur)

    De même, au niveau du module serveur, si vous avez des experiences, ou même des liens vers des articles qui expliquent la mise en place d'un tel programme. Nous n'avons jamais réalisé un application qui devra gérer autant de requêtes en même temps. Il y a surement des méthodes à mettre en place pour optimiser ce genre de programme.

    Une autre question en passant. Qu'en est-il de la licence avec Java etant donné qu'il appartient à Sun ? Y a t'il des restrictions quand à la distribution commerciale ou non de produits écrits en Java (droits, licence à payer en cas de commerce...?)

    Java ou java pas ?

    Merci pour vos conseils, idées, avis... (et pour avoir lu ce long discours).

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Hello,

    Pour les licenses: tout est possible avec java gratuit ou pas, open source ou pas, .... seules les API externes sont év. sous license propriétaire

    Pour les moteurs 3d: je ne connais pas très bien, mais je remarque que tu as oublié de lister l'une des principales: Java 3D

    Côté serveur, il y a possibilité d'utiliser des "servlets", très performantes et ergonomiques à utiliser, mais que malheureusement peu d'hébergeurs autorisent....

    Les perfs de Java ne sont plus un réel problème actuellement... les derniers compilateurs JIT ont des perfs proches du code natif. Pour en savoir plus, cliquer ici

    Le déploiement/installation de programmes Java chez les clients peut être aussi simple qu'un clic sur un lien, en utilisant Java Web Start... pareil pour les mises à jour, tout est géré simplement avec cette techno

    Je dirais finalement que java est un langage assez "mature" pour la prog de jeux professionnels... La sécurité du langage, les API existantes et la TRES ACTIVE communauté Java en font un choix de premier ordre pour de nombreux projets de types divers, ce qui inclus l'animation, les opérations réseau, les accès BDD, .......

    Les IDE Java sont également très sympa, 1000km devant le meilleur Delphi par exemple (sans chercher la polémique !). Le système de documentation JavaDoc est aussi très très sympa


    Voilà ce que je peux en dire

    Un bon article: http://info-rital.developpez.com/tutoriel/java/pourquoi/

    Pill_S, java lover

  3. #3
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Ayant fait un peu d'openGL ( en C++ ) il y a quelques années, je me rappelle avoir vu des API java permettant d'utiliser cette technologie. Les calculs étant délestés vers la carte 3D du micro, les performances étaient nickel ! Je me rappelle avoir vu tourner un exemple avec tout un tas de formes géométriques et franchement, ça n'avait rien à envier aux programmes développés en C/C++.
    Peut-être une piste de ce côté...

  4. #4
    Membre émérite
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Points : 2 777
    Points
    2 777
    Par défaut
    Quelques liens:
    - JOGL: binding OpenGL en Java https://jogl.dev.java.net/
    - Communauté Java Games: http://community.java.net/games/ (en)
    - Exemples de jeux en Java: http://java.com/en/games/

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 85
    Points : 65
    Points
    65
    Par défaut
    Merci de vos réponses, cela me rassure. Les articles que j'avais lu (mais qui datait pour la plupart de 1 an voir +) était très défavorable à l'utilisation de java dans le cadre de développement de jeu.

    Je vais suivre les liens que vous m'avez donné et me renseigner plus en avant sur les biblioteques existantes (notamment pour les serveurs).

    A ce que j'ai rapidement pu voir en survolant un peu, Jogl m'a l'air pas mal pour le moteur 3D. Je n'ai pas approfondi le sujet mais je vais voir tout cela.

    Merci pour vos réponses, et si vous avez d'autres liens, conseils ou autre, n'hésitez pas !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Projet en cours] Projet jeu plateforme 2d avec moteur physique ?
    Par airman4 dans le forum Projets
    Réponses: 40
    Dernier message: 24/08/2011, 03h49
  2. Réponses: 3
    Dernier message: 05/10/2009, 10h00
  3. Réponses: 5
    Dernier message: 12/05/2007, 11h13
  4. Projet jeu RPG/moteur 3D isométrique avec SDL
    Par Milan111 dans le forum Projets
    Réponses: 4
    Dernier message: 13/04/2006, 22h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo