Libération d’outils pour développeur de jeu vidéo

Posté par  (site web personnel) . Édité par BAud, Nÿco, claudex, olivierweb, skone et teoB. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
45
4
mai
2014
Jeu

Plusieurs outils à destination des développeurs de jeux vidéo ont été libérés récemment. Ces outils permettent de porter des jeux Direct3D vers OpenGL ou encore de les débugger ou mesurer leurs performances, ce qui facilite et encourage grandement le développement de jeux vidéos de qualité pour GNU/Linux. Ces outils sont publiés à destination des développeurs de jeux libres ou non (grâce à des licences très permissives).

C'est l'occasion d’évoquer brièvement quelques ports sous GNU/Linux de moteurs de jeux notables (bien que non-libres) révélant l’intérêt grandissant porté par l’industrie du jeu vidéo pour cette plate-forme.

ToGL

ToGL est un outil libéré par Valve (l’éditeur de Steam). Cet outil sert de traducteur de Direct3D vers OpenGL (objets, shaders…), le code provient du jeu Dota 2. Valve a publié le code de ToGL sur GitHub dans le but d’aider d’autres développeurs de jeux à porter vers OpenGL leur code initialement développé pour Direct3D. Le code est sous licence MIT, une licence libre très permissive qui permet d’inclure le code dans un programme non-libre.

Rappelons que Valve porte un intérêt majeur à la plate-forme GNU/Linux puisque la console de jeu Steam utilise une variante de Debian (SteamOS) et la plate-forme non-libre Steam a été portée sous GNU/Linux depuis plus d'un an déjà. La stratégie de Valve est donc de faciliter au maximum le port de jeux vers GNU/Linux.

Si Steam n’est pas un logiciel libre, le poids d’un acteur comme Valve est non négligeable et il pousse ainsi de nombreux projets libres qui lui sont favorables. Par exemple, les développeurs de Valve collaborent étroitement avec les développeurs de pilotes graphiques (libres inclus) et les améliorations apportées profitent même à ceux qui ne sont pas clients de Valve.

VOGL et VOGLperf

Valve a d’abord publié un debugger OpenGL : VOGL. VOGL s’utilise de la même manière qu’APITrace, une autre application pour examiner un code OpenGL : il suffit de précharger une bibliothèque avec LD_PRELOAD avant de lancer un binaire pour que cette bibliothèque intercepte les appels OpenGL dudit binaire.

Valve choisit des licences permissives pour couvrir les codes qu’ils publient afin de permettre la réutilisation de ces codes par les jeux non-libres. La volonté de Valve étant de voir le maximum de produits qu’il revend (majoritairement non-libres) portés sous GNU/Linux, une licence libre sans copyleft est ce qu’il y a de plus efficace pour cela.

Ici le libre est réduit à n’être qu’un moyen technique efficace, mais ces codes profitent aussi aux projets qui font de la liberté un idéal. Par exemple le jeu libre Xonotic est connu pour se servir de VOGL, et il ne sera pas le dernier jeu libre à profiter de cet outil très utile.

Après VOGL, Valve a publié VOGLperf. VOGLperf permet de récupérer les informations de trame (FPS, temps de la trame et valeurs min/max), seconde par seconde, lorsqu'une application utilisant OpenGL est lancée. L’outil permet ainsi de réaliser des benchmarks de jeux OpenGL sous GNU/Linux, et permet donc de mesurer finement des variations de performances dans un même jeu ou de comparer deux versions de développement, par exemple.

HLSLParser

Valve n’est pas le seul à libérer du code utile. Unknown Worlds, l’équipe qui développe Natural Selection 2, a libéré son outil HLSLParser qui sert à traduire des shaders HLSL (Microsoft High-Level Shader Language, utilisé dans Direct3D) vers des shaders GLSL (OpenGL Shader Language).

Ces quatres outils, ToGL, VOGL, VOGLPerf et HLSLParser sont publiés sous licence MIT.

Quelques ports notables

