Red de conocimiento informático - Aprendizaje de código fuente - Análisis del impacto relativo de la suerte diaria y la suerte BUFF en "Stardew Valley"

Análisis del impacto relativo de la suerte diaria y la suerte BUFF en "Stardew Valley"

¿Cuál es el impacto relativo de la suerte diaria y la suerte BUFF en Stardew Grain? Es posible que algunos jugadores no lo tengan muy claro. Echemos un vistazo al análisis del impacto relativo de la suerte diaria y la suerte BUFF en “Stardew Valley”.

Análisis del impacto relativo de la suerte diaria y la suerte BUFF en "Stardew Valley"

Recientemente, los jugadores novatos han preguntado qué tan grande es la diferencia en el impacto de la suerte BUFF y la suerte diaria. en eventos ? También hay algunas disputas entre amigos. Aunque apliqué directamente la descripción de la suerte de Wiki, es cierto que Wiki no explicó de dónde provinieron estos datos. Entonces iré directamente al código fuente.

Primero muestre el modelo de suerte propuesto por Wiki

En pocas palabras, la suerte se divide en suerte diaria y suerte de mejora. Cada ****uff es [-0.1, 0.1] aleatorio. número. Para algunos eventos, ambos factores afectan conjuntamente la probabilidad de ocurrencia, y para algunos eventos, uno de ellos afecta la probabilidad de ocurrencia. Pero la wiki dice:

Un aumento de 0,01 en la suerte diaria generalmente significa un aumento en la probabilidad de que ocurra un evento aleatorio en aproximadamente 1.

Un valor de suerte de 1 significa que la probabilidad de que ocurra un evento aleatorio aumenta en aproximadamente 1.

Un valor de suerte de 1 significa que la probabilidad de que ocurra un evento aleatorio aumenta en aproximadamente 1.

Esta afirmación tiene varios niveles:

Para la mayoría de eventos, podemos aplicar un modelo simple:

En el primer nivel, cada 0,01 de suerte diaria aumentará la probabilidad de eventos aleatorios en 1

Segundo nivel, cada 1 BUFF de suerte aumentará la probabilidad de eventos aleatorios en 1

Tercer nivel, dos tipos de suerte No se cancelarán entre sí

En el cuarto nivel, para los eventos afectados por la suerte, el impacto de la suerte diaria y la suerte BUFF puede ser diferente. Por un lado, esto es consistente con la primera y segunda capa. Por otro lado, algunos eventos pueden tener coeficientes adicionales para ajustar la influencia de los dos tipos de suerte.

Para aquellos que tienen coeficientes adicionales. Para ajustar los eventos de influencia, esta publicación proporcionará un análisis aproximado de estas situaciones especiales al final. El objetivo principal de esta publicación de blog es demostrar que en formas no especiales, la relación de impacto entre los dos es de 1 a 100

En github, busqué directamente el código fuente. También puedes usar reflector para descompilar, pero eso es demasiado problema para mí

Hay alrededor de cien archivos que aún no he subido, y he mirado alrededor de cincuenta o sesenta que pueden contener el archivo de palabras clave luk. El archivo más largo tiene decenas de miles de líneas. Lo he estado leyendo durante más de una hora y estoy casi mareado.

La primera es la evidencia más crítica

Mire el archivo Game1.cs. La versión de este archivo es 1.5.4. Se actualizó hace solo cinco días, por lo que. Se puede garantizar que sea la última

En la línea 8243 del archivo, podemos ver cómo se calcula el valor de la suerte diario

La función se puede simplificar a min(0.1, (). double)random(-100 , 101)/1000)

Es decir, el valor menor entre 0,1 y (double)random(-100, 101)/1000

. El valor más pequeño entre 1 y (doble)aleatorio(-100, 101)/1000

(doble) significa que aleatorio(-100, 101)/1000 es un tipo de coma flotante de doble precisión

aleatorio(-100, 101) significa generar aleatoriamente un número entre -100 y 101

Excepto que 1000 equivale a un número seleccionado aleatoriamente entre -0,1 y 0,101.

Esta vez muestra el valor de la función min. Una vez que el número es mayor que 0.101, se tomará el menor de 0.1 y este número, que es 0.1.

Es decir, esta línea en realidad representa la suerte diaria. El valor es un número de coma flotante de doble precisión entre -0,1 y 0,1, que es exactamente igual a la definición en la wiki.

A continuación verás el archivo GameLocation.cs, que también está actualizado.

Ver línea 11606 de este archivo

ChanceModfier es una función que cuantifica la probabilidad de un evento generador de suerte, a partir de la cual podemos analizar el impacto relativo de la suerte diaria y la suerte BUFF.

