Culture

Peut-on créer un monde de jeu vidéo infini?

Laurent Pointecouteau, mis à jour le 10.02.2014 à 7 h 40

Non, c’est mathématiquement impossible. Mais il existe des jeux vidéo aux dimensions interstellaires, si vastes qu’ils sont impossibles à visiter en entier.

La frontière entre la carte normale et les Terres lointaines dans «Minecraft», éloigné de 12.550 km du centre du monde (Mojang)

La frontière entre la carte normale et les Terres lointaines dans «Minecraft», éloigné de 12.550 km du centre du monde (Mojang)

Depuis trois ans, Kurt J. Mac voyage à travers le jeu vidéo Minecraft, marchant toujours dans la même direction dans l’espoir d’atteindre un jour le bout du monde, un monde pourtant conçu pour être infini. Le joueur, qui diffuse chaque étape de son périple sur YouTube, a déjà parcouru 700 kilomètres.

Est-il techniquement possible de réaliser une carte infinie dans un jeu vidéo?

Non, mais on peut en créer l'illusion. Les ordinateurs, pas plus que les humains, ne sachant pas compter jusqu'à l'infini, les jeux vidéo ne peuvent s’étendre jusque là. Mais on peut s’en approcher et bâtir un univers tellement vaste qu’aucun joueur ne pourrait en voir la fin, à condition de respecter certaines règles.

Minecraft n’est ainsi pas réellement un monde infini: passée une certaine frontière, une faille dans les mécanismes du jeu provoque des aberrations dans les lois de la physique, puis la dégénérescence de l’univers avant –beaucoup plus loin– de faire complètement planter le jeu.

Neuf millions de fois plus étendu que la surface de la Terre

Pour créer le monde d’un jeu vidéo, les programmeurs peuvent opter pour deux approches.

Ils peuvent concevoir ce décor à la main, en dessinant chacun de ses recoins –c’est ce qui a été fait pour des jeux comme GTA V (dont la superficie des terres émergées est estimée à 48 km²) ou Skyrim (37 km²). Ou ils peuvent simplement écrire la «recette» de ce décor, et laisser l’ordinateur la préparer à leur place. C’est exactement ce que fait Minecraft, dont la surface totale théorique est de 4.096 millions de km², soit 9 millions de fois la surface de la Terre. On appelle cette méthode la génération procédurale.

Ces deux approches ne sont pas exclusives. Un développeur peut très bien commencer par générer une vaste carte procédurale, puis ensuite la remanier manuellement en ajoutant là une maison, là une rivière, qu’il faudra cependant stocker parmi les fichiers du jeu pour que ce dernier puisse les utiliser. C’est cette nuance qui explique que GTA V nécessite deux DVD dans sa version Xbox 360, alors qu’Elite, simulateur spatial vieux de trente ans, contenait 8 galaxies de 256 planètes chacune dans à peine 22 kilooctets.

Elite (David Braben et Ian Bell, 1984), ici en version BBC Micro

Dans Minecraft, la génération procédurale s’effectue à la volée: au fur et à mesure des déplacements du joueur, le jeu génère un nouveau tronçon de terrain sous ses pas, ce qui rend le jeu théoriquement infini. Mais contrairement à d’autres jeux «sans fin», qui se contentent de recréer des nouveaux mondes différents partie après partie, Minecraft fonctionne avec un monde persistant, en sauvegardant les tronçons au fur et à mesure sur l’ordinateur, ce qui permet au joueur de revenir sur ses pas. Ce processus pourrait se poursuivre indéfiniment, mais même avec un support de stockage illimité, le jeu ne peut dépasser ses propres limites mathématiques.

Rendre l’infini amusant

L’objectif que s’est donné Kurt J. Mac, l'explorateur intrépide de Minecraft, est en réalité la première limite du jeu, les Terres lointaines. Sur son chemin, il verra peu à peu les objets autour de lui, et lui-même, trembler et se déplacer bizarrement.

Arrivé aux Terres lointaines, à 12.550 km de son point de départ (soit environ un tiers du tour de la Terre au niveau de l’équateur), les lois qui régissent la génération de tronçons se mettront à défaillir et à fracturer le décor en blocs grotesques, faisant ralentir fortement le jeu au passage. A partir de 2 millions de km, on ne pourra plus se déplacer correctement; après 34 millions de km, les tronçons générés écraseront les tronçons précédents.

Arrivé au chiffre astronomique de 1,798x10308 km, le jeu ne pourra plus compter les déplacements du joueur et cessera entièrement de fonctionner. Son PC aura de toute façon planté bien avant, incapable de générer autant de terrain, encore moins de le sauvegarder.

Tel l’odomètre d’une voiture qui finit par revenir à zéro, les programmes ne peuvent compter au-delà d’un certain point. C’est pour cette même raison que Pac-Man bugue à son 256e niveau –255 étant le nombre maximum que l'on peut représenter par un octet non signé. Si Pac-Man avait un chiffre de plus à son «odomètre» interne, il aurait été possible d’y jouer bien au-delà; de la même manière, si les tronçons de Minecraft étaient comptés sur une étendue de 64 bits au lieu de 32 bits, leur nombre maximum serait multiplié par 4 milliards.

Le niveau 256 de Pac-Man (Namco, 1980), conséquence d'un dépassement d'entier: le jeu ne pouvait compter que jusqu'a 255.

Mais s’il suffit aux programmeurs d’élargir leurs compteurs pour que leurs jeux grandissent tout seul, il leur faut encore parvenir à générer un monde intéressant et varié, sans être trop répétitif. Et il est très difficile de rendre un monde procédural intéressant.

Elite, cité plus haut, était supposé avoir 248 galaxies au lieu de 8, mais les planètes auraient été trop ressemblantes entre elles, ce qui aurait rendu l’univers moins crédible. Et si Minecraft pèse plus lourd que les 22 ko d’Elite, c’est aussi parce que les règles de génération sont plus complexes: il faut créer des grottes connectées entre elles, des plages et des falaises, des plateaux et des canyons… en d’autres termes, des environnements amusants à explorer. C’est certes l’ordinateur qui les «cuisine», mais c’est l’humain qui rédige leur «recette», et ce sont à des joueurs humains que ces mondes sont destinés.

Lesquels humains, à moins de tricher et de se téléporter (c’est ce qui a permis ces captures d’écran de Minecraft), ne pourront néanmoins jamais aller jusqu’au bout du monde. Si Kurt J. Mac maintient son rythme moyen de 6,5 km/h, il lui faudra encore 22 ans pour atteindre les Terres lointaines, et il n’aura parcouru qu’une infime fraction de la longueur maximale que peut faire une carte de Minecraft.

Laurent Pointecouteau

L’explication remercie Sebastian Wloch, développeur à Asobo Studio, Guillaume Levieux, maître de conférence au Conservatoire national des arts et métiers, et Guillaume Saby, développeur à Splash Damage.

Retrouvez tous nos articles de la rubrique L'explication ici. Vous vous posez une question sur l'actualité? Envoyez un mail à explication @ slate.fr

Laurent Pointecouteau
Laurent Pointecouteau (77 articles)
En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies pour réaliser des statistiques de visites, vous proposer des publicités adaptées à vos centres d’intérêt et nous suivre sur les réseaux sociaux. > Paramétrer > J'accepte