mardi 5 janvier 2016

Génération procédurale : les univers créés par les algorithmes sont-ils plus amusants que les univers créés par les humains ?

La conception de règles dans un jeu vidéo est un travail proche des mathématiques appliquées à la physique dans le sens où nous imaginons un univers et nous devons travailler des fonctions, des conditions, élaborer des algorithmes pour atteindre notre objectif qui est principalement d’amuser, parfois de faire passer un message ou de raconter une histoire, et dans quelques cas déontologiquement discutables d’encourager le joueur à la dépense.

Cette science reste jeune et nous manquons jusqu’à une grammaire basique et unifiée pour expliquer nos méthodes, qui restent empiriques, intuitives. Il n’est pas rare qu’en détaillant un projet de jeu je commence par expliquer des concepts nommés arbitrairement, car nous avançons dans l’inconnu. Il n’existe pas encore de classiques universels reconnus sauf ceux que l’on veut bien reconnaître à titre personnel comme tels et donc souvent un concepteur de jeu ne peut se hisser, contrairement à Newton, sur les épaules d’un géant qui l’aurait précédé.

A haut niveau, les connaissances mathématiques requises pour exercer ce métier concernent surtout les statistiques, c’est le cas des cash machines de très grande envergure comme Candy Crush Saga ou Clash of Clans.

Pour les GD des jeux plus modestes, le niveau de mathématiques requis ne dépasse pas la seconde : il faut connaître le Théorème de Pythagore, qui reste une façon tout à fait élégante de mesurer la distance entre deux points dans un jeu en deux dimensions, ou bien savoir manipuler des polynomes du second degré, car ils permettent, par exemple, de créer des courbes de progression (ou de difficulté) faciles à appréhender intuitivement pour un joueur.

Génération procédurale : des fonctions d’univers

Nous allons aborder dans cet article le cas particulier de la génération procédurale et des questionnements qu’elle implique.

Il existe deux méthodes principales pour créer un univers de jeu (par exemple un monde médiéval fantastique avec des montagnes, des châteaux, des dragons…) :

On peut tout d’abord le fabriquer “à la main”, c’est à dire avec des professionnels qui placent chaque élément de jeu en le pensant ou en suivant des guides, ou leur intuition.

Mais on peut aussi avoir recours à la génération procédurale d’univers : c’est à dire que l’on substitue le travail de placement d’objets ou de création de lieux par des algorithmes et l’on obtient ainsi des mondes générés à la volée (c’est à dire créés à la demande en début de partie) ou persistants (c’est à dire générés informatiquement mais sélectionnés ensuite).

On associe à certains mondes créés à la volée des “graines” (seed), une simple suite de chiffres très courte (exemple : 8451235456) qui sont le petit battement d’aile de papillon qui va créer un monde unique sous le fracas primordial des algorithmes de génération. Avec la bonne graine, on peut retrouver le monde correspondant : l’algorithme est une fonction qui avec la graine X donne l’univers Y.


Des univers passionnants ou ennuyeux ?

Face à ces options, une question préoccupante : quelle est la solution la plus “amusante” ?

Existe-t-il une “vallée dérangeante” de la création algorithmique d’univers qui fait que l’on peut pointer du doigt sans douter un monde généré algorithmiquement ou à la main ? Les expériences de jeu sont-elles identiques ? Nous allons voir que ces questions en appellent d’autres, plus larges.

Historiquement, les deux écoles ont avancé de front : d’un coté des jeux de rôles, d’action ou d’aventure très maîtrisés qui proposent une aventure unique mais parfaitement circonscrite et de l’autre des jeux procéduralement générés qui proposent une expérience émotionnelle parfois plus faible mais, comme chaque univers est différent à chaque partie, offrent une rejouabilité sans limite.

Il existe un cas intéressant : Daggerfall (1996) de Bethesda dont la suite est Morrowind (2002). Daggerfall est un jeu procédural : il propose un monde de montagnes et de plaines, de cavernes labyrinthiques, de villages et de villes, avec tout autant d’habitants, grand comme environ l’Allemagne - tout est généré avec des fonctions mathématiques.


Daggerfall
Cette carte montre l’une des nombreuses provinces de l’aire de jeu, chaque point
représentant un village, une ville ou un donjon. L’ensemble (y compris les zones
de campagne ou d’océan) est explorable et généré procéduralement.

Morrowind, au contraire, est un jeu où chaque caillou, objet, personnage a été placé et défini à la main. Sa surface est de 24 km², soit un cinquième de Paris.



