Hay muchos temas sobre cómo funciona la generación de procedimientos, pero no pude encontrar ninguna información sobre cómo probar y, lo que es más importante, cómo informar errores que pueden ocurrir en niveles generados por procedimientos. ¿Cuál es la mejor manera de describir un error, por ejemplo, relacionado con el diseño de niveles, en un mapa que se verá diferente cada vez que juegues un juego nuevo? ¿Qué información debe incluirse en el informe de errores para que sea más fácil reproducirlo para el diseñador de niveles, el artista de niveles, etc. y luego también durante el proceso de regresión?
EDITAR: Vale la pena mencionar que el juego, que estoy preparando para probar, está en una fase muy temprana de desarrollo y está cambiando constantemente junto con los sistemas responsables de generar niveles. El propósito de esta investigación es aprender cómo describir errores (qué información incluir en el informe) para que la regresión en un entorno cambiante sea lo más lenta y efectiva posible.
Respuestas:
También puede ser muy útil cuando su algoritmo de generación de mapas es determinista y repetible en función de un valor inicial. Entonces, cuando ingresa el mismo valor semilla, obtiene el mismo mapa. Esto podría ser más fácil de implementar de lo que piensas. La mayoría de las API de generación de números aleatorios se pueden inicializar con un valor semilla y luego generar siempre la misma secuencia de números aleatorios para la misma semilla. Si está utilizando una de las pocas plataformas donde este no es el caso (como JavaScript basado en navegador), podría implementar su propio generador de números aleatorios. Existen muchos algoritmos que no son muy difíciles de implementar y generalmente siempre requieren un valor semilla.
Sus evaluadores pueden mencionar la semilla del mapa en sus informes de errores. Un informe de error como "Los árboles crecen en medio de un lago" puede tener una instrucción de reproducción "Genere un mapa con la semilla a4f6dd32 y vaya a la posición 4321500: 1269100". Después de verificar esto, puede establecer un punto de interrupción del depurador condicional en su algoritmo de generación de mapas que se active en el fragmento de mapa afectado y verifique exactamente qué está sucediendo.
Un algoritmo determinista de generación de mapas también le permite implementar pruebas automatizadas. Puede tener varias semillas de prueba con salidas conocidas y luego hacer que sus pruebas automáticas verifiquen si esa salida sigue siendo la misma después de que haya realizado algunas mejoras de rendimiento en su algoritmo de generación.
fuente