ChanceModifier agregará algunos términos adicionales a las diferentes funciones, este se trata de minería y experiencia, por lo que habrá un nivel de minería adicional en la expresión.

Aquí ChanceModifer = suerte diaria/2.0 buff suerte * 0.001 c

c es una constante que no nos importa

buff La suerte siempre es positiva entero, entonces esto afecta la probabilidad de 1 en 1000

Entonces, ¿cuál es el rango de la Suerte Diaria? -0,1 a 0,1

En este punto puedo ver dónde radica el desacuerdo, el enano pregunta sobre la suerte del iridio y, según tengo entendido, la suerte del iridio (suerte diaria) cuenta como costo de oportunidad, lo que significa que la distancia entre La peor y la mejor suerte son función de la buena suerte (la suerte positiva siempre es positiva, por lo que no hay ambigüedad en este punto). Desde esta perspectiva, de hecho hay 0,05 de suerte por cada 0,1 de suerte, pero ese es solo el semieje positivo. Creo que la distancia entre los más desafortunados y los más afortunados se llama más afortunado, y luego este valor debe multiplicarse por 2 debido a el origen Se convierte en -0,1, lo que significa que cada golpe de suerte cada día afecta la probabilidad en 0,1.

Por lo tanto, uno es 1 parte a 0,1 y el otro es 1 parte a 0,001, el impacto relativo es efectivamente de 1 a 100.

Sin embargo, si se interpreta al más afortunado como del que es el más afortunado; del medio al más afortunado, o la distancia del medio al más desafortunado, entonces la proporción de influencia de uno es de 1 a 50. Personalmente, tengo reservas sobre esta definición, porque claramente no es la longitud del subintervalo más grande que se puede encontrar en este intervalo, y para un intervalo asimétrico me parece contradictorio. Pero también creo que esta definición tiene mérito y es una explicación razonable; la llamada cresta vista de lado y los picos de lado son, al fin y al cabo, sólo la comprensión de la definición por parte de una persona. Soy estudiante de informática y tengo algunas nociones preconcebidas sobre números, intervalos o conceptos en el campo de la informática.

Aunque Wiki y yo hemos elegido la misma definición, esta definición tiene ambigüedades e incluso el valor a veces no es 50 o 100

Ver línea 417 de event.cs, esto también es lo último

Hay una tasa de pérdida de artículos en esta línea, que debería referirse a la probabilidad de perder artículos después de la muerte

tasa de pérdida de artículos = 0,25-BUFF valor de la suerte *0,05-valor de la suerte diario

Puedes ver que el impacto relativo aquí es 20.

No estoy seguro de si esto significa una probabilidad independiente para cada elemento o una probabilidad para todos los elementos, o si es una probabilidad base pero los elementos se afectan entre sí.

Pero lo que es seguro es que no importa cuál sea la situación, si la probabilidad de que cada artículo se pierda es 0, entonces no se perderá ningún artículo.

Esto lleva a una conclusión interesante. Si tu valor de suerte diario es Iridium, Venus o absolutamente neutral, mientras comas una piruleta (valor de suerte de 5 buff), la probabilidad de perder objetos será mayor que. o igual a 0. Si está interesado, puede probarlo. Por supuesto, no hay garantía de que la probabilidad se ajuste en diferentes archivos o se cambie al llamar.

PD: Absolutamente neutral y neutral no son lo mismo. La neutralidad absoluta significa que la suerte diaria es exactamente 0. Neutral significa que la suerte diaria es un número distinto de cero entre -0,02 y 0,02

A veces el porcentaje es incluso menor, pero esto es sólo un caso extremo

Carpeta de ubicaciones Este es el caso de el archivo MineShaft.com. Archivo MineShaft.cs #2361

En contexto, debería ser después del nivel 130 de Desert Mine (o posiblemente del nivel 10, dependiendo de si el nivel de Desert Mine cuenta como Mine 121 en la versión actual)

p >

Existe un parámetro para obtener gemas dobles, es decir, 0,01 Suerte diaria/10 Mejora de la suerte/100

El impacto relativo de las dos es de 1 a 10, por lo que es fácil provocar un malentendido. aquí. Si las Lucky Buffs son tan efectivas, ¿no sería muy efectivo acumular Lucky Buffs en estos eventos con una proporción relativamente alta? De hecho, no necesariamente. Este tipo de efectividad solo es efectiva para cada **BUFF. Si los coeficientes multiplicados por dos son muy pequeños, entonces el impacto de los dos será muy pequeño. Tomemos aquí como ejemplo, este BUFF de la suerte de 10 con estrella de iridio completa todavía solo tiene una probabilidad lamentable de 12.