
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.
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).
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
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.
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.