Préservation du jeu vidéo

highscore politics

Ce rapport a été initialement écrit et présenté ce même jour pour mon partiel d’histoire de l’informatique, puis il a été publié sur LinuxFr.org.


Préservation de l’art par la numérisation

Importance de la préservation de l’art

L’art est important car il forge un imaginaire et une culture commune et partagée par les membres d’une société et entre les sociétés, ce qui implique qu’il en est une base fondamentale.

Ainsi, la préservation de l’art est un enjeu important et sa numérisation un moyen très utile d’y parvenir, permettant de générer des copies inaltérables, ainsi que, grâce à l’omniprésence relativement récente des outils et réseaux numériques, sa reproduction infinie aisée.

Moyens actuels de préservation de l’art

Peintures, dessins, photos…

Numériser une image est fait depuis longtemps, sous forme de matrices de points de couleurs primaires. Désormais, la majorité des images sont directement réalisées en numérique ; cependant, les images entrant dans la composition d’autres œuvres (livres, vidéos…), cette étape était donc importante à réaliser.

Interprétations musicales, sons, partitions…

L’enregistrement de sons, sous forme d’échantillons d’ondes, existe depuis longtemps et était également une étape importante pour la préservation des vidéos.

La préservation de musique sous forme de partition peut être faite sous forme d’image ou de formats spécifiques.

Livres textuels ou graphiques

Pérenniser un livre n’est pas compliqué. L’essence du livre est un ensemble de textes et/ou d’images. En informatique, la représentation de base pour s’affranchir du binaire et représenter des choses complexes est le texte ; quant aux images, cela fait longtemps qu’on connaît et exploite efficacement divers moyens de les stocker, les manipuler et les afficher.

La difficulté pour le livre était, avant tout, la mise en page et le confort de lecture, que des solutions modernes comme les livres numériques couplés aux liseuses numériques arrivent à peu près à pallier.

Films, happenings, interprétations théâtrales…

Pérenniser une vidéo s’est avéré encore plus simple, car elles sont faites pour êtres vues sur un écran sans réel besoin d’interaction des visionneurs avec le matériel. Or, les ordinateurs et la vidéo étant étroitement liés, il n’y a aucun réel problème à leur pérennisation. En outre, les besoins de son d’une vidéo sont similaires à ceux de la musique, le problème étant déjà résolu.

Les happenings, qui peuvent impliquer une interaction, sont plus compliqués à pérenniser, mais le spectateur n’étant généralement que peu sollicité, on peut considérer sa pérennisation par la vidéo comme suffisante.

Sculpture

Quant à la sculpture, les scanners 3D et la modélisation assistée par ordinateur permettent une pseudo-pérennisation par la visualisation sur des écrans et les imprimantes 3D devraient en permettre la reproduction plus ou moins fidèle.

Et le jeu vidéo dans tout ça ?

Un art complexe

Le jeu vidéo est un art très complexe qui utilise de nombreux autres arts (imagerie 2D, imagerie 3D, vidéo, musique, son, texte) dont la numérisation est un problème résolu depuis longtemps ce qui a permis au jeu vidéo de naître et d’évoluer, mais ce qui rend le rendu unique est qu’il y incorpore des particularités propres aux jeux et aux programmes (interaction, objets physiques, évolution) qui nécessitent une interaction des utilisateurs et des programmes pour répondre à cette interaction.

Obsolescence rapide des machines et des supports

Exécution du code

Le code n’est pas qu’une simple donnée : il doit être exécuté et, pour cela, il lui faut un environnement adéquat, or l’informatique est un domaine en constant et rapide changement, du point de vue des interfaces de programmation applicative (API) mais d’autant plus du point de vue des interfaces binaire-programme (ABI) ! Et le jeu vidéo est un domaine où les machines sont souvent taillées pour les jeux (consoles de jeux).

