私は現在、敵を殺すときに経験を積むことに基づいている小さなゲームを書いています。いつものように、各レベルは以前のレベルよりも多くの経験値を必要とし、より高いレベルでは敵を殺すことでより多くの経験値を獲得します。
しかし、このシステムのバランスをとるのに問題があります。各レベルに必要な経験曲線がどのように見えるべきかを計算するのに役立つ事前構築されたアルゴリズムはありますか?そして、特定のレベルで平均的な敵がどれだけの経験を提供する必要がありますか?
私は現在、敵を殺すときに経験を積むことに基づいている小さなゲームを書いています。いつものように、各レベルは以前のレベルよりも多くの経験値を必要とし、より高いレベルでは敵を殺すことでより多くの経験値を獲得します。
しかし、このシステムのバランスをとるのに問題があります。各レベルに必要な経験曲線がどのように見えるべきかを計算するのに役立つ事前構築されたアルゴリズムはありますか?そして、特定のレベルで平均的な敵がどれだけの経験を提供する必要がありますか?
回答:
おそらく次のような、ある種の指数曲線が必要です。
base_xp * (level_to_get ^ factor)
base_xpは、レベルを上げるために必要なXPの量を決定する定数です。
level_to_getは、目的のレベルです。レベル1では、これはレベル2になります。
係数は、各レベルで必要なXPの増加量を決定する別の定数です。
base_xpが200で、ファクターが2の場合、次のようになります。
一方、base_xpが50で係数が2.6の場合:
2番目のものは、開始時のxpレートがはるかに低くなりますが、すぐにさらにxpが必要になります。
モンスターXPに関しては、これはテストしたいものです。さまざまな値を試してください。高すぎない(すぐに圧倒される)が、低すぎない(プレイヤーは粉砕したくない)ものが必要です。たとえば、レベル10-> 11でプレイヤーに殺す「標準的な」敵の数を考えます。
base_xp * (level_to_get ^ factor)
)は実際には2次関数です。なぜならlevel_to_get
、x値は係数ではなく、もし間違っていなければbase_xp
、関数を変換するために加算し乗算しないでください。これが私がセマンティクスにこだわりすぎている場合は申し訳ありませんが、その機能をグラフ化しても古い指数関数が得られないため、これを確認したいだけです。
敵がどれだけの経験を与えるべきか、または経験曲線をどの程度急にするべきかという質問に対する正しい答えはありません。各レベルでレベルアップするために必要なプレイ時間を考えてから、レベルごとに必要な経験と、これに基づいて敵ごとに報われる平均経験を基に考えると役立つ場合があります。
この記事は、Lineage IIのレベリング数学の詳細な内訳です。 http://web.archive.org/web/20100303164314/http://www.tstonramp.com/~mykel/lineage/