aslain.dev
0%
01 Hizmetler 02 Hakkımda 03 Projeler 04 Stack 05 Blog 06 İletişim
← Tüm makaleler Metin2

Réglages EXP Metin2 : la courbe de niveau dans exp.csv

Les réglages EXP de Metin2 font partie des équilibres les plus déterminants pour le caractère d'un serveur : si la courbe d'expérience est trop raide, les joueurs stagnent dès les premières cartes et abandonnent ; si elle est trop plate, il n'y a aucun sentiment d'accomplissement et le contenu s'épuise en une journée. Dans ce guide, je décompose le système d'expérience en ses éléments — la table de niveaux exp.csv, l'exp de base dans mob_proto, la pénalité d'écart de niveau et le taux du serveur — et j'explique comment concevoir une courbe de niveau à la fois jouable et durable.

Qu'est-ce que exp.csv et comment se lit-il ?

Située dans le répertoire de données du serveur, exp.csv contient l'expérience requise pour passer au niveau suivant, une entrée par niveau. Le game core charge cette table en mémoire au démarrage ; dès qu'un personnage accumule assez d'exp, il monte de niveau et regarde la ligne suivante. Le fichier est une simple liste à une colonne où le numéro de ligne correspond au niveau :

1500
4000
9000
20000
36000
...

Ici, la première ligne est l'exp nécessaire pour passer du niveau 1 au niveau 2, la deuxième pour le niveau 2 vers 3, et ainsi de suite. La longueur de la table définit aussi de fait la limite de niveau : quand il ne reste plus de lignes, le personnage ne peut plus monter. Donc si tu veux relever cette limite, tu dois à la fois ajouter de nouvelles lignes à exp.csv et t'assurer que la constante du type PLAYER_MAX_LEVEL dans la source l'autorise.

Concevoir la courbe de niveau