L’environnement d’exécution est donc souvent exotique ou propriétaire mais les supports contenant les données de jeu aussi (disquettes, cassettes, cartouches, disques optiques, distribution numérique…) rendant difficile l’accès aux codes et aux ressources du jeu.

Obsolescence des machines

Le matériel informatique vieillit souvent vite et mal : les premières consoles sont simples et robustes, mais petit à petit, avec leur complexification, elles se sont grandement fragilisées ; ainsi trouver une PlayStation fonctionnant correctement aujourd’hui n’est pas facile et des machines récentes peuvent mourir après deux ans d’utilisation soigneuse.

Obsolescence des supports

Les supports sont parfois, eux-aussi, fragiles : les supports magnétiques se démagnétisent, les disques peuvent être rayés ou se dégrader après de longues années.

Environnement électronique et matériel particulier

Les jeux vidéo sont souvent pensés pour la technologie qui les fera exister, qu’il s’agisse d’une machine, d’un affichage ou d’accessoires particuliers.

Écrans particuliers

À l’époque où les écrans à tube cathodique (CRT) étaient la norme, les graphistes n’hésitaient pas à utiliser leurs particularités pour outrepasser les limites du matériel ; ainsi de nombreux effets de fusion de pixels, créant des couleurs supplémentaires ou de la transparence, sont perdus lors de l’utilisation de ces jeux sur des écrans plus précis qui rendent les graphismes nets, carrés et au final moches, loin du rendu des écrans CRT très adaptés aux basses résolutions, menant ainsi à une fausse perception de la vision artistique qu’offraient ces jeux à l’époque.

De même, les jeux pensés pour la Game Boy et son écran de 66mm de diagonale, capable d’afficher 4 nuances de gris sur 160 x 144 pixels ne sont pas mis à l’honneur en plein écran sur une télé 80″ (2 m) FullHD, sans même aborder les problèmes de rapport de taille d’affichage.

Un problème mineur, mais néanmoins présent, est celui du rapport de taille d’affichage : à l’époque la majorité des écrans est en 4/3 et la majorité des jeux est adaptée à ce rapport, or de nos jours le 16/9 est prédominant. Le même problème se pose pour les rapports d’affichage exotiques qu’on peut trouver sur les consoles portables bénéficiant de leur propre écran.

Contrôleurs particuliers

Les jeux utilisent des moyens d’interaction avec les joueurs très particuliers, qu’il s’agisse de manettes aux designs uniques, de pistolets ne fonctionnant qu’avec certains types d’écrans, d’imprimantes pour consoles portables, de tapis de danse à la connectique particulière, de maracas et autres répliques d’instruments de musique improbables, de joysticks arcade Made in Japan ou encore d’un commun couple clavier-souris. Ces accessoires peuvent être nécessaires pour retranscrire l’expérience de jeu : l’expérience offerte par une partie de Super Metroid au clavier ou de Starcraft à la manette est bien pauvre, inadaptée et loin du confort offert par les accessoires pensés pour le jeu.

Législation, verrous numériques et distribution numérique

Les jeux vidéo sont nés il y a 65 ans, en 1947, ce qui implique que la totalité de leur histoire tombe sous le poids du Copyright. L’immense majorité des entreprises de préservation du jeu vidéo sont donc illégales, car non mises en place par les détenteurs des droits ; cependant, la moitié de cette histoire est déjà pratiquement disparue et il est donc inacceptable d’attendre que cet art nouveau perde la totalité de son histoire, sous prétexte de droits d’auteurs ou de copieurs qui ne s’en soucient pas.

Verrous numériques

Le problème est d’autant plus grand quand, non content de ne pas se soucier de la pérennité de leurs œuvres, les éditeurs utilisent des verrous numériques, mettant en place une évanescence programmée de leurs produits. De nombreuses techniques sont utilisées.