Morrowind
Ici au contraire, chaque emplacement de terrain (y compris les profondeurs sous marines proches des cotes) a été modélisé à la main avec des éditeurs et des level designers.

Morrowind a plus marqué que Daggerfall et propose une longueur de jeu presque aussi importante.

Le fait est que le monde généré procéduralement, avait, dans son foisonnement, une forme de vacuité : les motifs étaient perceptibles, le jeu était immense comme une frise infinie qui jamais ne déborderait sur de la folie ou une forme d’humanité.

C’est un exemple rare dans l’histoire de l’humanité où une tâche accomplie par un robot est finalement reprise par un humain ! Mais c’est justement le coeur de notre problématique : même si la question de savoir si le jeu vidéo est un “art” n’appartient pas au champ de cet article, le fait est qu’il reste un produit culturel où la trace de l’homme semble devoir primer sur celle des processus.


La solution procédurale domine

En dépit de cette démonstration qui a orienté beaucoup de jeux dans le début des années 2000, la génération procédurale a fait des progrès et revient en force. Minecraft, dont l’univers est basé sur du procédural, a été racheté par Microsoft 2.5 milliards de dollars et reste un jeu dominant sur la scène mondiale.

Minecraft
Le jeu est généré procéduralement à la volée au fil des explorations du joueur. 


No Man’s Sky, présenté cet été à l’E3 l'été dernier, propose un univers à l’échelle d’une galaxie ou “chaque atome”, dixit leur communiqué, est généré procéduralement.


No Man’s Sky
Cette planète, les couleurs, la densité de faune et de flore, leur nature et tout type d’élément physique est généré procéduralement - et c’est vrai pour les milliards d’autres planètes que propose ce jeu.


Star Citizen, jeu financé participativement à hauteur de 100 millions de  dollars (!) est généré procéduralement pour offrir un univers également à l’échelle interstellaire.


Star Citizen
Là encore, les systèmes solaires sont générés de façon procédurale. Pour ce géant (le plus grand succès de financement participatif historique), la génération procédurale est plus au service de la création d’univers qualitatifs que quantitatifs.

Ainsi la question demeure toujours la même, à ceci près qu’elle vaut aujourd’hui 100 millions de dollars : les joueurs trouveront-ils de l’intérêt à visiter une planète générée par une fonction mathématique, aussi sophistiquée soit-elle ?



Un algorithme qui touche à la sensibilité


La question n’est pas sans rappeler celle des années 80-90 où Kasparov luttait contre Deep Blue, dont les algorithmes spécialisés, gagnant chaque année du terrain, inquiétaient le monde sur l’émergence de machines pensantes qui pourraient dépasser l’humain.



Le paradoxe du singe savant ou la nature des nombres univers nous démontre que l’oeuvre la plus poignante (ou la plus amusante dans notre cas) peut émerger de l’infini des nombres. Mais il faut un humain pour sélectionner la beauté dans cet infini. On peut trouver la Joconde dans une séquence soigneusement sélectionnée  (dans une infinité en fait…)  de décimales d’un nombre univers et ensuite passée sous l’algorithme adéquat - mais, comme le suggérait Borges, l’oeuvre humaine doit prééxister pour que cette sélection soit opérée.

Quand Léonard de Vinci peint sa Joconde, il est aussi dans un travail de sélection : à tout moment il sélectionne pinceau, couleur, modèle, trait et de nombreux paramètres selon l’algorithme de sa sensibilité. Quand la Joconde ou une autre oeuvre nous émeut, nous pleurons devant des algorithmes. Nous voyons dans son travail la familère altérité d’un travail humain plutôt que la reproduction de la réalité.

Sommes nous capables de concevoir des algorithmes qui génèrent des mondes circonscriptibles par notre intime et qui nous fassent voir la familière altérité de la sensibilité de leurs auteurs, ou les mathématiques resteront ce terrain radicalement étranger, teinté de ses concepts inquiétants (le zéro, l’infini…), qui ne pourra jamais se substituer à la création ?

Cette question pèse aujourd’hui de façon remarquable dans les dizaines de milliards d’euros de chiffre d’affaire de la première industrie de loisirs au monde.

Mais des philosophes pourraient relever qu’au contraire, c’est à la lumière des fluctuations de ce chiffre d’affaire et des réussites de Star Citizen, No Man Sky’s et des autres projets de même ambition, que nous aurons une réponse empirique capitale sur notre nature, ou tout du moins notre capacité à l’heure actuelle à la modéliser.

