07.10.2026 · Signal Titans Editorial
Relier les plateformes : Ryan C. Gordon et l’architecture technique du jeu vidéo natif sous Linux
Comment le développeur Ryan C. Gordon a conçu des portages natifs sous Linux pour des blockbusters, des outils de bureau et des jeux indépendants.

En 1999, le programmeur Ryan C. Gordon effectue un trajet de quatre heures en voiture depuis Charlotte, en Caroline du Nord, jusqu'à l'Atlanta Linux Showcase pour participer à un concours de programmation organisé par Loki Software. L'événement, baptisé « Loki Hack », vise à améliorer la version Linux de Civilization: Call to Power. Impressionnée par son travail, la société Loki l'embauche rapidement, et Gordon devient le développeur principal sur plusieurs portages commerciaux de jeux pour Linux, dont Descent 3 et Heavy Metal: F.A.K.K.². À cette époque, sous un pseudonyme inspiré du groupe de musique Phish, il crée icculus.org pour servir de serveur web personnel et d'incubateur de projets open source. Lorsque Loki Software ferme ses portes, Gordon cherche à éviter des emplois hors de la programmation et contacte directement le studio Croteam par courriel. Il leur propose de réaliser un portage sous Linux de Serious Sam: The First Encounter. Croteam accepte, ce qui mène au déploiement d'une version bêta pour Linux le 5 décembre 2002.
De l'Atlanta Linux Showcase aux contrats indépendants
Les premiers succès de Gordon lui ouvrent la voie vers des contrats avec de grands éditeurs de logiciels. Epic Games l'embauche pour porter Unreal Tournament 2003 et Unreal Tournament 2004 sur Linux et Mac OS X, en intégrant directement les installateurs multiplateformes aux disques commerciaux sous Windows. Des applications d'entreprise suivent rapidement : Google fait appel à Gordon pour concevoir un client natif Linux pour son logiciel de cartographie, aboutissant au lancement de la version 4 bêta de Google Earth le 12 juin 2006. Afin de simplifier la distribution de logiciels sur plusieurs architectures, Gordon annonce FatELF le 23 octobre 2009, une tentative de créer un système binaire unifié pour Linux. Cette proposition suscite de vifs débats parmi les développeurs du noyau Linux, qui décrient le mécanisme et incitent finalement Gordon à suspendre le projet.
Blockbusters, clients de bureau et débats sur FatELF
Après les débats sur FatELF, Gordon devient un moteur technique essentiel des premiers lancements de jeux indépendants multiplateformes. Il adapte des titres tels que Lugaru: The Rabbit's Foot, Braid, Super Meat Boy et Shank afin de s'assurer qu'ils s'exécutent de manière fluide sur Linux et Mac OS X dans le cadre des promotions du Humble Indie Bundle. En 2012, Gordon franchit une nouvelle étape majeure en portant Dungeon Defenders sur Linux. Selon Wikipédia, ce lancement constitue le premier titre natif utilisant l'Unreal Engine 3 à fonctionner sur la plateforme Linux, concrétisant ainsi une capacité technique restée hors de portée depuis les débuts du moteur d'Epic des années auparavant.
Résoudre les obstacles liés aux middlewares audio pour la parité des plateformes
Lors de la préparation de la sortie native sous Linux du jeu LIMBO — qui reposait auparavant sur une couche de traduction ayant suscité des discussions au sein de la communauté —, Gordon se heurte aux contraintes des frameworks logiciels sous-jacents. Le 19 juin 2014, il livre la version native du jeu après avoir préalablement porté Wwise, le framework de middleware audio propriétaire qui empêchait jusqu'alors toute exécution native sur cette plateforme.
Ses décennies de portage indépendant ont directement jeté les bases techniques du jeu vidéo natif moderne sous Linux et de la distribution numérique multiplateforme. En établissant la compatibilité des moteurs et en adaptant des titres propriétaires aux environnements open source, ses travaux d'ingénierie ont démontré que les sorties de logiciels multiplateformes étaient à la fois techniquement réalisables et commercialement viables.
Illustration éditoriale générée par IA ; ce n’est pas une photographie documentaire.
Source: Ryan C. Gordon