Ces libérations s’inscrivent dans un mouvement plus global qui témoigne d’un intérêt grandissant pour la plate-forme GNU/Linux. C’est l’occasion de faire un point vers les travaux de portage en cours. Après les annonces de Valve on peut citer le port du CryEngine ou d’Unreal Engine 4 (qu’UrbanTerror HD a déjà annoncé vouloir utiliser).

Si vous avez connaissance d’autres outils libérés récemment à destination des développeurs de jeu, ou si vous connaissez d’autres jeux majeurs en bon chemin vers GNU/Linux, n’hésitez pas à laisser un commentaire pertinent. ;-)

Ça sera peut-être l’occasion d’initier un second épisode à cette dépêche d’avril 2013 : « État des jeux sous Linux ».

Aller plus loin

  • # Direct3D vs DirectX

    Posté par  (site web personnel) . Évalué à 6.

    Petite question : il est parlé ici de convertisseur Direct3D -> OpenGL, donc pour ce qui concerne la vidéo. Mais qu'en est--il du reste ?
    En plus de l'affichage, DirectX offre aussi la gestion du son, des inputs (clavier/souris/joystick/pad/…), du réseau. Est-ce qu'il existe d'autres mécanismes de conversion pour ces parties-là ?
    Ou alors, les développeurs ne les utilisent pas ou utilisent d'autres toolkits, que l'on doit migrer indépendamment ?

  • # NS2

    Posté par  (site web personnel) . Évalué à 8.

    La dernière fois, je râlais un peu contre Natural Selection 2 qui m'était impossible de lancer.

    Avec la dernière d'ubuntu 14.04, un noyau classique 3.13, une carte ATI HD 6870 sous drivers libres, je peux lancer enfin lancer le jeu. Le tutoriel des deux camps est accessible. Il y a bien quelques artefacts comme sur l'arme ou le shader ne se charge pas (artefact n’apparaissant pas sur l'image). J'ai également pu me faire plusieurs parties entières sans bug (mais pas sans lag, je pense que je vais devoir revoir les graphismes un peu à la baisse) notamment sur la nouvelle map : Kodiak, bon par contre, je plante encore assez souvent sur biodome et parfois sur le server browser.

    Bref, ça avance bien et ça fait plaisir. Mais bon, je suis assez nul à ce jeu pour me moment.

    Texte du lien

    De même Metro 2033 LL passe maintenant à fond sur cette même config. (Ce fov horrible)
    Bref, en une mise à jour (c'est surtout dû au fait, que je n'avais pas réessayé depuis quelques temps) j'ai accès à deux jeux en plus. Plus que les graphismes, c'est surtout l'ambiance qui est bonne dans ce bouquin.

    Initier, peut-être pas, mais collaborer, avec plaisir pour un : « État des jeux sous Linux mi-2014».

    Texte du lien

    La réalité, c'est ce qui continue d'exister quand on cesse d'y croire - Philip K. Dick

  • # Torque 2D version 3.0

    Posté par  (site web personnel) . Évalué à 5.

    J'ai vu passé ça auojourd'hui sur GamingOnLinux.

    La version 3.0 du moteur Torque 2D apporte le multi-plateforme avec le support d'Android, Linux et du web. Ainsi que d'autre amélioration plus technique avec un meilleurs support de la manette xbox 360 et la possibilité de créer des applications 64bits.

    La réalité, c'est ce qui continue d'exister quand on cesse d'y croire - Philip K. Dick

  • # Godot engine

    Posté par  . Évalué à 4.

    On peut aussi citer Godot engine qui a été libéré récemment. Le code est sur github en MIT.
    Il me parait être une sérieuse alternative à Unity (2D). Je m'amuse avec actuellement, j'essaierai de faire un retour.
    Par contre, son gros point faible pour le moment est la documentation.

    • [^] # Re: Godot engine

      Posté par  . Évalué à 4.

      Bon, bah, reste plus qu'a attendre que quelqu'un en fasse quelque chose…

      Désolé, pas pu m'en empêcher, surtout que ce… truc m'a méchamment traumatisé… 10 ans après je me souviens de l'ennui qui en irradie :/

      • [^] # Re: Godot engine

        Posté par  . Évalué à 3.

        Un des meilleurs livres que j'ai lu.

        Écrit en Bépo selon l’orthographe de 1990

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.