Jan Dvorakはコメントで指数関数を指摘しています。ここで説明します。
指数(およびトリガ)演算は、平方根演算よりも計算コストがかなり高く、それ自体が基本的な数学よりもはるかに悪いことに注意してください。したがって、これらの計算を1秒間に何回も行う場合は、おそらくAdamのアプローチをお勧めします。プレイヤーのレベル、装備の変更などで値を計算するだけの場合、速度は重要ではないので、最適な曲線が得られるものを使用してください。
指数関数は、ベースBからパワーxまでy=B^x
です。数学者は一般にeの基数(〜= 2.718)を使用しますが、必要に応じて2または10を使用できない理由はありません。
y=e^x
次のようになります。
私たちが行うことによって、x軸を反転させることができますのでお知らせ左側が0にasympotically動いているy=e^(
-x)
が、それはまだ1から0まで下降だと我々はそれが上昇します。そのため、y=
-を使用してy軸で反転できe^(-x)
ます。今から-1 0にそれの上昇は、我々が得るために1を追加することができますy=
1を- e^(-x)
、それが0から1まで昇順ます。
ここからは、縦横にスケーリングするだけです。全体に何らかの値を掛けることができます。それをAと呼び、漸近的な制限を設定します。次に、xに変化率の値kを掛けて、限界に近づく速度を調整できます。
これにより、最終的な方程式が得られy=A*(1 - e^(-k*x))
ます。値を使用するk=0.012
とA=0.5
、我々は50%に制限を設定し、それはかなり近いという制限の周りに取得させることができますx=400
。
これで、これにいくつかの調整を加えることができます。私が行った調整の1つはに変更したA=0.5041
ため、小数点以下2桁(32.23%など)のパーセンテージに丸めると、y(399)= 49.99%およびy(400)= 50.00%になります。y(347)以降では、0.01%の変化を得るために2ポイントを要する場所がいくつかあります。しかし、その最後の可能性のあるポイントは、依然として(ほとんど)目に見える利益をもたらし、それをさらに50%にもたらします。
または、k
値を微調整して同様の効果を得ることができます。でk=0.02305
、で49.99パーセントに値ラウンドy=399
とで50.00パーセントy=400
。ただし、このグラフであるという問題有する非常に端に浅いを-それは(からパーセントの最後の百を取得するために48点を取るy(352)=49.99%
までy(399)=49.99%
にy(400)=50.00%
)、最後の1%クリティカルチャンスから(なんと230点を取りy(170)=49.01%
にy(400)=50.00%
)これはおそらく、返品が少なすぎます
必要に応じて、Aとkの両方を調整して、線形減衰と指数関数的減衰の間に何かを与えるために、遅いレートでやや高い限界まで減衰することができます。するとy=0.6*(1-e^(-0.00447*x))
、これで終わります:
カーブは50%を超えて継続しますが、400レーティングの厳しい制限があるため、プレーヤーはそのポイントを渡すことができません(そして、彼らがなんとかそれを渡すことができた場合、60%のクリティカルの厳しい制限があります)。この方程式を使用すると、小数点以下1桁を使用しても、2〜3ポイントごとにゲインを確認でき、最終ティックはy(399)=49.9%
〜になります。y(400)=50.0%
。です。
数学的には、以前の方程式は実際には50%に近づいているため、より良いように見えるかもしれませんが、個人的には、2ポイントごとに0.1%のゲインは0.01%のゲインよりも良いと思います。でも持つA=0.05041
とk=0.012
、それから行くために102ポイントを取りy(298)=49.00%
にy(400)=50.00%
。あなたのポイントの25%があなたのクリティカルの2%に費やしているのは、おそらくあまりにも減少しています。60%の式では、最後のパーセントに20ポイントしかかかりません(最初のパーセントに必要な4ポイントよりも5倍高い)。
これらの最後のいくつかの方程式を使用して、方程式をスプレッドシートにプラグインし、見栄えが良くなるまで手動で値を調整しました。別のキャップが必要な場合は、同様の操作を行う必要があります。