JeuWeb - Crée ton jeu par navigateur
Algorithme d'experience - 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 : Algorithme d'experience (/showthread.php?tid=3858)



Algorithme d'experience - marcdu77 - 06-04-2009

Bonjour à tous, c'est mon premier message et je tenais à dire que ce forum + wiki sont très utile au développement d'un jeu et surtout très intéressant.
Voila j'ai un soucis je bloque au niveau des algos.
Je m'explique vous voyez les rates d'xp de wow ?
Avez-vous une technique pour les rates, une formule ou quelque chose dans le genre qui puisse m'aider car par exemple je vais écrire dans mon cahier des charges : Un ours donne 500 d'xp
Oui mais 500 d'xp dans le jeu c'est quoi, et surtout à quel level ?

Donc voila si quelqu'un peut nous aider. Notre jeu est bientôt finit =]
A toute Wink


RE: Algorithme d'experience - Mycroft - 06-04-2009

Avant de décider des coûts et des niveaux, il faut réfléchir globalement à l'évolution des personnages.

Très grossièrement, tu peux choisir entre une évolution :
- logarithmique : plus on joue moins on progresse vite.
- linéaire : on progresse proportionnellement au temps joué.
- exponentielle : plus on joue, plus on progresse vite.

WoW, et la plupart des jeux, ont un système logarithmique : le gain en XP est toujours plus important, mais l'écart entre les niveaux étant de plus en plus grand ça se compense, et la "progression ralentit".

En pratique, ça veut dire que les premiers niveaux sont rapides à passer, et les suivants plus long à attendre.

Je pense qu'il faut déjà réflechir en terme généraux à ces problèmes, avant de poser les coûts et gains.


RE: Algorithme d'experience - Roworll - 06-04-2009

Autre paramètre à prendre en compte : le rapport difficulté/récompense.
Prenons comme base qu'un ours donne 500XP pour un perso niveau 5.
Combien doit-il donné pour un perso niv 2 ? Et pour un perso niv 30 ?

Le plus simple à mon avis est de commencer par définir une courbe de progression basée sur le total d'XP et le Niveau comme l'a expliqué Mycroft. Cette courbe te donneras une idée des totaux d'XP à atteindre à chaque palier.

Ensuite, il faut estimer la valeur en XP de chaque ennemi (ou quête) en fonction de la difficulté à le vaincre et du challenge qu'il représente pour un personnage de puissance équivalente. Cette valeur en XP, mise en corrélation avec la courbe de niveau doit répondre à une question simple : combien de temps faut-il au joueur "moyen" pour atteindre le niveau maximum. (reste à définir ce qu'est un joueur moyen...)

Enfin, il faut appliquer une règle qui ajuste le gain en fonction de la différence de niveau. Un perso lvl 50 qui vient raser des troupeaux entiers de poules (lvl 1) ne va certainement pas gagner des tonnes d'XP.

Tu peux aller très loin dans le processus de gain d'XP en appliquant par exemple une réduction à chaque ennemi de même type abattu. (500XP pour le 1er ours, 450 pour le 2e, 375 pour le 3e etc)

Quelle que soit ta solution au final, tu devras passer par un minimum de mathématique et de statistiques avant d'arriver à un modèle potable.


RE: Algorithme d'experience - marcdu77 - 06-04-2009

Merci je vais faire ce que vous m'avez dit, en tant qu'ex joueur de wow, oui je pensais sans l'avoir précisé à une progression logarithmique.
Merci bonne journée Wink


RE: Algorithme d'experience - keke - 06-04-2009

Perso, je trouve ça dommage que en règle générale, la progression s'amenuise trop rapidement avec le temps.
J'ai réalisé mes algos pour que la progression s'amenuise, mais pas trop de manière sensible. A l'inverse, mon algo est foireux dans le sens où si un type écrase par mégarde une colonie de fourmis, il risque de gagner quelques niveaux ...

Par ailleurs, la montée de niveau n'est pas aussi intéressante que dans Wow .. pour lequel tout ce joue grâce au niveau.

Kéké


RE: Algorithme d'experience - Mycroft - 06-04-2009

(06-04-2009, 12:00 PM)keke a écrit : Perso, je trouve ça dommage que en règle générale, la progression s'amenuise trop rapidement avec le temps.
J'ai réalisé mes algos pour que la progression s'amenuise, mais pas trop de manière sensible. A l'inverse, mon algo est foireux dans le sens où si un type écrase par mégarde une colonie de fourmis, il risque de gagner quelques niveaux ...

