Para el videojuego No Man’s Sky, ¿cómo se genera el universo del juego?

El equipo de Sean Murray ha sido muy, muy impreciso sobre todo, pero entiendo que las localidades de un planeta / sistema / galaxia (esto supone la mayor parte del universo) no necesitan almacenarse en los servidores porque el algoritmo del juego está diseñado tal reproducirá los mismos detalles del mapa en el mismo conjunto dado de coordenadas espaciales. Esto, a su vez, debe significar que estos cuerpos celestes están más o menos estancados, o que de alguna manera retienen las mismas coordenadas a pesar de moverse (esto tampoco tendría ningún sentido para mí). Para simplificar, supongo que esto significa que todo en el universo ya existe tal como es y en sus posiciones dadas de acuerdo con el código del juego.

Dado el juego que he visto hasta ahora, parece que el modelo sin almacenamiento de datos es cómo funciona; Si miras algunas de las demostraciones de juego más recientes, verás que las flotas de naves espaciales en los sistemas no se generan visiblemente hasta que la propia nave del jugador esté fuera del planeta y dentro de una distancia de viaje muy razonable, momento en el cual se ponen en fase. a través de algún tipo de animación a la velocidad de la luz. Del mismo modo, parece que los detalles de un planeta no se concretan, ya que normalmente aparecerían al explorar a pie hasta que el jugador esté muy cerca de su superficie (nuevamente, consulte los videos recientes del juego).

No soy Sean Murray, así que no puedo hablar con autoridad sobre las complejidades de esto, pero él, en una de sus demostraciones de IGN para la versión de PS4 del juego, declaró que las únicas funciones dentro del juego que requieren el almacenamiento de Los datos son las acciones particulares del jugador en un mundo, es decir, cómo se meten con su paisaje, organismos, etc., dado que están en constante movimiento y flujo. Sin embargo, incluso estos se han declarado que se deshacen periódicamente, por lo que un jugador no puede andar destrozando sistemas enteros y dejando desolados cósmicos páramos para otros jugadores que los exploran después.

Para explicar cómo se hace el universo del juego, que creo que consiste en planetas quintilianos (creo que esa es la ortografía correcta de esa palabra), tendrás que entender la Generación de Procedimientos. No he probado la generación de procedimientos, pero de alguna manera lo entiendo, así que lo explicaré de manera simplificada. En juegos con mundos abiertos enormes como GTA V, el próximo Final Fantasy XV, etc., notarás que el mapa es enorme y, por lo tanto, un mundo muy grande con diferentes terrenos en diferentes alturas y otras cosas. (Perdón por la pereza de publicar referencias de imágenes) Ahora, hacer esos terrenos y con ese detalle implicaría mucho tiempo y esfuerzo si los va a hacer manualmente en maya, tal vez no tanto, pero definitivamente tomará mucha memoria ( pero ahí es donde entra el nivel de detalle). Una forma más corta y rápida es usar Generación de procedimientos, que es un conjunto de algoritmos que crean los datos para el área, la tierra y lo que no. Por lo general, crea los datos basados ​​en mapas de ruido … ruido como los granos en blanco y negro en los viejos televisores CRT. Estos algoritmos transforman los valores de ruido de tal manera que se ve como la vista superior del mapa del juego e incluye valores de altura que se utilizarán en ellos. Otros pasos también implican agregarles color para diferentes alturas como para establecer una comprensión de lo que va a estar allí. Todavía hay más en esto, como el nivel de detalle involucrado aquí, pero me detendré aquí. No nos olvidemos de matar.

Una cosa más, la Generación de Procedimientos implica mucha aleatoriedad en la elaboración de los mapas, pero eso significaría que cada vez que se ejecuta el algoritmo, los datos cambiarían. Para evitar que los algoritmos se hayan hecho de tal manera que la función de Generación de procedimiento devolvería los mismos datos si se les da un cierto valor de entrada. Este valor se conoce como LA SEMILLA !!!! (inserte música de aura celestial)

Viniendo al cielo de nadie

Los creadores del juego han creado un algoritmo tal que cuando se les da el valor inicial (lo que escucho es en realidad la representación de 64 bits de un número de teléfono) genera todo el universo junto con las posiciones de todas las galaxias (o cúmulo de galaxias (no estoy seguro) qué tan lejos fueron)). Cada galaxia luego deriva diferentes valores de semilla de la semilla principal (pero eso significa que LA SEMILLA también crea semillas) usando el valor de semilla que ha derivado, cada galaxia crea su forma, las estrellas en ella, etc. Cada Estrella deriva una semilla única de es la semilla Galaxy respectiva (en este momento soy como WHOAAA * _ *) y genera los sistemas planetarios que deberían tener sistemas similares a nuestro propio sistema solar pero para múltiples estrellas en múltiples galaxias. Ahora cada planeta en el sistema planetario de cada estrella deriva una semilla única de la estrella con la que está relacionada (probablemente ya la obtenga). Cada planeta genera la topografía, la flora y la fauna, el clima, la situación, la hostilidad. del planeta, etc. Es interesante saber que los desarrolladores solo hicieron un cierto número de modelos para el juego y la semilla del planeta se mezcla y da nuevas especies a través de la combinación y permutación de las mallas, texturas, colores, etc. del modelo.

Espero no haberme perdido nada …

Así que sí, espero no haberlo hecho demasiado grande … pero si quieres el cuento largo echa un vistazo

y por supuesto la wikipedia de No Man’s Sky