[DOSSIER] La génération procédurale

L’Histoire de la Génération Procédurale

Tout commence en 1970; John Horton Conway est un mathématicien qui s’ennuie.

Comme le Sudoku n’a pas encore été inventé, il décide de se pencher sur un problème mathématique qui débouchera sur… la génération procédurale.

John Horton Conway
John Horton Conway qui s’ennuie.

Il choisit pour cible l’étude que son confrère John Von Neumann avait réalisé 30 ans auparavant. Cette dernière concerne une hypothétique machine capable de se répliquer elle même.

John Von Neumann
John Von Neumann qui a pas l’air de s’amuser non plus.

Ainsi, à partir des travaux de Neumann, Conway conçoit un jeu théorique appelé “Game of Life”. En fait il s’agit d’un automate cellulaire, à savoir une grille dans laquelle sont disposées des cellules ayant un état E à un instant T, obéissant à 4 règles simples :  

Game of Life de Conway
Game of Life de Conway – Wikipédia
  1. Une cellule vivante meurt si elle est entourée par moins de deux cellules
  2. Une cellule vivante entourée de deux à trois cellules continue de vivre
  3. Une cellule vivante meurt si elle est entourée par plus de trois cellules
  4. Enfin une cellule morte entourée par exactement trois cellules vivantes devient elle-même vivante

Les règles du Game of Life

Du coup, les interactions du joueur sont limitées à la toute première initialisation de la grille. En effet, ce dernier dispose les différentes cellules vivantes ou inactives sur la grille, puis on les observe évoluer à travers le temps.

Et le jeu vidéo dans tout ca?

Décor de Minecraft
La génération des maps de Minecraft est basée sur ce procédé.

Dans le jeu vidéo, la génération procédurale a été majoritairement utilisée pour créer les niveaux que le joueur parcourt, et ce pour deux raisons :

  • La première, c’est qu’ en tant que mécanique de game design, cette technique permet de renouveler constamment l’expérience de jeu en offrant de nouvelles configuration de niveaux ou d’environnement à chaque nouvelle partie.
  • La seconde est plus pragmatique…  En effet, au début des années 80, les supports de stockage étaient extrêmement limités en place et il n’était parfois pas possible de stocker l’ensemble des niveaux voulus par les développeurs. Ainsi, la génération procédurale était donc la solution idéale pour palier au problème.

Toutefois, la génération procédurale, c’est un peu la Némésis du level-design qui consiste à fabriquer soi-même ses niveaux. Car oui, à force de se reposer sur un algorithme qui créé des niveaux entiers… on risque qu’ils soient mal agencés et foutent en l’air une bonne partie du plaisir de jeu! Certes, chaque partie sera « unique » mais… vous pouvez tomber sur des niveaux à la limite du non-sens aussi !

C’est pourquoi aujourd’hui, la plupart des développeurs optent pour un usage très dosé de la génération procédurale. Ainsi, cette dernière ne génère que partiellement les niveaux et obéit à des paramètres prédéfinis plus stricts. Et c’est comme ca qu’on évite le dawa procédural.

Une tourelle inutile due a la génération procédurale dans
Lovers in a Dangerous Spacetime – Asteroid Base

VignetteLa Génération Procédurale, on en parle dans notre vidéo sur Lovers In A Dangerous Spacetime !

Attendez, vous parlez de tout ca dans une critique de JV? Mais c’est quoi en fait Osmosis?

Pour aller plus loin :

  • http://indius.org/dossiers/generation-procedurale-jeu-video/
  • https://www.numerama.com/sciences/133517-la-generation-procedurale-ou-comment-le-jeu-video-devient-infini.html

Laisser un commentaire

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