¿Cómo puedo crear un "mundo" aleatorio en un motor de mosaico?


22

Estoy diseñando un juego que funciona en un motor de mosaico clásico, pero cuyo mundo se genera al azar. ¿Existen juegos o algoritmos existentes que hacen esto? Los algoritmos de generación de procedimientos que he encontrado nunca utilizan un sistema de mosaico ... ¿Cuál sería la mejor manera de generar un "mundo" completo utilizando un sistema de mosaico? No estoy hablando de laberintos de bloques, sino de un "mapa mundial" general gracias


55
Esto se ha preguntado muchas veces, intente buscar aquí: generación mundial aleatoria Editar: Aquí hay una para un motor de mosaico.
Richard Marskell - Drackir

2
-1: Esta pregunta no tiene respuesta en su forma actual. Es demasiado vago, solo afirma que es un "mapa mundial" hecho de azulejos. OK, ¿qué tipo de azulejos? ¿Qué hacen estos mosaicos en términos de juego? Esto podría ser cualquier cosa, desde Final Fantasy hasta Civilization, y la "mejor manera" de generar terreno para esos dos juegos es completamente diferente . No hay forma de proporcionar una respuesta que proporcione una buena jugabilidad sin saber nada acerca de cómo planeas usarla. Antes de que pueda hablar sobre la generación de procedimientos de cualquier cosa, debe poder hacer manualmente una buena versión de la misma.
Nicol Bolas

Respuestas:


34

Su pregunta lo lleva al campo de la generación de contenido procesal.

Generación mundial basada en mosaicos derivada de métodos continuos / analógicos

Por continuo, quiero decir algo que no son mosaicos, algo que es analógico, un ejemplo es un mapa vectorizado. Puede usar cualquier técnica continua para la generación y luego cuantizarla. Por ejemplo, genere una imagen de ruido Perlin de alta resolución, luego reduzca su resolución para que se ajuste al tamaño de su mosaico y muestree los píxeles para proporcionarle un mapa de altura. (Los mapas de altura pueden ser un excelente punto de partida para su mundo). Esto se debe a que mencionó ver fuentes que no le mostraban qué hacer con respecto a cómo aplicarlo a los mosaicos.

Generación mundial basada en mosaicos utilizando un enfoque de talla "parpadeante"

Con un enfoque basado en mosaicos (celdas), puede hacer una especie de generación ciega en la que genera el mundo poco a poco sin mirar más allá de, por ejemplo. los azulejos directamente vecinos, pero esto tiende a parecerse al trabajo de un insecto. Esto es típico de CA (autómatas celulares), y muestra poca inteligencia a mayor escala.

Generación mundial basada en mosaicos utilizando una visión mundial más amplia, de arriba hacia abajo

Esto toma un enfoque más inteligente para construir el mundo mosaico por mosaico, ya que primero lo construirá región por región. De esta manera, obtienes control sobre, por ejemplo. diferentes biomas, regiones políticas, etc., como lo ha hecho Tarn Adams en Dwarf Fortress. Por supuesto, esto requiere que pienses un poco sobre cómo te gustaría dividir tu mundo. Hay muchas formas, tendrá que hacer su propia investigación.


La generación de contenido procesal es un tema bastante amplio, por lo que deberá leer bastante antes de tener una idea sólida de lo que realmente quiere y cómo hacerlo: el diablo siempre está en los detalles . Por esa razón, algunas buenas fuentes para esto son la lista de correo rec.games.roguelike.development (una tonelada de información sobre mundos de procedimientos basados ​​en mosaicos), las páginas de programación de juegos de AmitP (consulte "Otros temas") y por último, pero no menos importante, el contenido de procedimiento Wiki Generación .


Ninguno de estos métodos tiene en cuenta el propósito de juego del mapa. Cualquiera de estos métodos podría generar terribles mapas de juego. Por supuesto, el OP no dijo cómo sería un buen mapa, así que ...
Nicol Bolas

66
@NicolBolas Exactamente. El OP necesita algo para continuar. No necesito escribir un ensayo completo para cada respuesta (aunque la evidencia muestra que lo hago con la frecuencia suficiente).
Ingeniero

De acuerdo, "jugable" es un heurístico que le queda a OP. "Jugable" es una capa por encima de la generación real de un "mundo aleatorio", y no es requerido por la pregunta original.
Patrick Hughes

6

La generación procesal es un tema inmenso. ¿Qué tan profundo estás dispuesto a ir?

Las respuestas de Nick Wiggill son de primera categoría. Añadiría a eso sugiriendo que mire algunos métodos matemáticos para crear un terreno aleatorio coherente.

El ruido Perlin ofrece una excelente manera de crear una aleatoriedad suavizada y funciona muy bien para todo tipo de terrenos. Simular la erosión puede dar una impresión realista de altura (aunque es posible que no lo necesite ya que está haciendo un juego basado en fichas)

Muchas de las técnicas discutidas en documentos como este por Oddlabs , creadores de Tribal Trouble, funcionan bien en 2D y también a bajas resoluciones. Si se siente más cómodo con este tipo de enfoque, vale la pena aprender estas técnicas.


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.