Une bonne courbe n'est pas un tas de chiffres : c'est une histoire de rythme. La courbe classique de Metin2 est exponentielle : chaque niveau est nettement plus coûteux que le précédent. Cela permet aux premiers niveaux de défiler vite tandis que les derniers deviennent un véritable objectif. Quand je conçois une courbe, je garde quelques principes en tête :

  • Un début en douceur : les 30 premiers niveaux doivent passer en quelques minutes pour qu'un nouveau joueur s'habitue aux systèmes et ne décroche pas tout de suite.
  • Murs de paliers : durcir délibérément la courbe à certains niveaux (par exemple aux seuils où de nouvelles cartes s'ouvrent) oriente les joueurs vers du contenu neuf.
  • Pas de sauts brutaux : si un niveau coûte cinq fois le précédent, le joueur a l'impression de heurter un mur. Garde un taux de croissance progressif.

Plutôt que d'écrire la courbe à la main, la générer avec une formule est bien plus cohérent. On peut construire un modèle exponentiel simple ainsi :

# Générer exp.csv avec Python (modèle d'exemple)
base = 1500
for niveau in range(1, 105):
    requis = int(base * (niveau ** 2.6))
    print(requis)

En modifiant l'exposant (2.6 ici) et la base, tu ajustes la raideur de la courbe. Écrire la sortie générée directement dans exp.csv et l'essayer sur un serveur de test est bien plus rapide que d'équilibrer les chiffres à l'œil.

mob_proto : la véritable source d'expérience

La table de niveaux répond à la question « combien d'exp faut-il » ; la réponse à « d'où vient cette exp » se trouve dans mob_proto. La ligne de chaque monstre porte une colonne exp, qui est l'expérience de base accordée à sa mort. La courbe et l'exp des mobs doivent se compléter : associe une courbe coûteuse à une faible exp de mob et le jeu devient un grind ; fais l'inverse et les joueurs atteignent le niveau max en quelques heures.

En pratique, tu actionnes l'un de deux leviers : soit tu gardes la courbe (exp.csv) fixe et tu mets à l'échelle l'exp des mobs, soit tu laisses l'exp des mobs intacte et tu adoucis la courbe. Changer les deux en même temps rend l'équilibre difficile à suivre ; ajuster une seule variable à la fois est bien plus prévisible.

La pénalité d'écart de niveau : pourquoi un mob niveau 1 ne donne aucune exp à un niveau 99 ?

Une part invisible mais cruciale du réglage de l'EXP est la pénalité d'écart de niveau que le game core applique au calcul des récompenses. À la mort d'un monstre, le core met à l'échelle l'expérience accordée selon la différence de niveau entre le personnage attaquant et le monstre. Tue un mob bien en dessous de ton niveau et tu ne reçois qu'une petite fraction de son exp de base ; ce mécanisme empêche le « powerleveling » sur les spots bas niveau et évite que l'économie ne se déséquilibre.

Ce comportement est implémenté dans la source du serveur, à l'intérieur de la fonction de récompense, via une table de ratios. Sur les serveurs privés, adoucir cette courbe (donner une exp raisonnable même sur de grands écarts de niveau) est une modification courante — mais il faut être prudent : supprime totalement la pénalité et tu ouvres la porte aux hauts niveaux qui font monter leurs amis bas niveau en quelques minutes. Cela rend tout ton rythme de progression sans intérêt.

Le taux du serveur (EXP rate) et la config

Ce que les joueurs entendent par « serveur x1, x5, x50 » est le multiplicateur global appliqué par-dessus l'expérience de base. Le comportement officiel est x1 ; les serveurs privés appliquent généralement ce multiplicateur dans la source via une variable au moment de la récompense (par ex. un dérivé de g_iExpRate) ou via la configuration. Appliquer le multiplicateur est techniquement facile ; le vrai travail consiste à choisir le bon taux :

  • Taux bas (x1–x5) : pour des serveurs « classiques » de longue durée, qui gardent les joueurs lents mais investis. Le contenu tient des mois.
  • Taux moyen (x10–x50) : la fourchette la plus populaire. Elle réduit le grind tout en laissant un sentiment de progression.
  • Taux élevé (x100+) : pour des serveurs rapides, axés PvP. Là, monter en niveau cesse d'être un obstacle et devient une formalité ; tout l'équilibre se déplace vers les objets et le PvP.

Considère le multiplicateur comme une décision stratégique, pas seulement numérique : le taux doit refléter l'expérience que ton serveur promet. Baisser le taux après le lancement fâche la communauté ; le tester avec de vrais joueurs sur un serveur de test au préalable et trancher tôt est l'approche la plus saine.

Groupe, premium et bonus temporaires

Quelques couches supplémentaires s'empilent par-dessus l'exp de base et le multiplicateur. Le core accorde aux joueurs chassant en groupe un petit bonus selon le nombre de membres et répartit l'expérience entre eux, ce qui encourage le jeu collectif. Les comptes premium et des objets comme les anneaux d'expérience ajoutent un pourcentage distinct. À cela s'ajoutent les événements exp temporaires que tu lances pendant des périodes comme les week-ends.

Le piège ici est le cumul des bonus : quand taux x50 + premium + anneau + événement de week-end s'empilent, le taux effectif peut grimper bien au-delà de ce que tu as conçu. En planifiant la courbe, tiens compte aussi du scénario aux bonus maximaux ; sinon le serveur que tu voulais « lent » peut se boucler en une heure les jours d'événement.

Questions fréquentes

J'ai modifié exp.csv mais rien n'a changé en jeu, pourquoi ?

Le game core ne lit cette table qu'au démarrage. Après avoir enregistré le fichier, tu dois redémarrer le core/channel concerné. Vérifie aussi que le fichier est dans le bon répertoire de données et que chaque ligne contient un seul nombre valide ; une ligne corrompue peut rendre tout ce qui suit sans valeur.

Puis-je relever la limite de niveau juste en ajoutant des lignes à exp.csv ?

Pas à elle seule. Ajouter des lignes à exp.csv allonge la table, mais le niveau maximum est aussi borné par une constante dans la source. Si les deux ne concordent pas, le personnage reste bloqué à un certain niveau. Pour réellement relever la limite, tu devras peut-être aussi mettre à jour la source.

Un serveur à taux élevé attire-t-il plus de joueurs ?

Il attire l'attention au début, mais ne retient pas les joueurs à lui seul. Un taux très élevé rend la progression insignifiante et les joueurs atteignent vite le point « plus rien à faire ». La durabilité vient de l'équilibre entre le taux et la quantité de contenu — systèmes, PvP, événements.

Tu veux mettre en place une courbe d'expérience équilibrée pour ton serveur ? De la conception d'exp.csv à la mise à l'échelle de mob_proto et au réglage de la pénalité d'écart de niveau, nous pouvons planifier tout le système d'exp ensemble. Contacte-moi et parlons du rythme de ton serveur.

Bu kategorideki tüm yazılar →

Devamı için