2013/12/17
■ [変愚蛮怒/スポイラー] アイテム操作機能時のレアリティの見方(変愚蛮怒 Ver2.1.4 rev3506)
この前のレアリティヒストグラム表示(D)の解析である。 かなりわかり辛いのは否めない。
以下、prt_alloc()関数より解読。
- ベースアイテムテーブルより、k_info.txtの「A:」ヘッダによるアイテム生成率の設定(変愚蛮怒 Ver2.1.3 rev3468)の通りに設定された重み(prob1)を基準に計算を0Fから110Fまでの各階毎に行っていく。
- 細かい加算は省略するが、これにより「アイテム全体の生成の重み」(total)と「ベースアイテムの生成の重み」(rarity)が各階毎に算出され、(rarity)/(total)をベースアイテムの生成確率とみなすことができる。
- rarityとtotalの各階の最大値を取得しmaxr、maxtに保管する。
- ヒストグラムの"*"ひとつごとの大きさをratio値とし、以下の通りに決める。
- maxrが1100以上ならばratioをmaxt / (maxr / 1100)とする。
- そうでければratio値を99999とする。
- ratio値が1000未満ならばcommon、1000以上3000未満ならuncommon、3000以上32768未満ならばrare、32768以上ならば最上部の表記VeryRareとする。
- 各階毎に算出したrarity値を5階毎にrarity * 100 * maxt / totalでposibility値に小計する。
- 小計するした値に*1000/1414(≒1/√2)をかけ続け整数演算が0になるまでの回数をdisplay値に収める。これはつまり底が1/√2の対数ヒストグラムとして*の数を決めていることになる。
- こうして5階毎に対数ヒストグラムを表示する。
いや、勘弁してください。無意味にくっそ面倒くさいし表記も判りづらいです。浮動小数点演算がまともにサポートされていなさそうなプラットホームに対応させるつもりだったのだろうか。
いずれにせよデバッグやバランス修正に欲しいのは各階層で比較する相対的な生成度合いではなくて、単純にこの階ならば何%という絶対的な生成確率の目安ではないのかと思う。正直すぐ修正したい。