Il y a des désavantages aussi à une progression constante ou continue.

J'ai joué à un jeu, orienté PvP, où la progression était relativement constante et linéaire. Au bout de deux ou trois ans d'existence du jeu, ça vaut plus le coup de commencer parce que tu a aucune chance contre les joueurs plus anciens.

Pas d'attrait pour les nouveaux joueurs, abandon progressif des anciens joueurs : c'est un cas où je pense que le concept de base ne pouvait que mener à une érosion du nombre de joueurs.

Mais c'est clairement pas un problème simple.

Dans mon concept de jeu, j'aimerais un créer un "jeu de rôle" sans ou avec très peu de progression. Qu'on arrive rapidement à un maximum, où tous les joueurs sont égaux. Que la différence se fasse à la façon de joueur, plutôt que sur la jauge d'XP. Par contre j'ai aucune idée si c'est un concept intéressant ou pas pour d'autre joueurs. (Pour moi ça l'est !)

Citation :Par ailleurs, la montée de niveau n'est pas aussi intéressante que dans Wow .. pour lequel tout ce joue grâce au niveau.

A mon avis les considérations générales sur l'évolution d'un joueur, c'est assez générique. On peut parler de niveaux, mais aussi de coût de bâtiments, de recherche ou d'achat des compétences...


RE: Algorithme d'experience - Roworll - 06-04-2009

D'une manière générale, je ne suis pas adepte de la progression par niveau d'expérience global.
C'est plus facile pour comparer le niveau de deux opposants mais c'est trop simpliste à mon gout.

J'ai toujours été partisan de systèmes plus simulationistes, plus basés sur les compétences et les caractéristiques que surun niveau global.

Ce n'est pas en tirant à l'arc qu'on devient un meilleur bretteur ou que l'on apprend à porter efficacement une armure lourde.
Si tu veux devenir meilleur à l'épée, utilise en une. A la limite, progresser à l'épée peut donner un bonus substantiel dans les méthodes de combat et aider à renforcer une base de connaissance dans l'utilisation de la masse.
L'apprentissage est aussi une composante essentielle dans la progression. Il faut savoir de temps à autres se mettre sur la touche pour suivre un enseignement et ainsi devenir plus performant. Malheureusement, nous ne sommes pas tous égaux. Certaines personnes ont des limites que d'autres peuvent aisément surpasser.

Le système que j'utilise essaye de prendre une partie de ces paramètres en cours. Il emprunte des éléments à Rolemaster (caractéristiques actuelles et potentielles par exemple) accompagné de quelques développements faits maisons dans le but de simuler une progression plus "naturelle" que le sempiternel système d'évolution par niveau.


RE: Algorithme d'experience - marcdu77 - 06-04-2009

Je viens de vous lire, merci de vos réponses c'est sympa Wink
J'ai une question : Avez-vous une formule, ou des tableaux déjà fait que je modifierai à ma guise ?
Sinon je me lance dès maintenant, mais c'est avant de commencer.
Merci =]


RE: Algorithme d'experience - christouphe - 06-04-2009

Je viens de lire les messages postés ici, juste une question pour marc, as-tu pensé à une combinaison des types d'avancement (LOG,LIN,EXP) ?

Je pense que le meilleur est une progression EXP au départ, avec des coefficients adaptés, pour se terminer sur une progression logarithmique.

Pour moi, il est logique que l'expérience avançant, il est plus difficile de passer grand maître d'un type d'arme que de passer de simple utilisateur à un stade avancé. Je parle évidemment du temps passé à l'utilisation/apprentissage.


RE: Algorithme d'experience - keke - 06-04-2009

(06-04-2009, 12:07 PM)Mycroft a écrit : Il y a des désavantages aussi à une progression constante ou continue.

J'ai joué à un jeu, orienté PvP, où la progression était relativement constante et linéaire. Au bout de deux ou trois ans d'existence du jeu, ça vaut plus le coup de commencer parce que tu a aucune chance contre les joueurs plus anciens.

Pas d'attrait pour les nouveaux joueurs, abandon progressif des anciens joueurs : c'est un cas où je pense que le concept de base ne pouvait que mener à une érosion du nombre de joueurs.
J'ai un système de Reset tous les ans après qu'une partie soit gagnée. Ca évite ce débordement ...

kéké