¿Cuáles son algunos de los algoritmos comunes y estrategias de diseño utilizados por los desarrolladores de juegos sin fin?

Un patrón de diseño que veo en la generación de niveles de procedimiento más sofisticados implica anidar objetos modulares a lo largo de diferentes capas del alcance de la organización. Los objetos pueden incluir una pizca de aleatoriedad para que las cosas parezcan novedosas cuando en realidad son solo permutaciones estadísticas en una matriz más grande.

Un Fractal de Mandelbrot ilustra este principio muy bien de una manera débilmente interactiva.

Spelunky divide un nivel en salas de 4 × 4, cada una con una plantilla que tiene que encajar en un camino de lego desde la sala de inicio hasta la sala de salida. La plantilla de cada habitación contiene una cadena que define la cuadrícula de mosaicos de esa habitación; diferentes personajes marcan el espacio abierto, el espacio sólido, otras fichas de juego elementales e incluyen variaciones aleatorias. El juego solo tiene un conjunto relativamente pequeño de fichas, tesoros y entidades elementales, pero los organiza a lo largo de al menos 5 capas (nivel, sala, ficha, tesoro, entidad) para acercar desde una idea de arriba hacia abajo del flujo de nivel, al diseño del nivel táctico, a los elementos, a las entidades que interactúan con los elementos, a las recompensas que justifican el riesgo de tratar con las entidades.

Spelunky va un paso por encima de los juegos como Diablo, donde hay objetos modulares pero solo tienen un nivel plano de complejidad definido por su poder de ataque o clasificación de armadura y algunos modificadores especializados como curación o daño por ácido. Su modularidad le permite producir simultáneamente variaciones en el flujo de nivel (¿qué tan abiertas tienden a ser las plantillas de la sala? ¿Es este un nivel de caída libre? ¿Un camino restringido? Una bifurcación estructurada que requiere que las bombas crucen en 3 de los 4 niveles? Luego, dentro de cada uno de esos patrones espaciales, tienes todos los trucos y sorpresas de las variaciones del módulo. Las entidades agregan presión de tiempo debido a su movimiento que se combina con la capacidad del jugador para adaptarse a la información imperfecta de lo que habrá en la habitación de al lado , cosas como trampas y picos agravan el riesgo. Finalmente, una damisela para recuperar la salud, un puñado de oro, un objeto raro, algunas bombas, una capa en el equilibrio de recursos.

El proceso de equilibrar un sistema como ese es más difícil que el contenido modular que solo tiene interacción lineal. Por ejemplo, podría equilibrar las armas de Diablo generando sus estadísticas de acuerdo con una fórmula que se escala logarítmicamente con la progresión, por lo que la suerte ofrece menores retornos y lo importante de la elaboración se incrementa para mantener una ventaja (las tasas de caída de los objetos de elaboración se pueden equilibrar para apoyar esa transición a mitad del juego). En Spelunky, el dinamismo del sistema va mucho más allá de lo que la idea del equilibrio del juego de la mayoría de los diseñadores puede obtener. El equilibrio de las recompensas de monedas en Farmville requiere una hoja de cálculo con algunas páginas, algo de aritmética y algunas BUSCACIONES. Equilibrar el poder de las caídas de artículos en un clon de Diablo implicaría mirar STDEV y MEDIANOS derivados de los rangos, y podría cambiar algunas constantes que regulan los rangos y promedios a medida que aumentan los niveles de experiencia, para darle la maquina tragamonedas y la suavidad que deseas. ¿Qué tipo de hoja de cálculo vas a hacer para Spelunky? Podría equilibrar la cantidad neta de elementos y entidades, y podría hacer algunas probabilidades de muerte basándose en el énfasis de la trampa y la entidad, y podría estimar la proporción de oportunidades de bombas por bombas encontradas para reducir las recompensas estimadas obtenidas como el número de las barreras en una generación de nivel dado aumenta, luego calcula el rango de dificultad que la mayoría de las personas lograría y esculpe eso a la progresión y la velocidad que deseas.

Pero Derek Yu no necesitaba hacer nada de eso, simplemente probó e iteró, porque el valor de la precisión matemática disminuye cuando aumenta el factor caos. Estimación valiosa … que podría ser el sucesor de próxima generación para los diseñadores de juegos corporativos que fijan los precios de los bienes virtuales en base a una escasez estimada de moneda virtual en la fecha X, ¿sabes a qué me refiero?

Tomar este tipo de juegos en línea y aplicar análisis rigurosos de las nubes de comportamiento probable dentro de diferentes rangos de parámetros de nivel generado, tal vez eso también podría ser interesante.

Hablé con los creadores de Desktop Dungeon, Dwarf Fortress y Inside a Star-Fille Sky, y simplemente usaron las pruebas de juego para equilibrarse. Jason Rohrer mencionó mantener estadísticas sobre dónde los usuarios de múltiples jugadores colocaron sus banderas, y redujo la dificultad en ciertos aspectos (como elementos dentro de los elementos) para iluminar un rango más amplio de banderas. Pero en general, se trata de pruebas intuitivas de la vieja escuela.

Tal vez hay algo en su subconsciente que está procesando datos a un nivel que aún no se ve en nuestra tecnología automatizada, dándoles una estimación cada vez mejor de la interacción entre los objetos generados. Me pregunto si podemos aplicar lo mejor de la analítica aplicada con contenido de procedimiento y hacer algunas cosas realmente sorprendentes.

Voy a intentarlo con un sistema de creación muy pronto. Estoy anidando elementos modulares, pero su modularidad es muy limitada, por lo que podrá cocinar con ingredientes variables o hacer compost con materiales variables. Para que pueda elaborar un alimento que se define por lo que el cerdo comió en qué suelo de calidad.

Lecturas adicionales sobre otras técnicas:

http://en.wikipedia.org/wiki/Per…

http://en.wikipedia.org/wiki/A*_…

http://pcg.wikidot.com/articles