Terrenos procesales en 3D: ¿qué se ha hecho? ¿Hay algo y / o teorías comunes al respecto? [cerrado]


10

Además de programar, modelar un entorno requiere mucho tiempo.

No sé sobre el tiempo de trabajo involucrado, por ejemplo, en un nivel de mazmorra de WoW, u otro bello entorno urbano futuro, selvas, fantasía, etc., pero este tipo de trabajo es hecho desde cero por los artistas.

¿Cuáles son las técnicas involucradas en el aleatorizador de nivel TorchLight, y otros títulos tienen similitudes con esto? ¿Hay un apellido para tales técnicas?


Creo que los mapas de Torchlight son 2D, con gráficos 3D. No recuerdo que haya áreas de mapas en 3D como Blackrock Spire de WoW, donde los túneles van uno encima del otro. Probablemente puedas usar cualquiera de los generadores de mazmorras 2D de Roguelikes ( pcg.wikidot.com/pcg-algorithm:dungeon-generation ).
amitp

Referencia divertida, esta demostración de 4 KB: youtube.com/watch?v=_YWMGuh15nE
Oskar Duveborn

La generación de mazmorras 2D ya se ha cubierto en gamedev.stackexchange.com/questions/2663/… .

Respuestas:


8

Los Roguelikes han estado haciendo este tipo de cosas desde que se inventaron, y son la "semilla" de la que Antorcha (y Diablo) obtuvieron sus ideas.

No sé específicamente sobre Torchlight, pero en general, lo que estás buscando se llama "Generación de nivel de procedimiento".

Fuel genera una zona de procedimiento que no cabe en el DVD en el que viene el juego. Disfruté especialmente leyendo la serie de Shamus Young .

Otro ejemplo interesante de contenido generado por procedimientos es el juego de Introversion que aún no se ha lanzado, llamado Subversion . Echa un vistazo a la Parte 12 en esa página; Es especialmente jugoso.

Hablando de ciudades generadas por procedimientos, también hay algo de middleware: consulte http://www.procedural.com/ .

Para obtener más juegos / middleware, consulte la página de Wikipedia de Generación de Procedimientos y la Wiki de Generación de Procedimientos .


2

(Enlaces citados en el enlace pastebin: http://pastebin.com/PpJknMuT )

Bueno, se podría decir que hay 2 tipos diferentes. Depende de lo que quieras. Por ejemplo, si tomamos un juego reciente de GTA, se usaron cientos de artistas para hacer la ciudad y personalizarla. La generación de procedimientos podría usarse aquí, pero se usaría como una herramienta de artistas en lugar de algo que se ejecuta en el motor del juego, ya que no queremos un diseño de ciudad diferente con cada juego.

Así que mi disertación de pregrado fue sobre la generación procesal de la ciudad con la zonificación de la ciudad: [1]

El artista utiliza esta herramienta para crear una ciudad y, al mismo tiempo, permite controlar diferentes aspectos si así lo requieren. La generación de la ciudad es similar a los sistemas L como se ve en el trabajo de Pascal Mueller: [2] La zonificación de la ciudad funciona como un mapa de imágenes que toma probabilidades de zonas (comerciales, residenciales, industriales) de los datos de píxeles rgb. Sería posible automatizar la generación si quisieras, pero para hacer que las ciudades se vean creíbles, el algoritmo tendría que ser mucho más complejo utilizando la mecánica de IA de la población en lugar de los algoritmos de ruido y del sistema L.

La generación sobre la marcha se puede ver en [3] o supongo que el ejemplo más simple sería el helicóptero: [4]

Algo similar a Torchlight sería Infinity: Quest for Earth [5]

En Infinity, la galaxia y todo lo que hay dentro de ella se genera con un valor semilla que luego crea todas las otras variables utilizadas para generar todo lo que contiene la galaxia (planetas, soles, etc.) El enlace habla sobre cómo funciona esto con mayor detalle.


Sí, lo entiendo: uno no siempre querría tener niveles aleatorios con la generación de una semilla o de lo contrario. La cuestión es que lo que queremos que haga la generación de niveles es simplemente facilitar el trabajo de un diseñador de niveles para que no tenga que hacer todo con maya o max. La generación de niveles no siempre está diseñada para generar solo niveles, también puede hacer que el software genere fragmentos de geometría sobre la marcha, en lugar de liderar un archivo grande que contenga toda la geometría, como un mapa de altura, pero para conjuntos específicos de niveles, como un jungla, una oficina o una ciudad: solo le pedimos al artista que haga las texturas y algo más
jokoon

y algunas piezas de geometría comunes que queremos repetir. No estoy hablando de niveles solo de procedimiento, pero para el gran mundo, esto es imprescindible para ahorrar memoria.
jokoon

¿Qué tipo de entorno de juego quieres? Quiero decir, si tienes una ciudad, solo los edificios se repetirían en diferentes orientaciones ... Los paisajes son, como dices, mucho más fáciles de generar sobre la marcha ... Esto realmente depende del juego que quieras hacer, así que sería algo así como Morrowind / Oblivion o GTA o algo más?
Sycren

1

Minecraft utiliza el ruido 2D Perlin para generar terreno al aire libre. Puede tener niveles prácticamente infinitos (morirías de vejez antes de llegar al límite) que se generan a medida que los jugadores exploran. (Probablemente) también utiliza el ruido 3D Perlin para generar cuevas subterráneas.


Técnicamente, el borde del mundo de Minecraft es inalcanzable: a medida que obtienes aproximadamente un tercio (IIRC) del camino, el juego comienza a aprovechar y ahorra cada segundo y no se puede jugar. ;-)
El pato comunista

-1

¿Cuáles son las técnicas involucradas en el aleatorizador de nivel TorchLight?

Solo serán números aleatorios que se colocarán en los algoritmos de nivel.

y otros títulos tienen similitudes con esto?

Wikipedia .

Aunque discutible Left 4 Dead usó técnicas similares en el Director de IA.

¿Hay un apellido para tales técnicas?

Fractales, recursiones, sistemas L y viejos algoritmos simples. Cada uno combinado con números aleatorios.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.