L'une des difficultés que j'ai toujours eues dans le développement de jeux consiste à décider comment mettre en œuvre les points d'expérience attribués à l'obtention d'un niveau. Il ne semble pas y avoir de motif pour atteindre un niveau dans la plupart des jeux auxquels j'ai joué. Je suppose donc qu’ils ont un tableau de dictionnaire statique qui contient les points d’expérience par rapport au niveau. par exemple
Experience Level
0 1
100 2
175 3
280 4
800 5
... Il n'y a pas de rime ou de raison pour laquelle 280 points équivalent au niveau 4, ça l'est tout simplement.
Je ne sais pas comment ces niveaux sont déterminés, mais ce ne serait certainement pas dynamique. J'ai aussi pensé à la possibilité de niveaux exponentiels, pour ne pas avoir à garder une table de recherche séparée, par exemple
Experience Level
0 1
100 2
200 3
400 4
800 5
1600 6
3200 7
6400 8
... mais il semblerait que cela deviendrait incontrôlable assez rapidement, car vers les niveaux supérieurs, les ennemis dans le jeu devraient fournir une énorme quantité d’expérience - et ce serait trop difficile à contrôler. Le nivellement deviendrait une tâche impossible.
Quelqu'un a-t-il des indicateurs ou des méthodes qu'il utilise pour décider comment niveler un personnage en fonction de son expérience? Je veux être juste dans le nivellement et je veux rester en avance sur les joueurs en évitant de devoir constamment ajouter de nouvelles expériences / niveaux de recherche.
la source
f'(x) = c*f(x)
) . Le terme "géométrique" est utilisé lorsque le domaine (entrée) est discret (par exemple, entier). La formule pour l'exemple de @ George, au-dessus du niveau 1,Experience = 100 * 2^(Level-2)
est exponentielle. La formule de votre progression, au-dessus du niveau 1, estExperience = 100^(Level-1)
également exponentielle.Réponses:
Il est assez courant d'utiliser une relation carrée.
level = constant * sqrt(XP)
Ou l'équivalent approximatif d'un écart de niveau en augmentation linéaire.
Ces systèmes fonctionnent plutôt bien lorsque le gain en XP est approximativement linéaire. Si un personnage de haut niveau peut gagner des XP plus rapidement qu'un personnage de bas niveau, ce n'est pas le bon système.
la source
Vous trouverez probablement des fonctions logarithmiques utiles car elles peuvent être utilisées pour ralentir l'augmentation à mesure que vous gagnez des points d'expérience. Voici deux pages Web expliquant leur fonctionnement:
Graphes de fonctions logarithmiques
http://www.analyzemath.com/Graphing/GraphLogarithmicFunction.html
Introduction à la représentation graphique des fonctions logarithmiques
http://www.purplemath.com/modules/graphlog.htm
Voici à quoi cela ressemble sur un graphique qui, espérons-le, répondra à vos besoins:
la source
level = log(XP) <=> XP = e^level
. L'exigence peut s'avérer un peu raide pour les derniers niveaux, mais cela fonctionnera correctement avec une croissance appropriée de l'accumulation d'XP.Ce sont des moyens que j'ai utilisés jusqu'à présent. Ils sont triés par taux de croissance (il suffit de multiplier chaque équation par une valeur constante):
exp = niveau (celui-ci peut sembler étrange, mais pour certains jeux, la récompense exp change en fonction du niveau du joueur, comme celui de borderlands)
exp = niveau * log 10 (niveau)
exp = niveau ^ valeur_ const: pour mon exemple, je règle la valeur const sur 3/2
la source
Je pense que cela dépend de la facilité avec laquelle le joueur peut obtenir l'expérience. Si le joueur peut obtenir 200 xp au niveau 1 en 20 minutes, puis 200 xp au niveau 2 en 2 minutes, vous devez redimensionner votre xp de manière exponentielle.
Cependant, si gagner un niveau ne permet que marginalement de gagner plus facilement xp, alors vous devriez créer une fonction xp de niveau supérieur. (Peut-être linéaire avec un coefficient> 1)
la source
Souvent, les points nécessaires pour atteindre un niveau sont basés sur une courbe. Dans beaucoup de RPG, il y a aussi beaucoup d'autres caractéristiques et attributs de votre personnage qui augmentent avec votre niveau, ils seront également sur leurs propres courbes.
Jetez un coup d'œil à RPGMaker pour voir comment ils font les choses. Examinez plus particulièrement les courbes de paramètres dans les captures d'écran de la section "Ajouter un caractère unique en personnalisant l'équipement de départ" du document Création d'un personnage principal .
Fondamentalement, vous pourriez avoir une courbe indiquant la quantité d’XP nécessaire pour passer à la suivante, puis différentes courbes indiquant le nombre de points de vie (PV), de ressources physiques, d’endurance, de résistance, etc.
la source
Considérer le temps
Vous devez d’abord comprendre comment le taux d’expérience gagne en niveau. Ensuite, vous pouvez personnaliser votre mise à niveau en fonction du temps requis . Si chaque niveau supplémentaire vous permet de gagner de l'expérience deux fois plus vite et que vous avez besoin de deux fois plus d'expérience pour passer au niveau supérieur, chaque niveau nécessitera le même temps.
Ma suggestion est de penser au temps que devrait passer le joueur, puis d’adapter la mise à niveau à ce niveau.
la source
Peut-être devrais-je utiliser un système de nivellement uniforme, chaque niveau nécessitant exactement la même expérience.
la source