Jeux en 64 bits : étude de cas
La préparation de cet article a nécessité des prises de contact tous azimuts, aussi bien auprès de constructeurs que de développeurs pour déterminer quels jeux sont codés de façon à tourner dans des environnements 64 bits natifs. Au final, seuls deux titres ont fait surface : Crysis et Hellgate : London (on notera que Far Cry a été patché pour fonctionner en 64 bits natif tout comme Half-Life 2 en leur temps). Chuck Walbourn s’est justement servi de ces deux jeux pour son intervention au Gamefest 2008, mettant en lumière les avantages et défis rencontrés par les développeurs dans cette transition vers la programmation 64 bits.
D’après Walbourn, l’éditeur de niveau 64 bits dans Crysis a été le principal mérite technique de Crytek parce qu’il apporte un vrai plus en termes de créativité. Les développeurs avaient initialement opté pour un éditeur 32 bits qui rencontrait des problèmes de stabilité à partir d’ 1,7 Go d’espace adressé. L’activation du flag /LARGEADDRESSAWARE dans un environnement 64 bits leur a permis de repousser cette limite à 2,7 Go avant de rencontrer le même problème. La création d’un éditeur 64 bits s’est donc imposée afin de permettre le niveau de détail voulu par Crytek. Ceci étant, le jeu solo 32 bits est en quelque sorte le revers de la médaille puisque l’on se retrouve aux limites de la stabilité comme c’était le cas avec Command and Conquer : Generals.
Avant de passer à l’étude de Crysis, voici ce que Walbourn prédit : la performance devrait être très proche entre les exécutables 32 et 64 bits natifs parce que l’optimisation du jeu pour environnement 64 bits n’était pas prioritaire pour le studio allemand. Toutefois, on devrait voir une version 32 bits à la peine avec les réglages les plus élevés tandis qu’en 64 bits, il resterait encore une marge considérable de mémoire virtuelle adressable. Il faut relativiser cette prévision : outre la version du système d’exploitation et des pilotes, Crysis est de toute façon tellement gourmand en Very High que la plupart d’entre nous devront baisser les réglages pour pouvoir y jouer. Difficile en effet d'atteindre les limites de la RAM avant celles de la carte graphique sur ce titre !
L’autre jeu est Hellgate : London, RPG sorti en octobre 2007. La campagne solo est encore jouable, tandis que les serveurs dédiés au multijoueur ont été fermés en janvier dernier. En plus de proposer des serveurs dédiés à la version 64 bits, Hellgate embarquait un exécutable 64 bits natif qui permettait de contourner la limite de 2 Go en mémoire virtuelle adressable.
Tout comme Crytek, Flagship Studios a eu son lot de problèmes avec le développement de Hellgate vu les ambitions au niveau de la gestion matérielle. Le jeu embarquait des exécutables DirectX 9 et DirectX 10, solo et multijoueur, 32 et 64 bits pour arriver à un total de huit fichiers .exe avec le support technique que cela implique (certes, Pod faisait mieux en son temps...). Pour ne rien arranger, l’intégration d’intergiciels a soulevé des difficultés que l’on espérerait éviter de nos jours : la protection anti-copie de l’exécutable 64 bits natif a par exemple été un souci pour Crytek comme Flagship vu que les processus 64 bits ne peuvent charger que des DLL 64 bits, lesquelles n’existaient pas à l’époque du développement.
Vu la disparition du mode multijoueur, il apparaît clairement que Hellgate ne restera pas dans les annales si ce n’est pour les enseignements qu’il apporte concernant le développement 64 bits.
Lors du Gamefest, Chuck Walbourn avait conclu sa présentation en lançant un appel sur trois points clés :
- Encourager les développeurs à passer en 64 bits pour tirer profit de la mémoire supplémentaire lors des processus de création de contenus
- Activer /LARGEADDRESSAWARE est un minimum syndical pour bénéficier du petit plus en mémoire virtuelle adressable dans le cas des jeux 32 bits tournant dans un environnement 64-bit
- Il faut commencer à utiliser des outils de développement 64 bits – une étape cruciale pour travailler avec des contenus pré-optimisés qui sont susceptibles d’être commercialisés aux limites des plateformes 32 bits, c'est-à-dire 2 Go.
Quel écho ces propos ont-ils trouvé ?
- Developpement,
- Carte graphique,
- Business,
- Microsoft,
- jeux ,
- vista ,
- 64 ,
- bits