指輪背水の計算式はどのように生まれるのか?

初めに

指輪背水の計算式の係数、気持ち悪いですよね。
今回はこの計算式に使われる各係数を、極力少ない整数で説明することを試みます。

使用する変数と操作

  • 2~6、10~12、22~24という元となる数字、
    及びそれを割る数である4と16

  • 表から任意の位置を選択する操作

  • 任意のHPライン
    →0%、50%、55%、75%

手順1:基礎テーブルの作成

唐突に、縦に2~6、横に10~12と22~24を並べた掛け算の表を用意する。
(九九のようなもの)

これを、左側(10~12の列)は4で、右側は(22~24の列)は16で割る。

任意の場所を選んで色を付ける。このとき、左右で同じ場所を選ぶ。
選んだ部分を抜き出して、小さい順に番号を付ける。

手順2:グラフへのプロット

各番号に対して、値1がHP55%、値2がHP0%となるような2点を通る直線を引く。

次に、同様に各番号に対して、値1がHP75%、値3がHP0%となるような2点を通る直線を引く。

この2つのグラフを合成する。

手順3:計算式への反映

以上を踏まえ、計算式へ反映すると以下のようになる。

【HP0%~50%帯】
実数値=(値1-値2)/0.55×HP割合+値2
【HP50%~75%帯】
実数値=(値1-値3)/0.75×HP割合+値3
【HP75%~100%帯】
実数値=1

これは、既存の計算式[2],[4]と一致する。

追記:表計算

スプレッドシートなどの表計算において、上記の計算結果をまとめると以下のようになる。

背水+9、HP0%のときの計算結果例
数式

一般式で書けたので、ある程度綺麗になったような気はする。
(素の式を書くのと文量は大差無いけど。)

アプローチ

とある記事[4]の影響で、指輪&耳飾りの背水計算式に使われている係数が不思議な値をしていることに疑問を持った結果、より綺麗な一般式が求められないか考えた結果の産物でした。

初めに考えたのは「背水1,2を参照して残りの数値をn倍で導出しているのなら分かるが、背水6の数値も参照しているのは何か気持ち悪い」ということでした。
また、元となる背水1,2,6の係数がどうも汚い少数だったので、この値が何の割り算の結果出て来た値なのか興味が湧きました。

次に、スプシに各数値を並べn倍したり+mしたりしながら何らかの法則性が現れないか探しました。

このとき、[2]よりHP50%-75%帯の計算式の傾きと切片を並べ、全ての切片を有理数として整数/整数の形に直してみました。更に全ての分母となる整数の最小公倍数が16であり、これに分母分子を揃えてみました。すると分子の値は背水10,9,8が5の倍数、背水138,144が6の倍数であることに気付きました。これはHP75%の際の実数値と一致しています。よってこれらを割り算すると、22,23,24の数値が連続して現れました。

また、HP75%の数値が「2,2,3,3,4,4,4,5,5,5,6,6」となっており、どうやっても綺麗な数列の一般解が導けない形をしているように思えました。
このとき、指輪渾身の定数は「1,2,2,2,3,3,3,4,4,4,5,5」という風に(始点はずれているが)3刻みで綺麗に表せることを思い出し、背水も3刻みがベースなのではと考えました。そうだとすると、背水1と2の間、背水3と4の間、背水10と11の間に欠番がある筈です。
その結果、冒頭のような謎の表が出来上がりました。

一度このパターンに気付くと、他の式もこのようなルールに則っている可能性があるため、色々こね回すと、HP0%~50%帯の式は丁度55%の位置で同様のルールに従っていることが分かりました。
既存の計算式も、結果的に同じ式にはなっていますが、55%と0%を結ぶ直線であるということは書かれていなかったので結構スッキリしました。

感想

実のところ、この「表を用意し任意の位置を選ぶ」という操作はそれ自体に恣意的な面があるので、本当はこの数値すらも何らかの必然性がある値であれば良かったのですが、どうしてもこれ以上は分解出来ませんでした。
運営もバランス調整の一貫で途中の数値を落としたりしている可能性もあるので、ある程度のラインからは考えても無駄な気がします。

なお、今回の計算は既存の式を信じてこねくり回した結果であり、特にゲーム内の検証は行っていないことにご留意下さい。

参考文献