Je suis un programmeur de jeux 2D. Certains langages de programmation dans lesquels je suis bon sont C, Java, C #. Je connais également Actionscript 2.0,3.0 et certains javascript. Je suis intéressé à apprendre la programmation de jeux 3D. Loin des recherches que j'ai accumulées en recherchant et en lisant différents forums et articles de développement de jeux. J'ai remarqué que la plupart des programmeurs ont tendance à préférer le C ++. Également dans un cours d'enseignement de programmation de jeux en ligne j'ai remarqué qu'ils préfèrent enseigner C ++ et Visual C ++ comme cours de départ. La raison pour laquelle je pose cette question car je voudrais connaître la différence de "force" de C ++, C # et Java pour la programmation de jeux 3D.
Incluez également des liens vers de bons articles de programmation de jeux 3D pour le programmeur de jeux déjà 2D.
PS: À mon humble avis, je trouve également que C ++ est cryptique.
la source
Réponses:
Oui, C ++ est le langage le plus utilisé (bien que certaines personnes utilisent toujours C).
Il y a de nombreuses raisons à cela. L'élan en est un - c'est simplement le langage qui est utilisé depuis des années, beaucoup de technologies existent déjà et les gens sont à l'aise avec cela, donc le changement ne se fera pas du jour au lendemain.
Il y a ensuite la question du contrôle. Les développeurs de jeux sont des monstres de contrôle, et nous aimons savoir tout ce qui se passe dans notre code. C ++ nous donne ce contrôle, C # et Java (pour choisir les deux alternatives que vous mentionnez) prennent le contrôle. À bien des égards, cela pourrait être une bonne chose, mais les codeurs de jeux ne l'aiment pas :)
Enfin, il y a le problème pratique simple que les SDK pour diverses plates-formes sont très centrés sur C ++. L'utilisation d'un autre langage implique inévitablement l'écriture de wrappers, la compilation croisée vers les machines virtuelles et peut-être (dans le cas d'un développement de console) ce n'est pas autorisé par le titulaire de la plateforme (ils n'aiment vraiment pas les gens qui font de la compilation JIT, pour commencer).
la source
Le C ++ est toujours préféré, comme vous pouvez le voir sur presque toutes les publications sur le thème du développement de jeux. Personnellement, j'utilise actuellement C pour plonger dans le développement de jeux pour la simple raison que le code C ++ que j'écris abuse des fonctionnalités de création de modèles, utilise largement RAII, l'allocation de mémoire dynamique et d'autres choses que vous ne devriez pas faire dans le code de jeu d'après ce que j'ai vu jusque là.
S'en tenir à C me force à être minimaliste et à penser à ce que je fais. Cela peut être plus difficile parfois lorsque vous devez réimplémenter quelque chose que la STL vous donne gratuitement, mais à la hausse, je pense que j'écris du code plus propre et que j'ai un meilleur moment pour déboguer cette chose.
la source
Personnellement, je ne suis pas fan de C ++, et je préfère Java. Cependant, la plupart des gens de l'industrie l'utilisent et c'est le langage le plus facile à convertir vers d'autres plates-formes sans wrappers et machines virtuelles.
Cependant, parfois d'autres langages fonctionnent assez bien pour le développement de jeux. J'utilise Java avec LWJGL et c'est incroyable. Donc, si vous voulez commencer avec la programmation 3D et OpenGL sans avoir à apprendre le C ++, essayez LWJGL avec Java, car il est très léger et je pense que c'est en fait du code C ++ fonctionnant via JNI.
Peut-être qu'à long terme, vous voudrez peut-être passer au C ++, mais vous pouvez commencer et vous entraîner avec C # ou Java. Parce que la plupart du code de jeu provient de l'expérience avec le langage, mais vous devriez essayer et pratiquer OpenGL avec un langage avec lequel vous êtes à l'aise. De plus, pendant que vous pratiquez les graphiques, vous devriez également essayer GLSL avec OpenGL, il a une syntaxe très semblable à C
la source