John Carmack, qui reste la référence pour moi, n'a abandonné le C pur que relativement récemment il me semble ; donc je doute qu'il dise que c'est inutilisable. Au contraire, pour lui Direct3D a une API beaucoup moins bien qu'OpenGL lorsque l'on doit la wrapper. Parce que tout ceux qui ont déjà fait du jeu vidéo savent que Direct3D/DirectX, aussi Orienté Objet soit-il, doit quand même être wrappé dans des objets de haut niveau (mesh, texture, squelette...). J'en profite pour donner un lien d'un didactiel pour faire un moteur 3D utilisant à l'envie OpenGL ou Direct3D: http://loulou.developpez.com/tutoriels/moteur3d/
Sinon je suis d'accord avec toi, le C n'est pas adapté pour faire du jeu vidéo, le C++ est déjà bien mieux. En revanche la force du C est de pouvoir être 'bindé' facilement dans les autres langages. C'est flagrant, tous les langages du monde ont un binding OpenGL (et comme je l'ai dit wrapper OGL en C++ c'est pas plus difficile que wrapper D3D).
De toutes les façons un mec qui veut se lancer dans un jeu depuis zéro il ne choisit pas la facilité, même si VC++ propose de base un projet DirectX. Il existe tout un tas de moteurs 3D qui proposent des API de haut niveau. Parce qu'autant programmer des Octrees/BSPTree/etc.. c'est super marrant, autant wrapper les fonctions OGL/DX/SDL/etc, faire une nième bibliothèque de maths, faire des gestionnaires de ressources, etc..., et ben c'est déjà beaucoup plus rébarbatif, et DirectX n'y pourra pas grand chose.
Le plus gros problème pour avoir des jeux pros sous Linux, c'est une histoire de mentalité avant tout, c'est pas technique. Parce que des jeux qui ont utilisé le moteur de Quake 3 y en a eu quelques uns (No one lives forever...), et leur code dans l'absolu devait passer sans gros problème sous Linux ; pourtant on en a jamais vu la couleur. Et c'est parce que les éditeurs n'en ont rien a fiche !!! Même faire un build pour Linux/x86 ça les fait chier pour le peu que ça leur rapporterait. Donc une super-API3D-méga-portable-de-la-mort n'y changerait rien du tout.
Et puis n'oublions que Linux c'est pas que sur x86, et faire du code qui passe sous tout un tas d'archi, ça se fait pas tout seul (enfin surtout c'est avant tout un question de volonté, parce que des programmes java avec des 'C:\Program Files' ça existe !). Alors GNU/Linux c'est du Logiciel Libre, ça ne marche bien qu'avec d'autres logiciels libres, et c'est très bien comme ça à mon avis. Quelqu'un que ca gène pas de jouer à un jeu proprio, ca ne doit pas le géner beaucoup de garder un OS proprio.
GuieA_7, qui rêve d'avoir des jeux pros avec un code source libre ! :)
[^] # Re: OpenGL n'avance peut être pas mais qu'en est-il des ordinateurs ?
Posté par GuieA_7 (site web personnel) . En réponse au journal Où en est-t-on avec OpenGL ?. Évalué à 7.
John Carmack, qui reste la référence pour moi, n'a abandonné le C pur que relativement récemment il me semble ; donc je doute qu'il dise que c'est inutilisable. Au contraire, pour lui Direct3D a une API beaucoup moins bien qu'OpenGL lorsque l'on doit la wrapper. Parce que tout ceux qui ont déjà fait du jeu vidéo savent que Direct3D/DirectX, aussi Orienté Objet soit-il, doit quand même être wrappé dans des objets de haut niveau (mesh, texture, squelette...). J'en profite pour donner un lien d'un didactiel pour faire un moteur 3D utilisant à l'envie OpenGL ou Direct3D:
http://loulou.developpez.com/tutoriels/moteur3d/
Sinon je suis d'accord avec toi, le C n'est pas adapté pour faire du jeu vidéo, le C++ est déjà bien mieux. En revanche la force du C est de pouvoir être 'bindé' facilement dans les autres langages. C'est flagrant, tous les langages du monde ont un binding OpenGL (et comme je l'ai dit wrapper OGL en C++ c'est pas plus difficile que wrapper D3D).
De toutes les façons un mec qui veut se lancer dans un jeu depuis zéro il ne choisit pas la facilité, même si VC++ propose de base un projet DirectX. Il existe tout un tas de moteurs 3D qui proposent des API de haut niveau. Parce qu'autant programmer des Octrees/BSPTree/etc.. c'est super marrant, autant wrapper les fonctions OGL/DX/SDL/etc, faire une nième bibliothèque de maths, faire des gestionnaires de ressources, etc..., et ben c'est déjà beaucoup plus rébarbatif, et DirectX n'y pourra pas grand chose.
Le plus gros problème pour avoir des jeux pros sous Linux, c'est une histoire de mentalité avant tout, c'est pas technique. Parce que des jeux qui ont utilisé le moteur de Quake 3 y en a eu quelques uns (No one lives forever...), et leur code dans l'absolu devait passer sans gros problème sous Linux ; pourtant on en a jamais vu la couleur. Et c'est parce que les éditeurs n'en ont rien a fiche !!! Même faire un build pour Linux/x86 ça les fait chier pour le peu que ça leur rapporterait. Donc une super-API3D-méga-portable-de-la-mort n'y changerait rien du tout.
Et puis n'oublions que Linux c'est pas que sur x86, et faire du code qui passe sous tout un tas d'archi, ça se fait pas tout seul (enfin surtout c'est avant tout un question de volonté, parce que des programmes java avec des 'C:\Program Files' ça existe !). Alors GNU/Linux c'est du Logiciel Libre, ça ne marche bien qu'avec d'autres logiciels libres, et c'est très bien comme ça à mon avis. Quelqu'un que ca gène pas de jouer à un jeu proprio, ca ne doit pas le géner beaucoup de garder un OS proprio.
GuieA_7, qui rêve d'avoir des jeux pros avec un code source libre ! :)