De moins en moins de jeux sont portés sur notre plateforme, si les raisons peuvent être économiques, elles peuvent également être techniques. En effet, il est impossible de porter un jeu DirectX sans devoir réécrire le moteur du jeu pour OpenGL.
Dans ce cas, on peut se poser les questions suivantes : pourquoi les éditeurs préfèrent-ils DirectX ? Et pourquoi n’utilisent-ils pas OpenGL ?
C’est à ces questions qu’a essayé de répondre David Rosen, le fondateur du studio Wolfire Games, sur son blog. Pour rappel, Wolfire Games est le studio à l’origine du jeu Lugaru et de sa suite, Overgrowth, qui devrait être disponible prochainement, y compris sur notre plateforme.
L’article de David étant fort intéressant, nous vous l’avons traduit afin que les non-anglophones puissent en profiter.
OpenGL est le concurent direct de Direct3D.
Pourquoi pas créer OpenKit, voire OpenMultimediaFramework ? Un mix entre OpenGL, OpenAL..., qui regroupe tout ce dont il y a besoin pour créer une application multimédia.
Cela faciliterait les éventuels comparaisons, et donnerait plus de poids à OpenGL en général.
L’idée a été évoquée dans les commentaires, cf plus bas.
Questions : implémenter OpenGL elle-même, ou un moteur 3D basé sur OpenGL comme Irrlicht ou Ogre 3D ? La vénérable SDL ou la nouvelle SFML, basée sur OpenGL justement ?
Je pencherais plus pour Ogre 3D et SFML personnellement, mais on retombe sur le débat : ne pourront profiter de ce « OpenKit » que les personnes qui accepteront ses composants, choisis arbitrairement. Or, difficile de proposer un kit « à monter soi-même » avec les composants qu’on veut, car pour unifier le tout au sein d’un unique framework, il est nécessaire de relier un minimum les composants entre eux.
Ca m’intéresse beaucoup, mais il faut répondre à certaines questions avant.
Tu parles de OpenML là ?
http://www.khronos.org/openml/
[troll]
Comme vous le savez tous , on peut mettre linux sur la ps3.On peut aussi y adjoindre un clavier et une souris si mes souvenirs sont bons ( en tout cas le clavier).
On a qu’a passer sur ps3 donc, OpenGL, Linux, console de jeu donc supportée... :D[/troll]
Malheureusement, la majorité des joueurs n’a strictement rien à faire de l’OS utilisé par la console qu’ils lancent. D’ailleurs, Linux, Windows ou autre OS propriétaire de Sony/Nintendo, ça ne les concerne pas. Ce qu’ils veulent (et on les comprend) c’est que les jeux qu’ils achètent fonctionnent. Si tu annonces au petit voisin qui s’éclate sur GTA IV que son jeu n’utilise pas OpenGL, il va te regarder avec de gros yeux ronds.
Ce qui nous intéresse nous, développeurs et/ou utilisateurs de logiciels libres, c’est que les développeurs de jeux réfléchissent aux solutions qui existent, car ils sont vraisemblablement aveuglés par DirectX, c’est le sujet de l’article.
Certes on pourrait « défendre » Microsoft en sortant du chapeau que le capitalisme c’est la guerre et tous les moyens sont bons pour mettre un coup à l’adversaire. Ce n’est pas vraiment nouveau, mais le problème est que ce n’est pas juste que les gros tapent sur les petits.
Personnellement, je fais des études de programmation qui vont toucher à la 3D avec DirectX ET OpenGL. Certaines personnes de mon université ont déjà des compétences en DirectX et Unreal Engine (perso, je n’ai pas encore de compétences ni dans l’un, ni dans l’autre). Je leur ai dit qu’OpenGL était plus puissant mais :
1/ ils ne me croient pas
2/ DirectX est plus utilisé, alors tant que ça touche Windows, ça touche un maximum de joueurs potentiels
3/ Ils n’ont pas envie d’apprendre à programmer avec d’autres librairies maintenant.
C’est le chat qui se mord la queue. Le combat sera rude.
En effet, trop de monde a tendance à comparer OpenGL à DirectX. Je pense que le succès de DirectX est venu en partie du « packaging » qui a été mis en place pour le vendre aux studios : avec DirectX, vous avez l’API « tout en 1 ».
En fait, il serait facile de faire un package identique avec des librairies libres (ex : Ogre3D + SDL + OpenAL + une lib network...), mais ce serait trop réducteur par rapport à la globalité des logiciels libres. Le fait est qu’on ne peut pas se réduire à Ogre3D comme moteur 3D « unique » dans un package de la sorte. La Liberté est ici plus importante, et chaque développeur doit garder la possibilité de choisir lui-même les composants de son « DirectX maison ».
Pourtant, une sorte de regroupement de librairies libres axées développement de jeux vidéo ne serait à mon sens pas une mauvaise idée, surtout si ses composants peuvent être interchangeables (ex : changer Ogre3D pour Irrlicht, tout en gardant les autres librairies d’origine).
Un package tout en un serait en effet tres appreciable a mon avis, car meme si ca « enleve la liberte » on peut toujours se faire son pack avec ses outils mais pour les novices il est tres facile de se perdre dans la multitude de choix proposes. Plus c’est simple moins ca semblera experimental ou moins performant, ce qui pourrait amener du developpement
Juste pour info, DirectX n’intègre dorénavant plus le support du son. Tout les nouveaux jeux Windows utilisent OpenAL.
Et puis, effectivement, OpenGL et DirectX ne se comparent pas facilement. Après, si l’on compare Ogre3D avec DirectX, là, je dis OK.
Même si Direct X est en partie responsable du peu de port de jeux sous Linux, un autre gros problème, est l’abandon progressif des « gamers » pour les consoles. Le jeux videos « PC » (c’est à dire Windows) est lui même en crise.
Il suffit de voir les ventes de COD : Modern Warfare 2, où les versions Xbox 360 et PS3 se sont vendues à des millions d’exemplaires, alors que la version PC peine à dépasser (au niveau mondial) les quelques centaines de milliers.
Et pourtant c’est un jeu plus « agréable » à jouer sur PC.
Comme la situation du jeu vidéo Windows se détériore, il y a peu de chance que la situation sous Linux s’améliore.
Quant à Open GL + Open AL + SDL, son avenir est plus entre les mains des petits studios
Article très intéressant. Merci pour la traduction. Et effectivement, OpenGL ne s’occupe que de la partie graphique. Néanmoins, il existe d’autres bibliothèques libres, ouvertes, multiplateformes pour les autres composantes, tel que OpenAL pour l’audio ou SDL pour les périphériques d’entrée (clavier, souris, joystick), les images 2D, le réseau...
Super article, merci pour la traduction !
Effectivement, il y a un argument valable (quoique) pour DirectX, c’est que tout est intégré. OpenGL n’est que le concurrent de Direct3D, pas de DirectX tout entier. Ceci dit, pour un développeur (ou une équipe de développement), c’est pas bien compliqué d’aller chercher les autres bibliothèques concurrentes de DirectInput, DirectSound, etc. Donc l’argument du tout-en-un DirectX n’est pas si convaincant que ça finalement.
Merci pour cette traduction. Et effectivement, open GL a toujours été plus rapide que les directX, qui sont une véritable usine à gaz, avec plein de couches et sous-couches logicielles qui ralentissent le système...
Interessant comme article, par conter j’ai du mal a croire que ce soit uniquement les techniques commerciqles et publicitaires de microsoft qui poussent les gens vers DirectX, le code ne serait il pas plus simple ?
Je n’ai jamais developpe avec ces API par conter, il faudrait un reel comparatif sur els domaines d application des 2 API (je veux dire : Image, Son, Reseau, ...) de mes souvemirs OpemGL n’est que pour le graphique, non ?
Ceci pourrait expliquer aussi l’engouement pour DX.
En tout cas c’est une bonne analyse tout de meme et esperons que les grosses boites telles qu’ID software continueront a developper sous OpenGL, si c est encore le cas.
les gens délaisse le pc aux profix des jeux sure console ne serai-se que par une question de cout. en effet un jeux neuf monte aux prix 90 chf et un pc coute plus chère qu’une console. le choix pour une famille est assez vite fait, surtout que les gens rechigne a mettre les enfant sur le net, la console permet d’éviter ce type de problème. si sa continue les jeux sur pc vons disparaître tout simplement.
Le libre aura alors le marcher pour lui seul vu que les distributeurs vont laisser le marcher ,bon certe pas tous mai si M$ lache le marcher sa va assez rapidment faire de la place.
C’est aussi dû au fait que sur PC c’est de plus en plus chiant d’installer un jeu, alors que sur console il suffit d’insérer le DVD.
Il suffit de voir l’installation de GTA 4 sous Windows :
- installer des services packs si nécessaire (mon PC de jeu ne va pas sur Internet, donc ce n’était pas installé, et il y en a pour un bon moment)
- installer le framework .net ou je ne sais plus quoi
- installer Game for Windows Live
- taper des numéros d’activation de 4 km
- passer 1h à installer le jeu
- créer un compte sur Rockstar Social Club
- créer un compte Games For Windows Live
- télécharger les patchs parce que sinon c’est pas stable (chose qui se produit rarement sur console, parce que tout le monde a la même machine et si le jeu a été testé sur l’une il marchera en général bien sur toutes les autres)
- peut être qu’il sera nécessaire de mettre à jour les pilotes graphiques en cas de plantages...
Bref, après quelques formalités, quelques plantages et quelques redémarrages on peut espérer jouer dans de bonnes conditions.