2K Games pour la version Windows de BioShock a utilisé le système SecuROM pour limiter à trois le nombre d’installations du jeu : l’installation doit se faire avec une connexion à Internet et à chaque installation un compteur d’installations possibles sur le serveur est décrémenté ; lorsque celui-ci atteint zéro, le jeu ne peut plus être installé.

Capcom fournissait les jeux de ses systèmes arcade CPS-2 avec des ROM chiffrées et une RAM contenant la clé de déchiffrement alimentée par une pile, au bout d’une dizaine d’années la pile finissait par mourir, le code dans la RAM s’évaporait et le jeu ne pouvait alors plus être lu.

Ubisoft, quant à lui, a décidé que les joueurs de ses jeux devaient être connectés en permanence à leurs serveurs et ce, même si le jeu n’en avait aucun besoin. Un week-end, leurs serveurs sont tombés en panne, lésant alors tout les utilisateurs de leurs jeux.

Distribution numérique

La distribution numérique en soit ne pose aucun souci (comme GOG qui livre à ses clients des installateurs de jeux sans DRM et sans restrictions particulières), tant que l’utilisateur a un contrôle complet sur ses fichiers, mais les éditeurs de jeux qui sont avant tout des commerciaux n’aiment pas voir l’utilisation de leurs jeux hors de leur contrôle.

L’accès aux jeux distribués exclusivement en ligne est, par contre, plus compliqué et a déjà posé de nombreux problèmes aux initiatives de préservation ; par exemple, les jeux du Satellaview de la Super Nintendo. Plus récemment, est née la distribution de jeux par le biais de « marchés » détenus par les éditeurs imposants de grosses restrictions sur les droits d’utilisation des jeux à leurs clients, dépossédant d’une certaine façon les utilisateurs de leur bien.

L’étape suivante dans cette approche, proposée par Onlive, consiste à faire tourner les jeux sur les serveurs des éditeurs et de louer aux utilisateurs du temps de jeu, leur fournissant l’image, le son et les contrôles via un terminal léger à la façon des applications de contrôle à distance.

Ces approches se répandant, les éditeurs dépossèdent petit à petit la société de tout pouvoir sur cet art.

Comment préserver l’expérience des jeux vidéo

Préserver un jeu est une tâche assez complexe. Le jeu peut être difficilement accessible, les accessoires nécessaires à le vivre peuvent avoir disparu, l’expérience de jeu peut-être faussée ou son environnement peut avoir disparu…

Faire fonctionner le jeu sur du matériel moderne de manière pérenne

Portage depuis les sources

Si les sources du programme sont disponibles, il est alors possible de les modifier pour remettre à jour le jeu vers les systèmes logiciels et matériels modernes.

Doom fait partie des jeux ayant bénéficié de ce type de traitements : son moteur a été publié sous licence GNU GPL en 1999, on parle alors de Vanilla Doom pour préciser qu’on parle de la version non modifiée du moteur du jeu. Plusieurs modifications de ce moteur sont apparues, dont notamment Chocolate Doom, qui cherche à rendre le jeu fonctionnel sur le plus de supports possibles, tout en étant aussi fidèle que possible à l’original, y compris dans ses défauts.

Il existe également plein de moteurs basés sur Vanilla Doom qui cherchent à moderniser le jeu, comme par exemple PrBoom, s’éloignant de l’œuvre originelle, mais en proposant ainsi une nouvelle vision de l’œuvre de Carmack et Romero.

Recréation de moteurs

Si les sources du moteur de jeu ne sont pas disponibles, une réécriture peut être organisée. ScummVM est certainement l’exemple le plus célèbre de réécriture de moteurs de jeux, il a démarré comme une réécriture libre du moteur de jeux d’aventure graphique SCUMM de LucasArt, permettant de jouer sur plein de supports à des jeux comme Maniac Mansion ou The Secret of Monkey Island. Il a depuis été étendu pour devenir la réécriture de nombreux autres moteurs de jeux du même type et est devenu la référence de la préservation et du portage des jeux d’aventure graphique.

