[Simple] Augmentation des niveaux dans un jeu.
Bonjour,
j'ai crée un jeu de rôle en PHP avec combats.
Mais mon algorithme qui calcule l'expérience gagnée n'est pas génial, je n'arrive pas à le faire comme je voudrais.
Voici mon but.
- Plus le niveau de l'ennemi combattu est grand par rapport au nôtre, plus on gagne d'expérience.
- Et inversément si l'ennemi a un niveau plus faible que le nôtre.
- Plus notre niveau est haut, moins on gagne d'expérience.
Voilà, ça paraît simple, mais je bute.
Merci à ceux qui pourront m'aider.
Re: [Simple] Augmentation des niveaux dans un jeu.
Citation:
Envoyé par Eldacar
- Plus le niveau de l'ennemi combattu est grand par rapport au nôtre, plus on gagne d'expérience.
- Et inversément si l'ennemi a un niveau plus faible que le nôtre.
- Plus notre niveau est haut, moins on gagne d'expérience.
Les deux premiers points peuvent être résolus en donnant, comme XP, la différence de niveau entre les deux combattants, affectée éventuellement d'un facteur multiplicatif.
Cependant, perdre de l'expérience quand on latte plus petit que soi, même si ça évite les combats entre gros-bills et rookies, c'est préoccupant quand tu ne choisis pas le niveau des adversaires ... tu prend ce qui vient, et ça te fait perdre de l'XP :?
Pour le dernier point, s'il existe un niveau maximal, tu peux considérer la différence entre ce max et le niveau actuel, divisée par ce max, comme un facteur à appliquer aux XP.
Ainsi, pour un max de 25, par exemple, un gars de niveau 1 va marquer (25-1)/25 * XP, soit 96% de XP, alors que le même, de niveau 8 va marquer (25-8)/25 *XP, soit 60% de XP et un gars déjà à 25 marquera 0%.
Tout ça est cependant un peu simpliste ...
Il pourrait paraître juste (mais plus compliqué) de prendre en compte des réussites ou des échecs exceptionnels, les sorts ou armes utilisées (bonus d'XP si on massacre un dragon à la dague, plutôt qu'à la hache de bataille ;)), etc.