¿Cuál es la matemática detrás de los algoritmos de generación de procedimientos detrás de los motores de juego como No Man’s Sky o Elite?

No puedo decir que alguna vez haya intentado hacer algo de esto, pero he aquí un resumen de algo.

La generación de paisajes procesales, específicamente, a menudo se basa en generadores de ruido para paisajes aleatorios; El ruido Perlin a menudo se usa para este método al agregar diferentes capas para lograr efectos interesantes. Para una implementación específica de la misma, recomendaría esta discusión de Stack Overflow que tiene una implementación de C ++ y algunos enlaces útiles.

pcgbook.com describe muchos de los métodos utilizados para la generación de procedimientos, y lo es, pero no necesariamente pesa demasiado en matemáticas. También puede navegar en este Wiki de Generación de Contenido Procesal, que tiene pocas matemáticas, pero muchos temas.

Si quieres escuchar un poco sobre lo que No Man’s Sky está haciendo específicamente, mira este Tour de 30 minutos detrás de escena de No Man’s Sky que hizo Game Informer. Sean Murray está bastante absorto en eso. Todo el juego es realmente una función grande y enrevesada que tiene una salida determinada, lo que permite a cada jugador experimentar los mismos mundos sin tener que descargar una cantidad aparentemente infinita de texturas y datos: el juego calcula la salida de la función sobre la marcha, literalmente . También muestra la generación de criaturas: los artistas crean varias “bases” para las criaturas, y el sistema puede mutarlas de innumerables maneras para crear otras criaturas que a veces no se parecen en nada al original.

También hay varios algoritmos para la generación de criaturas. Un método interesante es a través del uso de algoritmos genéticos que modelan la evolución del mundo real a través del análisis de aptitud de un código genético, y solo seleccionando códigos de ajuste para mezclar con otros. Venter y Hardy, en Generando plantas con programación de expresión génica, describen un método para la generación de plantas creando un Sistema L y analizando su aptitud de esta manera. Los algoritmos genéticos también se pueden aplicar a las estructuras animales y al comportamiento animal.

Sean Murray (Creador No Man’s Sky) habló sobre esto él mismo en GDC 2017. Es muy interesante:

Construyendo mundos usando matemática (s)