Cependant, si ce genre de jeux partagent souvent un moteur commun, la majorité des jeux utilisent un moteur qui leur est propre, la réécriture de moteurs n’est dont pas la panacée, ScummVM faisant plus office d’exception de la préservation que de règle.

Émulation

La solution de loin la plus utilisée pour la préservation des jeux vidéo est l’émulation, qui consiste en la recréation sous forme logicielle du matériel et au besoin du système d’exploitation faisant fonctionner les exécutables de jeu. Cette méthode demande cependant beaucoup de puissance de calcul pour convertir les instructions du binaire en instructions exécutables sur la machine utilisée.

Émulation haut niveau

L’émulation haut niveau consiste à reproduire en surface la console, simplifiant grandement les calculs nécessaires et laissant plus de fantaisies aux bidouilleurs.

Les machines et les jeux utilisaient parfois des circuits intégrés non documentés, il était alors impossible de simplement les reproduire et la technique utilisée consistait à envoyer aux pins d’entrée de ces puces l’ensemble complet des combinaisons de signaux possibles et déduire des sorties les fonctions contenues dans la puce.

Cette technique pose de nombreux problèmes en terme de fidélité de temps d’exécution et de résultats des fonctions, se solvant par des effets graphiques n’apparaissant pas ou des ennemis soudain lobotomisés ou dotés d’une intelligence incroyable, et demande de nombreuses bidouilles spécifiques à chaque jeu pour les faire fonctionner correctement.

Émulation bas niveau

L’émulation bas niveau consiste à reproduire extrêmement fidèlement la console, demandant de nombreux calculs mais permet une restitution fidèle de la machine.

Une méthode encore rarement utilisée existe pour résoudre le problème des puces au fonctionnement inconnu, il s’agit de décaper le plastique de la puce pour arriver à son circuit et en faire une photo au microscope, permettant son analyse et sa réimplémentation logicielle parfaitement fidèle.

Et les accessoires ?

Réutilisation des contrôleurs existants

La septième génération de consoles de salon a initié l’utilisation de moyens de connexion standards pour les contrôleurs, qu’il s’agisse d’USB (PC, XBox 360, PS3) ou de Bluetooth (PC, PS3, Wii). Chaque console ne peut utiliser que ses propres contrôleurs, mais au moins ceux-ci sont réutilisables par les machines plus ouvertes comme le PC ; si le mouvement se poursuit, la problématique des contrôleurs devrait être réduite. Celles-ci comportent de plus en plus de fonctionnalités, qu’il s’agisse de kits de vibration ou d’accéléromètres, permettant ainsi de retrouver celles des consoles précédentes sans grandes difficultés.

Reproduction des contrôleurs particuliers

Il reste des problèmes pour les contrôleurs plus particuliers comme les pistolets, la majorité de ceux-ci étaient pensés pour fonctionner sur des écrans CRT et pas sur les écrans plats qui sont la norme aujourd’hui. Heureusement des pistolets spéciaux apparaissent, mais ils ne remplacent pas ceux des anciennes consoles qui seront donc toujours inutilisables sur un écran LCD. De plus, plein d’autres types de pointeurs sont apparus, nécessitant des émetteurs ou des capteurs externes, pouvant fonctionner aisément n’importe où et indépendamment de la technologie d’écran.

Si les contrôleurs en forme de tapis de danse sont assez faciles à trouver en connectique standard grâce au succès des jeux les utilisant, d’autres aux formes d’instruments de musique sont plus complexes à reproduire et à trouver. Pour palier à ça, les amateurs de jeux se jouant avec une guitare comme Frets on Fire ont pris l’habitude de substituer celle-ci par un simple clavier retourné, même s’il n’offre pas toutes les capacités des jeux d’origines comme un accéléromètre dans le manche ou un vibrato.

Les joysticks ou bornes d’arcade ne sont pas un problème car ils peuvent être substitués très facilement ou fabriqués sans grande difficulté par le joueur moyen, les pièces particulières comme les joysticks et les boutons étant assez facilement trouvables.

