Half-Life 2 dans votre navigateur : le hack impressionnant d’un lycéen

Découvrez comment un jeune lycéen a réussi à porter Half-Life 2 dans un navigateur, sans avoir besoin de Steam, et explorez les détails techniques de ce...

Vous vous souvenez de la première fois que vous avez lancé Half-Life 2 et que vous avez attrapé une caisse avec le gravity gun ? Eh bien, un lycéen qui se fait appeler slqnt vient de remettre tout cela dans votre navigateur, gratuitement, sans avoir à installer Steam ni à télécharger le moindre gros paquet. Ce jeu tourne avec une fluidité impressionnante, largement au-dessus des 60 images par seconde, directement sous Chrome. Cependant, sur mobile, il vous faudra un clavier branché, car les contrôles tactiles sont quasi inexistants pour l’instant. Mais sur un PC, vous pouvez lancer la page et vous voilà à Black Mesa East. Le plus intéressant, c’est comment il s’y est pris, car porter un jeu bâti sur le moteur Source de Valve dans un onglet ne se fait pas en claquant des doigts. Slqnt n’est pas parti de zéro, car c’est un copain qui lui a montré un portage de Portal fait par un autre développeur nommé weliveinhell. Ce projet open source était d’ailleurs un fork de nillerusr/source-engine, c’est-à-dire une version modifiée de la fuite du code du moteur Source de Team Fortress 2 qui a circulé en 2020.

Le processus de portage : un défi technique

Le portage de Half-Life 2 dans un navigateur a nécessité une grande quantité de travail et d’ingéniosité. L’astuce de ce portage tient dans un mode de rendu appelé ToGLES. En gros, le moteur sait parler OpenGLES, le langage qu’on utilise d’habitude pour les applications Android, sauf qu’Emscripten sait traduire ces appels en WebGL2 dans le navigateur. Résultat, slqnt n’a eu quasiment aucun travail à faire côté affichage, le plus dur étant déjà fait. Le casse-tête, par contre, a été d’abord les assets, car cette version du moteur date d’avant la réédition anniversaire de HL2 et ne supportait pas ses fichiers. Il a donc fallu basculer sur la branche steam_legacy de Steam, puis dépaqueter tous les VPK du jeu et les redécouper en fichiers .data, un par carte, pour que le navigateur les charge au fur et à mesure. Et puis, il y a eu les animations faciales, qui ont posé un problème majeur. C’était l’une des grandes fiertés techniques de HL2 à sa sortie, la façon dont les visages bougeaient en parlant. Sauf que ça faisait tellement planter le portage que slqnt a fini par désactiver complètement le système pour avoir quelque chose de stable.

Le reste de son journal de bord est également une jolie liste de galères de bidouilleur, vu de l’intérieur, avec au hasard, les sauvegardes à recâbler sur le système de fichiers d’Emscripten, les batteries et medkits qui ne fonctionnaient pas, le gravity gun qu’Alyx vous tend mais qui n’arrivait jamais dans l’inventaire, les PNJ qui s’effondraient et mouraient au hasard, les headcrabs qui ne faisaient aucun dégât, l’eau toute noire, et j’en passe. Mais malgré tous ces problèmes, le résultat est impressionnant, et cela prouve que, avec de la détermination et des compétences techniques, il est possible de réaliser des choses incroyables. Le portage de Half-Life 2 dans un navigateur est un exemple parfait de ce que peut accomplir la communauté des développeurs et des fans de jeux vidéo.

Les implications techniques du portage

Le portage de Half-Life 2 dans un navigateur a des implications techniques importantes. Tout d’abord, cela montre que le moteur Source de Valve peut être utilisé dans un environnement web, ce qui ouvre des possibilités pour les jeux en ligne et les applications web. Ensuite, cela prouve que Emscripten est un outil puissant pour convertir des applications natives en applications web, ce qui peut être utile pour les développeurs qui veulent créer des jeux et des applications web sans avoir à écrire du code spécifique pour le web. Enfin, cela montre que la communauté des développeurs et des fans de jeux vidéo peut accomplir des choses incroyables lorsqu’elle travaille ensemble et partage ses connaissances et ses compétences.

Conclusion et perspectives

En conclusion, le portage de Half-Life 2 dans un navigateur est un accomplissement impressionnant qui prouve que, avec de la détermination et des compétences techniques, il est possible de réaliser des choses incroyables. Ce projet montre les possibilités du moteur Source de Valve dans un environnement web et prouve que Emscripten est un outil puissant pour convertir des applications natives en applications web. Nous pouvons nous attendre à voir plus de projets de ce type à l’avenir, et cela est très excitant pour les fans de jeux vidéo et les développeurs. Le futur du gaming en ligne et des applications web est prometteur, et des projets comme celui-ci nous montrent que les possibilités sont infinies.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *