JeuWeb - Crée ton jeu par navigateur
Méthode de calcul de niveaux de personnages - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Méthode de calcul de niveaux de personnages (/showthread.php?tid=6892)

Pages : 1 2


RE: Méthode de calcul de niveaux de personnages - Ter Rowan - 25-10-2013

le gain d xp change en fonction du niveau fait partie du game design d un mmo :

pour m assurer qu' un haut level joue majoritairement dans des zones de son niveau, je fais en sorte que le farm de mob de bas niveau n'ait aucun sens

cela évite que l'expérience des joueurs de bas niveau soit perturbée (on me demande de tuer des mobs mais ils sont tous morts)


on n a pas idée des comportements de joueur. Imagine je suis HL, je n'arrive pas à progresser dans les zones de mon niveau (je suis une quiche, j ai pas de réflexe, etc...) je décide d'aller farmer les vaches de niveau 1, ca me rapporte pas grand chose certes, mais au bout d'un certain temps, je gagne le niveau / les compétences / etc... qui me permettent sans efforts de passer outre mes difficultés actuelles


de mon temps d'ado, on avait un jeu solo de type wow (je veux pas dire rpg, pour moi jeu de rôle c est autre chose que farmer) ca marchait du type :

le mob est toujours sur la même position
s il meurt, il repop au même endroit quelques minutes plus tard
s'il meurt il fournit de l'xp au personnage (quelque soit son niveau)

et bien un gars avait construit un système mécanique qui appuyait sur la touche de frappe toutes les x secondes. Ainsi, il laissait son perso xp sans même sa présence.


RE: Méthode de calcul de niveaux de personnages - GeGe_KAT - 25-10-2013

Si ton système d'XP est une partie importante de ton jeu, il te faut appliquer ce que propose Ter Rowan, et ce n'est pas "surréaliste". Smile C'est appliqué dans bien d'autre jeux (JDR papier, RPG console PC etc). Et c'est complètement justifié pour forcer le joueur à avancer, rechercher autre chose et se confronter à d'autres mobs jamais rencontrés avant.

Si tu veux rentrer dans les détails, ça devient assez complexe de modéliser ça. Parcequ'il te faut un équilibre pour gérer le cas du "je suis moins fort que prévu mais je tue le mob, je gagne plus (+) d'XP que normalement". Ce qui fait qu'il faut que tu prévoit un niveau "nominale" pour tuer chaque mob.
Ex : pour affronter et défaire un mob X il faut être de level 5 (à toi de définir pourquoi il faut être level 5 : le joueur perd tant de %age de vie, etc...). Et bien si le joueur est level 6, il gagnera moins d'XP, et au contraire si le joueur est de level 4, il devra en gagner un peu plus.
Le plus simple c'est d'appliquer une réduction en %age de l'écart de level : 10% en plus (ou moins) par niveau d'écart (par exemple).

Voilà un aspect supplémentaire, à toi de voir jusqu'ou tu veux aller.


RE: Méthode de calcul de niveaux de personnages - Globe - 25-10-2013

Après y'a différentes approches, moi perso je trouve ça un peu rébarbatif cette approche du "je suis niveau 50 alors je peux tuer 6000 loups de la première zone mais les loups de la 10ème me OS". Je préfère avoir un RPG ou le niveau de la zone s'adapte et donc si c'est un MMORPG des zones instanciées. Si je vais dans la première zone au niveau 50 je me retrouve alors contre des mobs niveau 50 sauf que ça reste des mobs en carton parce que leurs stats évoluent moins bien.

Je dis pas que je trouve que c'est une bonne solution mais on peut aussi imaginer un système d'xp fonctionnant par rapport à une grille. Pour reprendre le schéma classique, monstre commun, rare, élite, boss. Et ensuite dans cette grille rajouter une information sur le type, par exemple animal / monstre / humanoide / dragon / géant... et selon faire un calcul différent. En gros tous les mobs d'une catégorie (commun / rare / élite / boss) rapportent une fourchette d'XP au joueur en fonction de son niveau ( vu que dans ce scénario le niveau du mob s'adapte au joueur). Et le type du mob va déterminer si le résultat se trouve dans le haut de la fourchette ou non. On peut également imaginer capper l'xp d'un type de rencontre. On peut penser qu'après avoir tué 1500 gobelins on à plus grand chose à apprendre du truc du coup tu peux diviser l'xp pour ces mobs... Enfin je trouve que les systèmes d'XP mériteraient d'être un peu plus travaillés en général. Un truc intéressant à développer pourrait également être un système comme dans LOTRO. Lorsqu'on fait certains achievements on obtiens des bonus, je pense aussi à D&D (il me semble), les rôdeurs ont un ennemi juré, c'est un feat qu'on débloque en montant de niveau, je trouve ça plus intéressant de débloquer un bonus contre un ennemi en le combattant plutôt qu'en choisissant un point de compétence.

Désolé je suis parti ptet un peu HS, pour en revenir au sujet je voulais juste dire que tu pouvais aussi choisir une approche linéaire de l'xp traditionnelle sans le problème d'adapter l'xp en fonction de l'écart de niveau de la cible et du joueur tout simplement en adaptant le niveau de l'ennemi à celui du joueur. La philosophie du truc serait un truc du genre "Tuer des centaines de loups ne rend pas le loup moins dangereux mais rend le personnage plus apte à trouver ses faiblesses", en gros si ton perso se retrouve dans une zone bas niveau tu peux adapter le niveau des mobs mais réduire l'évolution de leurs PV, en gros tu les tue en 3 coups mais si ils te touchent ils font mal quand meme.


RE: Méthode de calcul de niveaux de personnages - Xenos - 25-10-2013

D'accord, vu comme Ter Rowan le présente, je suis d'accord qu'une horde niveau 1 devrait rien rapporter en XP à un guerrier niveau 42.
Après, de là à faire des cas particuliers en vrac, cela me semble mal venu... Si j'avais à le faire, j'utiliserai plutôt une fonction de deux variables, qui à partir du niveau de la horde et du niveau du guerrier renvoie le nombre de points d'xp gagnés. Par exemple:

Xp(Nhorde, Nguerrier) = exp( (Nhorde-Nguerrier) / k )*P
Si la horde est bien plus forte, le guerrier ramasse le gros lot (incite les joueurs à attaquer plus fort qu'eux).
Si la horde et le guerrier sont de même niveau, cela rapport P points, constante.
Si la horde est bien plus faible, le guerrier ramasse des cacahouètes. Et si on tronque XP(Nh,Ng) à l'entier inférieur, certaines hordes trop faibles ne rapporteront rien.

A mon sens, c'est bien plus simple et léger à gérer que des tableaux de niveaux.


RE: Méthode de calcul de niveaux de personnages - Ter Rowan - 25-10-2013

(25-10-2013, 12:25 PM)Xenos a écrit : A mon sens, c'est bien plus simple et léger à gérer que des tableaux de niveaux.
je pense aussi

après à voir à ajuster la fonction pour arriver à ce que le game design modélise, parce qu'on est en plein dedans là


bon je dis ça mais perso, je préfère les "rpg" sans "level" où on gagne des bonus de compétences / caractéristiques en les utilisant, pas en distribuant des points


RE: Méthode de calcul de niveaux de personnages - niahoo - 25-10-2013

Oui le modèle de wow est sympa si vous voulez vous en inspirer :

Code :
PX = (8 * niveau + difficulté(niveau))* px_monstre

où px_monstre est le nombre de points d'expérience donnés par un monstre de votre niveau quand vous le tuez, soit :

px_monstre = (niveau * 5 + 45)

et où difficulté est un facteur variant avec le niveau : Niveau    Difficulté
1-28    0
29    1
30    3
31    6
32-60    5*(niveau-30)


Le nombre de PX nécessaire est arrondi à la centaine la plus proche.

Et pour l'XP que rapporte un mob : http://www.wowwiki.com/Formulas:Mob_XP . Leurs formules sont assez simple pour être modifiées facilement.

(25-10-2013, 12:56 PM)Ter Rowan a écrit : bon je dis ça mais perso, je préfère les "rpg" sans "level" où on gagne des bonus de compétences / caractéristiques en les utilisant, pas en distribuant des points

C'est précisément mon modèle, mais si on réduit spécifiquement on arrive dans le même schema : combien on gagne de points dans sa skill épée quand on bute un mob de niveau X avec une épée.

Enfin pas précisément, mais les skills ont un niveau avec un XP et des moyens de l'augmenter. J'additionne les niveaux de chaque skill pour déterminer le niveau du personnage, tout simplement. Et un personnage très haut niveau mais avec 0 skill en combat peut faire de l'XP sur les mobs les plus faibles.


RE: Méthode de calcul de niveaux de personnages - Ter Rowan - 25-10-2013

(25-10-2013, 01:40 PM)niahoo a écrit :
(25-10-2013, 12:56 PM)Ter Rowan a écrit : bon je dis ça mais perso, je préfère les "rpg" sans "level" où on gagne des bonus de compétences / caractéristiques en les utilisant, pas en distribuant des points

C'est précisément mon modèle, mais si on réduit spécifiquement on arrive dans le même schema : combien on gagne de points dans sa skill épée quand on bute un mob de niveau X avec une épée.

Enfin pas précisément, mais les skills ont un niveau avec un XP et des moyens de l'augmenter. J'additionne les niveaux de chaque skill pour déterminer le niveau du personnage, tout simplement. Et un personnage très haut niveau mais avec 0 skill en combat peut faire de l'XP sur les mobs les plus faibles.

bah dans ce cas, par compétence, je m'inspirerai plus d'un modèle type runequest /hawkmoon (et autre jeu chaosium)

le personnage a une compétence de x%, dans le cadre d'une situation de "stress" (donc de difficulté) on fait un jet d'expérience. Si le jet est supérieur à x% (le score de compétence) alors on augmente le score de compétence.

Ainsi, plus le score de la compétence est élevé, plus il est difficile de l'accroitre, sachant qu'on peut être avec score fermé (Hawkmoon bloque à 100% de mémoire) ou score ouvert (Runequest ajoute un bonus au jet de dé 100, et si le jet dépasse 100 la compétence progresse, quelque soit son score)

après on peut évidemment augmenter / réduire le hasard de tout cela, mais ça me parait mieux que de l'xp même ultra localisée


RE: Méthode de calcul de niveaux de personnages - niahoo - 26-10-2013

ça ne colle pas trop avec ce que je veux faire mais oui c'est une possibilité. Tout est envisageable de toute façon, mais dans ce que je compte faire j'ai besoin de niveaux, de caps à franchir, et non pas d'un score continu.