De nuevo una pregunta relacionada con ecuaciones, esta vez es para saber con que fórmula puedo crear una curva de experiencia cuyo funcionamiento permita volver hacia atrás.

Explico, tengo la fórmula para una curva exponencial de experiencia, pero al restar puntos de experiencia por evento la fórmula empieza a fallar. ¿Cómo hago para que se calcule bien el nivel si se suma o se resta experiencia?

Deberias poner la formula que usas para que alguien te pueda ayudar mejor.

#2 Marzo 31, 2020, 08:03:42 PM Ultima modificación: Marzo 31, 2020, 08:06:39 PM por Haku-shinigami
Cita de: 3dgeminis en Marzo 31, 2020, 04:41:56 PM
Deberias poner la formula que usas para que alguien te pueda ayudar mejor.
Mi fórmula es esta:

if CurrentXP >= MaxLevlXP
{
MinLevlXP = MaxLevlXP
CurrentLV += 1
MaxLevlXP=round(xpbas*(CurrentLV)+CurrentLV*2+acc_a*exp(CurrentLV/8))
}

Vale, bastante atrevido. Estas diciendo que quieres que sea posible que los personajes puedan perder experiencia y bajar de nivel.
¿Y cuando debe ocurrir eso?¿En una escena de la aventura?¿Como penalización por un Game Over? Aunque por lo que dices en tu pregunta, me imagino que quieres hacer algo plan que al comenzar el juego exista un personaje que esta ya por el nivel 11 cuando el resto empieza a nivel 1, pero que tras vencer al jefe del tutorial, haya una cinematica donde le hagan perder 5 niveles.
Si es algo así, lo más sencillo es usar este código sobre el personaje:

CurrentLV-=5
ajusta()
CurrentXP=0
MaxLevlXP=round(xpbas*(CurrentLV)+CurrentLV*2+acc_a*exp(CurrentLV/8))

El script "ajusta()" tiene la función de cambiar las estadisticas del personaje. En tu pregunta anterior ya te mostre una formula con la que determinar las estadisticas de cada personaje según su nivel, y este script se encargaría de dicho ajustado con cada subida de nivel. De la misma forma, usamos ahora "ajusta()" para el degradado de estadisticas que supone esta bajada de nivel.

Cita de: Marth en Abril 01, 2020, 12:34:03 PM
Vale, bastante atrevido. Estas diciendo que quieres que sea posible que los personajes puedan perder experiencia y bajar de nivel.
¿Y cuando debe ocurrir eso?¿En una escena de la aventura?¿Como penalización por un Game Over? Aunque por lo que dices en tu pregunta, me imagino que quieres hacer algo plan que al comenzar el juego exista un personaje que esta ya por el nivel 11 cuando el resto empieza a nivel 1, pero que tras vencer al jefe del tutorial, haya una cinematica donde le hagan perder 5 niveles.
Si es algo así, lo más sencillo es usar este código sobre el personaje:

CurrentLV-=5
ajusta()
CurrentXP=0
MaxLevlXP=round(xpbas*(CurrentLV)+CurrentLV*2+acc_a*exp(CurrentLV/8))

El script "ajusta()" tiene la función de cambiar las estadisticas del personaje. En tu pregunta anterior ya te mostre una formula con la que determinar las estadisticas de cada personaje según su nivel, y este script se encargaría de dicho ajustado con cada subida de nivel. De la misma forma, usamos ahora "ajusta()" para el degradado de estadisticas que supone esta bajada de nivel.

De hecho el propósito es intercambiar puntos de experiencia por un servicio en el juego, proporcionalmente al nivel. Esa parte no es problema, sino el retroceso de puntos de experiencia en caso de que apenas subieras al nivel.

Probaré la fórmula a ver que tal resulta ouo grazie!