12 commentaires:

  1. N'aurais tu pas confondu Elite et Star Citizen ?


    Elite Dangerous a généré procéduralement la voie lactée (400 Milliards de systèmes) en essayant de respecter des règles physiques crédible. On passe l'écrasante majorité de son temps de jeu dans des systèmes ou tout est issu du procédural.

    Star Citizen se contentera d'une soixantaine de systèmes ou chaque planète, lune et station aura été placée à la main. Pour l'instant ils n'utilisent la génération procédurale que pour créer le terrain des planètes en dehors des bases/villes/zones. A priori les zones générées ne sont pas supposées offrir de gameplay particulier et ne sont là que pour "combler" les planètes.

    RépondreSupprimer
    Réponses
    1. Merci de ta précision que j'avais pris en compte en mentionnant cependant « Là encore, les systèmes solaires sont générés de façon procédurale. Pour ce géant (le plus grand succès de financement participatif historique), la génération procédurale est plus au service de la création d’univers qualitatifs que quantitatifs. »

      Je n'ai pas été aeesz explicite.

      Supprimer
  2. Il me semble que tu confonds algorithme, une fonction et un moyen, conçu par l'homme (puisque programmé par lui), et l'infini des possibles, concept qui ne se matérialise dans une quelconque machinerie.

    Quelques pistes aussi par là, que j'avais évoqué il y a quelques mois : http://www.chronicart.com/jeux-video/galak-z/

    On risque de ne pas être d'accord ^^

    RépondreSupprimer
    Réponses
    1. Lu, merci. Il me semble cependant hâtif de dire que le procédural est une « mode » ou une « plaie », il est dominant dans des jeux fondamentaux, classiques comme modernes, comme Nethack ou Dwarf Fortress.

      Supprimer
  3. Le problème du procédural, c'est qu'il impose au joueur des nouveaux ordres successifs qui, par conséquent, s'annulent.

    RépondreSupprimer
    Réponses
    1. Mmm je n'y avais pas pensé

      Supprimer
  4. Et les rogue like ? Par exemple du coté de Nuclear throne, chez Vlambeer, les niveau sont tous generer proceduralement. Ca ne retire rien au jeux et au contraire l'enrichie.

    Le mot important dans generation procedural est "procedural" . Cela signifique que la création de monde suis des regles predefinie par les designer.
    Par exemple, une technique les plus simple consiste à placé aléatoirement des salles predefinie dans un donjons. Ces salle sont elle meme concue par les designer pour presenté un puzzle interssant pour le joueurs. Ensuite des variation peuvent etre apporté à cette salle pour la rendre visuellement differente des autre allors quelle reste la meme. L'enchainement des salle peut etre purement aléatoire ou bien suivre une logique pour rendre le tout plus interessant. (Salle de gauche = puzzle pour gagné l'objet X, salle de droit = puzzle qui utilise l'objet X)...
    J'utilise un exemple très simple mais ce concepts peut être poussé beaucoup plus loin. Dans le futur, on pourat peut etre etablir des algorithme capable de construire une mechanique de puzzle a partir de brick de gameplay. Minecraft par exemple offre une tres grande variété d'environnement et de combinaison qui est tres appréciable par les joueurs les plus explorateurs.
    La combinaison d'élements procedural avec des eléments preconcue est particulierement interessante.

    RépondreSupprimer
    Réponses
    1. L'équilibre entre les deux est une voie satisfaisante à l'heure actuelle.

      Supprimer
  5. Je trouve que le procédural n'est pas du tout au cœur de l'expérience de Star Citizen, la majorité du contenu sera fait à la main. La taille de l'univers en atteste : seulement quelques centaines de systèmes à explorer en comparaison des millions que proposent Elite Dangerous ou No Man's Sky.

    RépondreSupprimer
  6. J'aime bien le sujet, merci pour cet article.

    Pour moi, il n'y a pas forcément une opposition entre la création procédurale et la création manuelle.
    Pour réfléchir l'esthétique plus rapidement, c'est souvent mieux de faire une maquette manuelle avant d'utiliser un algorithme. Ou ne serait que regarder des références réelles.
    Et ca peut être très chronophage de trouver un algorithme qui soit satisfaisant.

    J'aurais été curieux de savoir comment personnellement tu penses et écrit l'équilibre entre les deux dans tes projets.

    RépondreSupprimer
  7. It is a great article. You will surely like this also because it is a great stuff, yeah it’s give us lots of interest and pleasure. Their opportunities are so fantastic and working style so speedy. Thank you for sharing the nice article.

    RépondreSupprimer
  8. I must admit that it can be used as an additional info for my school assignment. Thank you\
    Thanks for posting this article. I have faced many problems with

    RépondreSupprimer

Merci de lire mon blog