¿Cómo implementar un sistema de experiencia?

14

Actualmente estoy escribiendo un pequeño juego que se basa en ganar experiencia al matar enemigos. Como de costumbre, cada nivel requiere más ganancia de experiencia que el nivel anterior, y en niveles más altos, matar enemigos otorga más experiencia.

Pero tengo un problema para equilibrar este sistema. ¿Hay algún algoritmo preconstruido que ayude a calcular cómo debería ser la curva de experiencia requerida para cada nivel? ¿Y cuánta experiencia debería proporcionar un enemigo promedio en un nivel específico?

RoflcoptrException
fuente

Respuestas:

14

Desearía algún tipo de curva exponencial, probablemente algo como:

base_xp * (level_to_get ^ factor)

base_xp es una constante que decide cuánto xp necesitas para subir un nivel.
level_to_get es el nivel al que apunta; en el nivel 1, este será el nivel 2.
factor es otra constante que decide cuánto aumento de XP necesitas para cada nivel.

Tener una base_xp de 200 y un factor de, digamos, 2 da algo como esto:

ingrese la descripción de la imagen aquí

Mientras que una base_xp de 50 y un factor de 2.6 da:

ingrese la descripción de la imagen aquí

El segundo tiene una tasa de xp inicial mucho más baja, pero necesita más xp muy rápidamente.

En cuanto a monster xp, esto es algo que quieres probar. Prueba varios valores. Desea algo que no sea demasiado alto (se convertirá rápidamente en dominado) pero no demasiado bajo (los jugadores no quieren moler). Piensa en cuántos enemigos 'estándar' te gustaría que matara el jugador para el nivel 10-> 11, por ejemplo.

El pato comunista
fuente
3
Es posible que desee una curva más nítida que las de aquí. RuneScape , por ejemplo, tiene una curva muy empinada, casi parecida a una curva logarítmica (volteada / rotada, por supuesto); Véalo aquí . Al menos en mi experiencia personal, parece que funciona MUY bien para darte muchas recompensas rápidas al principio, y para cuando llegas a niveles más altos, estás ajustado a tiempos de juego más largos hasta que los últimos niveles tomen PARA SIEMPRE, pero el jugador de alguna manera lo tolera ¡Los 99 son bastante frecuentes, a pesar de los STEEP! curva para llegar allí.
Ricket
Ciertamente diría que las curvas aquí serían poco profundas.
El pato comunista
por favor no exp. curve =, (- la nivelación lleva muuuucho tiempo y aún más cuanto más cerca esté de su objetivo, plssss no =. (
Dave O.
Una línea lineal no funcionaría. Si necesita 1000xp más por nivel, entonces, a medida que se fortalezca, descubrirá que le toma cada vez menos tiempo subir de nivel.
El pato comunista
1
La función que se muestra ( base_xp * (level_to_get ^ factor)) es en realidad una función cuadrática ya que level_to_getes el valor xy no el factor, y si no me equivoco, ¿ base_xpdebería agregarse y no multiplicarse para traducir la función hacia arriba? Lo siento si solo soy exigente con la semántica, solo quiero asegurarme de esto porque trazar esa función definitivamente no te da ningún exponencial antiguo.
Chockie
6

No hay una respuesta correcta para la pregunta de cuánta experiencia debería dar un enemigo, o qué tan empinada debería ser la curva de experiencia. Puede ser útil pensar en el tiempo de juego requerido para subir de nivel para cada nivel y luego basar la experiencia requerida por nivel, y la experiencia promedio recompensada por enemigo en esto.

Este artículo es un desglose detallado de la nivelación de las matemáticas en Lineage II. http://web.archive.org/web/20100303164314/http://www.tstonramp.com/~mykel/lineage/

CiscoIPPhone
fuente
1
No puedo votar esta respuesta lo suficiente. Por ejemplo, no hay ninguna razón por la que deba existir una curva real para las diferentes cantidades de experiencia por nivel, ya que puede reducir la cantidad de experiencia que un enemigo le brinda en relación con su propio nivel para obtener el mismo efecto pero números más manejables . No hay un sustituto real para comprender tu propio sistema de combate y cómo quieres que juegue el juego, y luego adaptar el sistema de experiencia a eso.
Kylotan
44
Este enlace no existe. Aquí hay un viejo enlace que funciona: web.archive.org/web/20100303164314/http://www.tstonramp.com/…
Daniel Kaplan
Esto es exactamente por qué no enlazamos a páginas; no puedes garantizar que siempre existirán. Voté y marqué tu respuesta.
Krythic
@Krythic Actualicé el enlace.
CiscoIPPhone