Quelle fonction de score / niveau est souvent utilisée?

9

Dans de nombreux jeux, vous augmentez un niveau lorsque vous atteignez un certain score, et les niveaux ultérieurs sont plus difficiles à atteindre qu'au début.

Je soupçonne que c'est une sorte de fonction exponentielle utilisée par exemple dans WoW.

Quelqu'un connaît-il une bonne fonction exponentielle à cet effet?

Sandra Schlichting
la source

Réponses:

11

Il n'y a pas de norme, et il n'y a en fait aucune raison d'être. Les gens semblent aimer la croissance exponentielle car ils leur donnent l'impression de devenir plus puissants et d'être confrontés à un défi proportionnellement plus important à chaque fois, mais en fait, cela n'est vrai que si la façon dont vous collectez des points ne change pas également proportionnellement. . Si l'expérience par victoire augmente au même rythme que l'expérience par niveau, alors il n'y a pas grand chose à augmenter non plus - ils pourraient tous deux rester constants.

En outre, cela implique que vous ne pouvez pas simplement choisir une fonction pour la façon dont vous souhaitez que votre courbe d'expérience se déroule sans savoir comment vous souhaitez que votre accumulation d'expérience se déroule. Et c'est une décision de conception de jeu basée sur le type d'expérience que vous souhaitez, et non celle que nous pouvons vous proposer.

Pourtant, pour répondre à votre question: le type de fonction que vous avez vu ailleurs est juste quelque chose comme ça, un polynôme trivial avec un facteur d'échelle:

seuil_pour_next_level = x * niveau_actuel y

Les valeurs typiques peuvent être x = 1000, y = 1,5. par exemple:

level 1 = 1000
level 2 = 2828
level 3 = 5196
...
level 10 = 31623
etc.

Si vous voulez que la pente soit plus raide, vous augmentez y. Si vous voulez que les nombres soient plus grands, vous augmentez x.

Vous voudrez peut-être avoir des nombres plus arrondis, auquel cas arrondissez simplement le résultat final jusqu'à 2 ou 3 chiffres significatifs, ou le millier le plus proche, comme vous le souhaitez.

N'oubliez pas que ces valeurs n'ont aucun sens isolément. Si cela nécessite 15000 points d'expérience pour passer du niveau 15 au niveau 16, vous devez vous assurer que la conception de votre jeu permet à un personnage de niveau 15 d'accumuler 15000 points d'expérience pendant le jeu normal. Il ne sert à rien de peaufiner la courbe après le test, car cela prend généralement trop de temps - vous devez commencer avec une courbe qui correspond aux récompenses accordées par votre jeu d'une manière qui correspond à votre conception.

Kylotan
la source
4

Moria / Angband (et toutes leurs retombées, y compris - de manière discutable - Diablo), basent leurs systèmes sur la correspondance du niveau du monstre au niveau du joueur, pour voir ce que vous gagnez, avec des exigences d'XP par niveau croissantes au-delà.

Dans Diablo , il existe des niveaux optimaux de monstres que vous pouvez tuer, à moins de 5 niveaux de vous en positif et négatif. Cela ressemble à ceci (excuses si ce n'est pas exact, fans de Diablo):

XP Gain = monsterBaseXP * (5-|(characterLevel-monsterLevel)|) / 5
(where result cannot drop below 0)

Exemples pour personnageNiveau 16: Niveau du monstre A: 16. Gagnez 100% d'XP de base du monstre. Niveau du monstre B: 13. Gagnez 40% d'XP de base du monstre. Niveau du monstre C: 20. Gagnez 20% d'XP de base du monstre. Niveau du monstre D: 23. Gagnez 0% d'XP de base du monstre.

Dans Angband (le modèle que je préfère), c'est quelque chose comme ça:

XP Gain = monsterBaseXP * monsterLevel / characterLevel.

Donc, si vous avez tué un monstre de niveau 50 lorsque vous étiez au niveau 5, vous gagneriez 10 fois l'XP qu'un personnage de niveau 50 qui a tué ce même monstre gagnerait. J'aime ça, c'est un risque élevé, une récompense élevée. J'ai perdu des milliers et des milliers de personnages dans Angband à cause de cela. Mais ceux qui le font, eh bien ce sont les légendaires. Je pense que j'ai atteint le niveau 29 instantanément à partir du niveau 1;) De même, un personnage de niveau 50 tuant un monstre de niveau 5 gagnerait 1 / 10e de l'XP qu'un personnage de niveau 1 gagnerait pour tuer ce monstre. De plus, parce que les XP de base augmentent également, cela signifie que tuer des monstres de bas niveau peut encore vous rapporter une récompense, mais aller trop loin et devenir complètement inutile.

Dans les deux jeux, ils utilisent également des multiplicateurs sur XP nécessaires (sur une échelle croissante), et le rapport entre cela et le niveau optimal de monstre XP donné devient progressivement plus raide.

La forme la plus simple de cette idée est de procéder comme suit. Décidez combien de monstres de niveau égal à vous, vous devez tuer chaque niveau pour le grade (en ignorant les récompenses de quête, etc.). Disons 100 - quel que soit votre niveau. Disons que si le joueur tue un monstre de niveau égal à lui-même, il gagne 1XP.

En utilisant une formule semblable à Angband pour récompenser l'augmentation et la réduction en fonction du niveau du monstre, votre table de nivellement est linéaire:

1: 100xp
2: 200xp
3: 300xp

...Etc. Je trouve que c'est le point de départ le plus facile - ajustez le cas échéant, incluez des XP de base de monstre, des seuils de niveau, etc. au contenu de votre cœur.

Ingénieur
la source