Las preguntas relacionadas con este tema pueden incluir:
- ¿Cómo debería basar la cantidad de puntos de experiencia que se necesitan para llegar al siguiente nivel?
- ¿Qué factores están involucrados en esto?
- ¿Cómo mantengo al jugador no entretenido el tiempo suficiente hasta que suba de nivel?
- ¿Cómo puedo variar la forma en que el jugador obtiene puntos de experiencia?
Respuestas:
En términos generales, estos se realizan como curvas vagamente exponenciales. http://kol.coldfront.net/thekolwiki/index.php/Advancement#Advancement_Requirements_Overview muestra las fórmulas para Kingdom of Loathing, que son bastante estándar para el género MMO.
fuente
De hecho, cubro este mismo tema cuando hablo de las relaciones numéricas en los juegos: http://gamebalanceconcepts.wordpress.com/2010/07/14/level-2-numeric-relationships/
Puedes hacerlo como quieras, aunque generalmente está en una curva creciente (por lo que cada nivel requiere más XP que el anterior), porque los encuentros / misiones tienden a dar más XP a medida que avanzas.
La clave no es concentrarse únicamente en la curva de nivel de XP o la curva de XP por encuentro, sino compararlas. Si la curva de nivel de XP aumenta más rápido que XP por encuentro, el jugador notará que está ganando niveles más lentamente con el tiempo, lo cual es bastante estándar para el género. Sin embargo, el peligro es que si los niveles suben DEMASIADO y muy lejos en el final del juego, entonces el último recuerdo del jugador de tu juego será una rutina colosal, que probablemente tampoco quieras. Así que averigua cuántos encuentros por nivel son aceptables en el juego final y cuántos encuentros por nivel quieres en el juego temprano, e interpola desde allí.
Además, debo mencionar que PUEDES tener sistemas de recompensa superpuestos además de XP / Levels. Algunos juegos de rol tienen puntos de trabajo (por lo que tiene múltiples sistemas de nivelación / avance), por lo que podría pasar un tiempo entre (digamos) subir de nivel su habilidad de lucha o su habilidad de curación, pero con suficientes cosas diferentes para subir de nivel, siempre son solo unos pocos minutos lejos de aumentar ALGO. Otros juegos de rol tienen caídas aleatorias de artículos / equipos, por lo que cada nuevo encuentro no solo da XP, sino también una pequeña posibilidad de generar un botín épico, por lo que obtienes algunas recompensas aleatorias adicionales solo por jugar.
fuente
Yo diría que depende, al menos parcialmente, del tipo de experiencia que desea crear para el jugador. Considere dos ejemplos, el primero de los cuales es un juego de rol clásico por turnos, el segundo es un juego de disparos tipo Gradius III , en el que le gustaría que el poder del jugador se escale en función del progreso desde su muerte en la lista, no en potenciadores (no decir que es un buen sistema, solo un ejemplo).
En el caso del juego de rol, su sistema probablemente opera bajo el supuesto de que un jugador nunca pierde experiencia. Del mismo modo, probablemente querrá actuar basándose en el supuesto de que es relativamente fácil obtener cierto nivel de competencia en algo, pero difícil de dominar (como la mayoría de las cosas en el mundo real). En este caso, es posible que desee desarrollar una fórmula (como sugiere coderanger) que es exponencial en algún aspecto. Donde la cantidad de experiencia requerida para alcanzar el siguiente nivel se basa de alguna manera exponencial en su nivel actual. Es importante tener en cuenta, sin embargo, la velocidad a la que su jugador recibirá experiencia mientras juega. Por ejemplo, un jugador que mata a un Demonio de Fuego de nivel 63 esperaría recibir más experiencia por su muerte que si hubiera matado a una Lady Bug de nivel 2. Entonces, al diseñar tu fórmula, asegúrese de tener en cuenta su sistema XP. Particularmente porque si no lo haces, entonces matar a la mariquita será tan rentable como matar enemigos más duros.
Ejemplo 1 (Probablemente no sea un formulario que usaría): XP_TO_LEVEL = ((CURRENT_LEVEL + 1) ^ SCALE) * XP_BASE
Ejemplo 2: XP_TO_LEVEL = (XP_BASE * CURRENT_LEVEL) ^ SCALE
Donde XP_TO_LEVEL es el XP necesario para alcanzar el siguiente nivel. CURRENT_LEVEL es el nivel actual del jugador. XP_BASE es un número arbitrario para decidir cuánto vale cada nivel en XP. SCALE es el exponente que determina qué tan rápido escalar el XP necesario para nivelar. Si SCALE es 1, cada nivel tendrá experiencia XP_BASE. Si SCALE es inferior a 1, cada nivel requerirá menos experiencia que el último nivel. Si la ESCALA es mayor que 1, cada nivel requerirá más experiencia que el último nivel.
La siguiente tabla asume una ESCALA de 1.1 y una XP_BASE de 100 usando el ejemplo 2.
Ejemplo 3: XP_TO_LEVEL = ((CURRENT_LEVEL * SCALE) ^ 1.5) * XP_BASE
Donde ESCALA sigue determinando qué tan rápido escalar el XP_TO_LEVEL, pero funciona de manera un poco diferente.
La siguiente tabla supone una ESCALA de 22 y una XP_BASE de 10 utilizando el ejemplo 3.
En el caso del clon de Gradius, puede tomar una estrategia diferente. Es posible que desee que el jugador suba de nivel constantemente, digamos cada dos minutos. Además, después de que una jugada haya perdido una vida y, en consecuencia, haya perdido todos sus poderes ganados, es posible que desee ayudarlo a subir de nivel más rápido hasta que alcance un nivel adecuado para su progreso en el juego. En este caso, su fórmula probablemente será más lineal, especialmente porque el usuario no puede ver cuánta experiencia está obteniendo por asesinato. Algo así, se necesitan 50 XP para alcanzar un nuevo nivel y cada enemigo vale 1 XP. Esto funciona muy bien siempre que le estés proporcionando un flujo relativamente constante de enemigos. Pero, cuando el jugador muere, ¡lo pierde todo! ¿Qué haces ahora? Cada enemigo debe valer más de 1 XP para cumplir con su objetivo de alcanzarlo para que el juego sea justo nuevamente.
Ejemplo: XP_FROM_EACH_ENEMY = BASE_XP + (CURRENT_LEVEL - DESIRED_LEVEL) Donde XP_FROM_EACH_ENEMY es la cantidad de XP que otorgaría un enemigo al morir. BASE_XP es la cantidad de XP que vale un enemigo por defecto (podría variar según el tipo de enemigo). CURRENT_LEVEL es el nivel del jugador DESIRED_LEVEL es el nivel en el que crees que debería estar el jugador.
fuente
Personalmente lo uso.
C / (A x B)
Donde: A = Tiempo para un encuentro / asesinato (promedio de enemigos fáciles, normales y difíciles) B = Exp por asesinato. (promedio de enemigos fáciles, normales y difíciles) C = Tiempo empleado para que el jugador suba de nivel.
Nota: Todos estos son relativos al ritmo y al punto en el juego.
Creo que puede ser muy simplista, pero tenga en cuenta que también configura los otros elementos. Mediante el uso de una ecuación simple, puede adaptarse fácilmente a los cambios a mitad de camino.
fuente