Comment déterminer la quantité d'expérience nécessaire pour passer au niveau supérieur

29

Les questions connexes sous ce sujet peuvent inclure:

  1. Comment dois-je calculer le nombre de points d'expérience nécessaires pour passer au niveau suivant?
  2. Quels sont les facteurs impliqués dans cela?
  3. Comment puis-je garder le joueur pas assez diverti jusqu'à ce qu'il monte de niveau?
  4. Comment puis-je varier la façon dont le joueur obtient des points d'expérience?

la source
Pourquoi le vote négatif?
+1 car j'ai passé beaucoup de temps à essayer différentes choses ici.
Casey
1
J'ai voté contre parce que je pensais que c'était une question beaucoup trop vague. Regardez la plupart des réponses - "il n'y a pas une seule formule", "vous pouvez le faire comme vous le souhaitez", "cela dépend du type d'expérience que vous souhaitez créer pour le joueur". Gee, pouvez-vous être plus ambigu ? Mais, apparemment, personne d'autre n'est d'accord avec moi, alors ça y est ...
Cyclops
@Cyclops: c'est comme ça afin que nous puissions déterminer les choses impliquées dans les points d'expérience. Préférez-vous avoir une tonne de questions basées sur des points d'expérience chaque fois qu'un individu pose des questions sur son jeu ou préférez-vous avoir une référence qui parle de tous les différents aspects que vous devez prendre en compte. J'ai accepté la réponse de coderanger car c'est un excellent point de départ.

Réponses:

13

D'une manière générale, celles-ci se font sous forme de courbes vaguement exponentielles. http://kol.coldfront.net/thekolwiki/index.php/Advancement#Advancement_Requirements_Overview montre les formules pour Kingdom of Loathing, qui sont assez standard pour le genre MMO.

coderanger
la source
Agréable! Je ne savais pas qu'il y avait une véritable équation!
Il n'y a pas une seule formule que tout le monde utilise, mais celles-ci devraient être un bon point de départ.
coderanger
Il est également important de prendre en compte l'XP que vous obtenez par rencontre, car cela jouera un rôle tout aussi important dans le temps nécessaire pour atteindre le niveau.
Henk
11

Je couvre en fait ce sujet même lorsque je parle des relations numériques dans les jeux: http://gamebalanceconcepts.wordpress.com/2010/07/14/level-2-numeric-relationships/

Vous pouvez le faire comme vous le souhaitez, bien que généralement sur une courbe croissante (chaque niveau nécessite donc plus d'XP que le dernier), car les rencontres / quêtes ont tendance à donner plus d'XP à mesure que vous progressez.

La clé n'est pas de se concentrer uniquement sur la courbe de niveau XP ou la courbe d'XP par rencontre, mais de comparer les deux. Si la courbe de niveau XP augmente plus rapidement que XP-par-rencontre, le joueur remarquera qu'ils gagnent des niveaux plus lentement au fil du temps, ce qui est assez standard pour le genre. Cependant, le danger est que si les augmentations de niveau deviennent TROP rares dans la finale, le dernier souvenir du joueur de votre jeu sera une mouture colossale, ce que vous ne voulez probablement pas non plus. Donc, déterminez combien de rencontres par niveau sont acceptables en fin de partie, et combien de rencontres par niveau vous souhaitez en début de partie, et interpolez à partir de là.

De plus, je dois mentionner que vous POUVEZ avoir des systèmes de récompenses qui se chevauchent autres que XP / Niveaux. Certains RPG ont des points de travail (vous avez donc plusieurs systèmes de mise à niveau / avancement), de sorte qu'il peut s'écouler un certain temps entre (par exemple) le renforcement de votre compétence de combat ou de votre compétence de guérison, mais avec suffisamment de choses différentes, la mise à niveau, vous n'êtes toujours que quelques-uns minutes loin d'augmenter QUELQUE CHOSE. D'autres RPG ont des objets / équipements aléatoires, donc chaque nouvelle rencontre ne donne pas seulement de l'XP, mais aussi une petite chance de générer un butin épique, donc vous obtenez des récompenses aléatoires supplémentaires juste pour jouer.

Ian Schreiber
la source
3

Je dirais que cela dépend, au moins partiellement, du type d'expérience que vous souhaitez créer pour le joueur. Prenons deux exemples, le premier est un RPG au tour par tour classique, le second est un jeu de tir de type Gradius III , dans lequel vous souhaitez que le pouvoir du joueur évolue en fonction des progrès accomplis depuis sa mort, et non pas des bonus (pas dire que c'est un bon système, juste un exemple).

