Cómo equilibrar la experiencia ganada en un juego de rol

10

Actualmente estoy desarrollando un juego de rol con una mecánica clásica de puntos de experiencia y niveles. El jugador mata monstruos, gana puntos de experiencia, sube de nivel cuando recoge lo suficiente y se vuelve más fuerte.

¿Cómo equilibro la cantidad de puntos Exp necesarios para alcanzar cada nivel y la cantidad de Exp otorgada por cada monstruo en cada nivel?

Philipp
fuente
Gracias por publicar. Creo que las preguntas de auto respuesta para compartir información son geniales. Sin embargo, creo que la pregunta debería poder sostenerse por sí sola. Si esta pregunta se publicó sin la respuesta, probablemente se cerraría como demasiado amplia. ¿Tal vez pueda modificar un poco la pregunta para incluir más requisitos y especificar el problema exacto que encontró? La pregunta es muy amplia en este momento y la respuesta es esencialmente "depende de lo que quieras".
MichaelHouse

Respuestas:

18

La mejor manera de llegar a una conclusión a este respecto es, al igual que con la mayoría de las cosas en el desarrollo del juego, primero pensar en cómo quieres que juegue el juego , y luego inventar las matemáticas que darán lugar a un juego así.

¿Cuánto tiempo quieres que juegue el jugador en cada nivel?

En un juego de rol para un jugador centrado en la historia, es probable que desee mantener los niveles como una secuencia de recompensa constante y que el jugador suba de nivel cada pocos minutos durante todo el juego. La tasa de nivelaciones permanece constante, por lo que su función de minutos por nivel es constante ( time = c).

En un juego más centrado en los logros, como un MMORPG, generalmente quieres que los niveles sean frecuentes para los principiantes, pero cada vez son menos frecuentes a medida que avanza el jugador. En ese caso, su función de minutos por nivel sería polinomial ( time = Level ^ c) o incluso exponencial ( time = c ^ Level). Sin embargo, tomar el número de nivel como está en una fórmula exponencial suele ser demasiado extremo. Puede ser una buena idea dividirlo por una constante para hacer que el aumento sea mucho más lento mientras se mantiene exponencial ( time = c1 ^ (1 + Level / c2)).

Te recomendaría que uses una hoja de cálculo para calcular los números. Cree una tabla con una columna con los números del 1 al nivel máximo esperado, y una segunda columna con la fórmula del nivel. Esto le permite experimentar fácilmente con diferentes fórmulas para encontrar números que sean de su agrado. ¿Quizás obtenga mejores resultados cuando combina un polinomio con un componente exponencial?

Recuerda que estás viendo el tiempo de combate neto aquí. El tiempo de juego que el jugador acumula activamente puntos de experiencia. No cuenta el tiempo que el jugador pasa hablando con los NPC, comparando su equipo y haciendo otras tareas que no causan progreso directamente.

En mi juego actual (un MMORPG) se me ocurrió la fórmula seconds(level) = 10 ^ (1 + Level / 20). Los primeros niveles solo toman segundos de combate real (gratificación muy instantánea durante la fase de tutorial), los niveles 20-40 toman minutos, en los años 50 se convierten en horas por nivel y cuando se acerca al nivel máximo de 100, toma semanas enteras para ver Progreso.

¿Cuán diferente debe ser la recompensa de experiencia por enemigo?

Incluso cuando tus enemigos no tienen una estadística de nivel explícito (o significativo), querrás diseñarlos para que sean un desafío equilibrado para cierto nivel de personaje. Pero, ¿cuánta más experiencia debería recomendar un enemigo para recompensa de nivel 40 sobre uno recomendado para nivel 30?

La respuesta a esta pregunta está estrechamente relacionada con cuánto más poderoso es el personaje por nivel y qué tan lejos quieres permitir que estén delante o detrás de los enemigos actuales con su nivel de personaje.

Algunos sistemas de juego, como el de World of Warcraft, por ejemplo, hacen que no tenga sentido perseguir cualquier combate con un enemigo ligeramente por debajo o por encima del nivel del personaje del jugador. Cualquier cosa a solo unos pocos niveles arriba aniquilará al jugador, cualquier cosa a unos pocos niveles abajo no será ningún desafío (ni recompensa) en absoluto.

Un contraejemplo sería la serie Disgaea. En ese juego puedes derrotar fácilmente a los enemigos con varias veces el nivel de tus propios personajes cuando juegas de forma inteligente.

Cuanto más restrictivo quieras estar en el nivel, que es una pelea justa para el jugador, más necesitas para asegurarte de que el jugador no se quede atrás o avance el nivel de los enemigos con los que está luchando actualmente. Cuando el jugador se queda atrás de los enemigos, el juego se volverá frustrantemente difícil sin triturar. Cuando el jugador se adelanta a los monstruos, el juego será demasiado fácil y aburrido.

Una buena manera de mantener al jugador dentro del nivel es aumentar la recompensa de experiencia por nivel. Por un lado, permitirá al jugador ponerse al día fácilmente cuando estén ligeramente por debajo del nivel recomendado. Por otro lado, no les permitirá subir de nivel eficientemente en enemigos débiles sin progresar a un área más difícil.

Una curva de polinomio exp ( exp = Level ^ c) generalmente funciona bien. Cuanto mayor sea el valor de c, más obligas al jugador a entrar en el nivel actual de los monstruos que luchan.

Ten en cuenta que los enemigos que tardan más en derrotar también deberían proporcionar proporcionalmente más experiencia. Una batalla que dura 20 segundos debería dar el doble de experiencia que una que solo toma 10 segundos. Esto extiende su fórmula a exp = (Level ^ c) * minutes_per_combat.

La fórmula final de exp-por-nivel

La fórmula final ahora se puede derivar de los dos. El experience per leveles el time per level in minutesmultiplicado por el experience gained per minute. Así que solo toma las dos fórmulas que se te ocurrieron en las últimas dos secciones y multiplícalas. Ahí está: su fórmula de experiencia por nivel.

Con un aumento de tiempo polinómico por nivel, la fórmula sería

exp(level) = (level ^ c1) * (level ^ c2)

dónde

  • c1 depende de cuánto tiempo quieras que tome cada nivel
  • c2 depende de qué tan cerca quieres mantener al jugador al nivel de los enemigos que pelean

¿Qué puede salir mal?

Incluso el mejor concepto pensado no puede reemplazar las pruebas de juego adecuadas. Si su prueba de juego demuestra que los jugadores promedio progresan mucho más rápido o más lento de lo que desea, generalmente es una señal de que sobreestimó o subestimó los niveles recomendados de sus enemigos y cuánto tiempo le toma al jugador promedio matarlos. Intenta analizar junto con tus expertos en jugadas qué enemigos son difíciles de matar en cada nivel de personaje y ajusta su valor de exp o estadísticas en consecuencia.

Philipp
fuente