Rendre l’expérience fidèle

Permettre de jouer à un jeu et d’y jouer avec des contrôleurs adéquat ne suffit pas, pour que la préservation soit réelle il faut permettre de ressentir les mêmes sensations qu’ont pu ressentir les joueurs ayant essayé les jeux à l’époque.

Fidélité visuelle

Écrans CRT

Les écrans actuels affichant des résolutions bien supérieures à celles des jeux à préserver, des filtres d’agrandissement sont utilisés pour profiter de toute leur taille. Le filtre par défaut est l’interpolation au voisin le plus proche, le problème est que le rendu est généralement très cru, net et pixélisé, loin de ce que le joueur voyait sur son écran d’époque. De nombreux filtres tentent de résoudre ce problèmes mais ne font que dénaturer de façon différente l’image d’origine. La meilleure façon de rendre l’expérience visuelle fidèle est de profiter de la haute résolution des écrans actuels pour simuler les défauts des formats vidéos et des écrans du passé, c’est que tentent de reproduire les filtres NTSC de Blargg, cherchant à reproduire les altérations effectuées par les circuits vidéo des consoles et des télés, ou le shader OpenGL CRT de cgwg, cherchant à reproduire les déformations des télévisions des années 1980 et 1990.

Renaissance des jeux en stéréoscopie

Il n’a pas fallu attendre la 3DS ou les télévisions 3D pour jouer à des jeux en stéréoscopie, Nintendo proposait déjà en 1995 la Virtual Boy, qui ressemblait à d’énormes lunettes sur trépied et possédait deux écrans, un pour chaque œil. La console fît un flop mais a néanmoins marqué l’histoire et possède des jeux intéressants à redécouvrir. L’apparition de consoles comme la Nintendo 3DS, de projets comme Occulus Rift, ou encore de moniteurs 3D donnent bon espoir pour la préservation de l’expérience de la Virtual Boy.

Écrans vectoriels

Certaines rares machines comme la Vectrex avaient un écran vectoriel au rendu très particulier, d’une incroyale fluidité et très difficile à rendre sur des écrans modernes, cependant la grande vitesse de calcul et la résolution des écrans augmentant, on peut tendre vers un rendu qui, bien que jamais totalement similaire, se rapproche de ce que cette console offrait.

Fidélité sonore

S’il est compliqué de reproduire fidèlement le rendu graphique d’un jeu, le rendu sonore peut aussi poser des problèmes. Il est parfois difficile d’obtenir la documentation d’un circuit intégré, et des années durant les seuls documents décrivant le fonctionnement du son sur la Mega Drive étaient erronés, ainsi le son produit par les émulateurs sensés reproduire cette machine était de très mauvaise qualité, donnant une perception faussée des capacités sonores de la machine qui a désormais la réputation d’avoir un son horrible.

Heureusement le dur labeur de passionnés permit de corriger ces problèmes et a permis une amélioration des émulateurs.

Fidélité calculatoire

Intelligence de la machine

Pour que la préservation soit fidèle, le comportement du jeu doit être identique à celui de son support d’origine, ainsi si les calculs ne sont pas effectués à la même vitesse ou d’une façon différente l’expérience peut s’en trouver très différente. On retrouve notamment ce problème dans les émulateurs de haut niveau, ne reproduisant les machines qu’en apparence, les calculs faussés sont la cause de nombreux bugs qui doivent être corrigés jeu par jeu. L’intelligence apparente de l’ordinateur peut être décuplée ou amenuisée, par cette émulation non fidèle.

Vitesse du jeu

