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

Développement 2D, 3D et Jeux Discussion :

[Moteur 3D] Java ou C++ ?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Par défaut [Moteur 3D] Java ou C++ ?
    Bonjour,

    Je m'intéresse de près à la programmation d'un moteur de jeu, et je voulais connaître votre avis sur les différences qui opposent c++ et java dans ce context précis.
    D'après les réponses que j'ai pu recueillir à gauche et à droite :

    - Le c++ est plus rapide d'exécution
    - installation trop fastidieuse avec java (jvm, etc..)
    - java est lourd, donc trop lent
    - java est presque aussi rapide que le c++ aujourd'hui, avec les nouvelles bibliothèques proposées, traitant de la 3d (contradiction avec le point précédent)
    - la programmation dans le langage java est plus aisée que celle du c (langage totalement objet, pas de pointeur ni de gestion de mémoire, etc..)

    Je souhaitais connaître l'avis d'une personne expérimentée dans la programmation de moteur 3D et ayant éventuellement déjà fait des tests dans ces deux langages ci.

    Je vous remercie d'avance

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Pour répondre plus précisément je dirais qu'il nous manque deux informations importantes :

    - Quelles connaissances as-tu avec ces deux langages ?
    - Quel est ton but (faire un jeu, apprendre la prog 3D, ...) ?

  3. #3
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Par défaut
    oh, un appeau à Trollus Vulgarus...

    Je commence par préciser que mon expérience 3d est limitée (je n'ai pas écrit Ogre )

    Une bonne partie du travail va être faite par l'api 3d (probablement openGL) donc que l'on fasse du C++ ou du Java ne va pas changer grand chose. Par contre plus le moteur 3d va offrir de fonctions évoluées par dessus l'api de base et plus cela va jouer.

    Si le but est de refaire le moteur de doom3 et d'offrir des services très complexes avec des performances ultimes (ce qui depasse un peu le projet amateur) le C++ (et peut-être même le C) est a priori incontournable.

    D'un autre côté (mais ça n'engage que moi) coder en Java est plus simple et débugger moins prise de tête.

    Pour les performances il "semble" que ce soit entre aussi bien et deux fois plus lent que le C/C++. Cependant en optimisant comme un porc (vais me faire taper là ) avec les pointeurs en C c'est peut-être pire... Mais j'ai aussi pu constater que sur des cas très calculatoires codés comme du C Java est limite plus rapide. Disons que comme la partie la plus critique pour les performances est prise en charge par openGL Java est "suffisament rapide" pour nous autres amateurs

    J'aurais juste comme réserve qu'il faut savoir ce que l'on fait pour tirer des performances convenables de Java (enfin ça vaut pour tous les languages). Donc ce n'est peut-être pas l'occasion de le découvrir pour un routinier du C++ qui se sent à l'aise dans ce dernier (argument qui marche dans l'autre sens).


    N'ayant pas essayé Java+3d personnellement, je me demande juste si le déclanchement intempestif du GC ne risque pas d'être perceptible (saccade ou autre) ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Par défaut
    Citation Envoyé par Laurent Gomila
    Pour répondre plus précisément je dirais qu'il nous manque deux informations importantes :

    - Quelles connaissances as-tu avec ces deux langages ?
    - Quel est ton but (faire un jeu, apprendre la prog 3D, ...) ?

    J'ai une bonne connaissance des deux langages mais je pratique davantage en Java.
    Mon but dans un premier temps est de m'initier à la prog 3D afin que, plus tard, (d'ici quelques mois par exemple) je puisse me lancer dans la création d'un jeu 3d.

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Dans ce cas je pense que tu peux rester sur Java sans souci.

Discussions similaires

  1. Recherche framework ou moteur compatible java et Android
    Par dawadam dans le forum Moteurs de jeux vidéo
    Réponses: 3
    Dernier message: 13/09/2013, 09h13
  2. Moteur son java
    Par pit88 dans le forum Général Java
    Réponses: 0
    Dernier message: 13/03/2012, 22h10
  3. Les systèmes de templates / Moteurs de templates java
    Par eXiaNazaire dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2006, 13h38
  4. Réponses: 4
    Dernier message: 13/02/2006, 21h58

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