Dans le cas du RPG, votre système fonctionne probablement sur l'hypothèse qu'un joueur ne perd jamais d'expérience. De même, il voudra probablement agir en supposant qu'il est relativement facile d'acquérir un certain niveau de compétence dans quelque chose, mais difficile à maîtriser (comme la plupart des choses dans le monde réel). Dans ce cas, vous voudrez peut-être développer une formule (comme le suggère coderanger) qui est exponentielle à certains égards. Où la quantité d'expérience requise pour atteindre le niveau suivant est en quelque sorte exponentiellement basée sur votre niveau actuel. Il est important de prendre en compte, cependant, la vitesse à laquelle votre joueur recevra de l'expérience en jouant. Par exemple, un joueur qui tue un démon de feu de niveau 63 s'attendrait à recevoir plus d'expérience pour sa mise à mort que s'il avait tué une coccinelle de niveau 2. Ainsi, lors de la conception de votre formule, assurez-vous de prendre en compte votre système XP. D'autant plus que si vous ne le faites pas, alors tuer la coccinelle sera tout aussi rentable que de tuer des ennemis plus durs.


Exemple 1 (probablement pas un formulaire que vous utiliseriez): XP_TO_LEVEL = ((CURRENT_LEVEL + 1) ^ SCALE) * XP_BASE

Exemple 2: XP_TO_LEVEL = (XP_BASE * CURRENT_LEVEL) ^ SCALE

Où XP_TO_LEVEL est l'XP nécessaire pour atteindre le niveau suivant. CURRENT_LEVEL est le niveau actuel du joueur. XP_BASE est un nombre arbitraire pour décider de la valeur de chaque niveau dans XP. SCALE est l'exposant déterminant la vitesse à laquelle le XP nécessaire pour évoluer. Si SCALE est égal à 1, chaque niveau prendra de l'expérience XP_BASE. Si SCALE est inférieur à 1, chaque niveau prendra moins d'expérience que le dernier niveau. Si SCALE est supérieur à 1, chaque niveau prendra plus d'expérience que le dernier niveau.

Le tableau suivant suppose une ÉCHELLE de 1,1 et une XP_BASE de 100 à l'aide de l'exemple 2.

Current Level   XP Needed   Increase from Last Level
1               158         0
2               339         181
3               530         191
4               728         198
5               930         202
...
10              1995        218

Exemple 3: XP_TO_LEVEL = ((CURRENT_LEVEL * SCALE) ^ 1.5) * XP_BASE

SCALE détermine toujours la vitesse de mise à l'échelle du XP_TO_LEVEL, mais il fonctionne un peu différemment.

Le tableau suivant suppose une ÉCHELLE de 22 et une XP_BASE de 10 à l'aide de l'exemple 3.

Current Level   XP Needed   Increase from Last Level
1               28          0
2               80          52
3               146         66
4               226         80
5               316         90
...
10              894         130

Dans le cas du clone Gradius, vous pouvez adopter une stratégie différente. Vous voudrez peut-être que le joueur monte de niveau de manière cohérente, disons toutes les deux minutes environ. De plus, après qu'un jeu a perdu une vie et par conséquent perdu tous ses pouvoirs gagnés, vous pouvez l'aider en le nivelant plus rapidement jusqu'à ce qu'il atteigne un niveau approprié pour sa progression dans le jeu. Dans ce cas, votre formule sera probablement plus linéaire, d'autant plus que l'utilisateur ne voit pas combien d'expérience il obtient par kill. Quelque chose comme, il faut 50 XP pour atteindre un nouveau niveau et chaque ennemi vaut 1 XP. Cela fonctionne très bien à condition que vous lui fournissiez un flux d'ennemis relativement constant. Mais, quand le joueur meurt, il perd tout! Que fais-tu maintenant? Chaque ennemi devrait valoir plus de 1 XP pour atteindre votre objectif de le rattraper afin que le jeu soit à nouveau juste.

Exemple: XP_FROM_EACH_ENEMY = BASE_XP + (CURRENT_LEVEL - DESIRED_LEVEL) Où XP_FROM_EACH_ENEMY est la quantité d'XP qu'un ennemi attribuerait en étant tué. BASE_XP est la valeur d'XP par défaut d'un ennemi (peut varier selon le type d'ennemi). CURRENT_LEVEL est le niveau du joueur DESIRED_LEVEL est le niveau auquel vous pensez que le joueur devrait être.

Anthony Compton
la source
2

Personnellement j'utilise.

C / (A x B)

Où: A = Temps pour une rencontre / kill (ennemis moyens faciles, normaux et durs) B = Exp par kill. (ennemis moyens faciles, normaux et durs) C = Temps passé par le joueur à monter de niveau.

Remarque: Tout cela dépend du rythme et du point dans le jeu.

Je pense que cela peut être très simpliste, mais notez que vous définissez également les autres éléments. En utilisant une équation simple, vous pouvez facilement vous adapter aux changements à mi-chemin.

Wight
la source