Un autre problème est celui de la vitesse à laquelle tourne la machine d’origine. Si les jeux sur machines récentes sont détachés de la fréquence d’affichage de l’écran, ce n’était pas le cas sur des machines plus vieilles ou les vitesses n’étaient pas calculées selon un delta de temps fluctuant mais selon une durée fixe, celle du temps entre deux images pour l’écran. Le problème est que si on affiche un jeu dépendant de la fréquence d’affichage de l’écran sur un écran à fréquence différente on peut faire l’expérience de tearing, ou l’ont voit deux images se chevaucher, ou pire encore voir le jeu accéléré ou ralenti pour correspondre à la fréquence d’affichage de l’écran.

Si les consoles de salon fonctionnent sur des fréquences d’affichage très standard, suivant soit les 60hz du standard NTSC, soit les 50hz des standards PAL et Secam, les machines arcades quant à elles ont souvent des fréquences d’affichage très exotiques et leur émulation est donc très sensible à ces problèmes, tout comme les jeux utilisant des affichages particuliers comme le SuperFX de la Super Nintendo Entertainment System comme Starfox qui ont un taux de rafraîchissement deux fois plus faible que les jeux ne l’utilisant pas et se retrouvent aller deux fois plus vite sur les émulateurs haut niveau.

Bien que les émulateurs haut niveau soient plein de défauts, ils ont au moins l’avantage d’être bien plus légers en terme de calculs que les émulateurs bas niveaux qui ont besoin de machines bien plus puissantes pour reproduire une expérience de jeu fluide.

Accès au jeu

Préservation de mondes

Les jeux vidéo sont souvent des mondes vivants, ce qui est d’autant plus vrai pour les jeux en ligne et tout particulièrement pour les MMORPG où chaque joueur participe activement à la vie de ces univers virtuels en perpétuel changement.

Il est déjà arrivé que les serveurs de certains jeux comme Phantasy Star Online ferment, achevant le jeu à jamais, cependant peu de solutions existent tant que les serveurs sont détenus par une société et non un groupe de passionnés faisant vivre le jeu.

Le contrôle sur les jeux

Les problèmes d’accès aux jeux distribués en ligne qui se posent depuis une trentaine d’années ont tendance à s’accélérer. Si quelques jeux ont pu être préservés, c’est plus par chance et par acharnement des personnes travaillant à leur préservation que par la bonne volonté des distributeurs et éditeurs. Il est ainsi crucial de forcer les éditeurs à publier leurs jeux de manière pérenne après quelques années d’exploitation ou après avoir mis la clé sous la porte, seule façon d’être sûr de ne pas perdre des œuvres à tout jamais.

Projets de préservation de jeux

NO-INTRO

Le projet NO-INTRO a débuté comme un projet supprimant les introductions aux jeux rajoutées par les personnes les ayant rippés, chose commune dans les années 90. De nos jour le projet crée et diffuse le résultat de fonctions de hachage cryptographique sur des ROM de jeux parfaites, permettant de savoir si un dump est parfait et ainsi de limiter autant que possible la diffusion de dumps imparfaits, encore monnaie courante sur Internet, aidant ainsi énormément à la bonne préservation du jeu vidéo.

SNES Preservation Project

Le SNES Preservation Project initié par byuu, créateurice du plus fidèle émulateur SNES : bsnes, consiste en la récupération de la totalité des jeux commerciaux sortis partout dans le monde sur SNES et ses variantes afin d’en scanner les boîtes, livrets, dumper les ROM et faire une description de l’organisation des cartouches, pérennisant ainsi la totalité de ce qui constitue la SNES.

Conclusion

Énormément de détails propres au jeu vidéo rendent sa préservation très complexe. Étant un art intensément interactif, vivre l’expérience offerte par un jeu implique de devoir y jouer soi même, une vidéo de quelqu’un d’autre y jouant ne sera jamais une préservation de l’expérience vidéoludique car l’œuvre ne sera vécue qu’au travers de choix et des réflexes de ce joueur, sans faire l’expérience du gameplay nous même, sans frustration, émerveillement ni exaltation car c’est bien là que le jeu vidéo est totalement différent du cinéma.