![見出し画像](https://assets.st-note.com/production/uploads/images/39115077/rectangle_large_type_2_42b870d3d37213192f8d5eba2c31f975.jpg?width=1200)
旧波動で見るダイス世界の大きさ
はじめに
こんにちは、インコマンです。
先日ランダムダイスv5.4.0アップデートで波動ダイスの仕様が変更されると発表されました。
(アップデート詳細は以下の動画をご参照ください!▼)
そういうわけで、急遽へくさんを拉致して3時間ほど録画作業をし(へくさんありがとう)、旧波動の仕様等を検証しました。
ちなみに、苦行のような検証作業の結果、彼は壊れてしまいました。
合掌。
旧波動ダイスの性能
さて、まずは波動ダイスの性能をおさらいしたいと思います。
波動ダイスは、敵との距離が大きければ大きいほど与えるダメージが大きくなるという特殊なダイスでした。
上記は、クラス15の波動ダイスの性能ですが、基本ダメージが110、距離当たりダメージ増加量が180となっています。
これを素直に解釈すれば、波動ダイスの計算式は、
(基本ダメージ)+(距離)×(距離ダメージ)
ということになります。
ただ、具体的にどれくらいの距離を、どういう数字として扱うのか、ランダムダイス内の説明にはありません。
というわけで、検証です。
発射と着弾
さて、波動の距離計算ですが、まずこれは2種類考えられると思いました。
つまり、「発射時のダイスと敵の距離」を計算式に用いるか、「着弾時のダイスと敵の距離」を計算式に用いるかということです。
まずは、後者と仮定して計測を行いました。
ご覧の通り、同じ着弾地点で異なるダメージを記録しているポイントがあります。赤色の●の388ダメージと黄色の●の401ダメージです。この内、黄色の●は高速雑魚に着弾したダメージでした。
もし、同じポイントのダメージなら同じ数値であるはずです。逆に異なるダメージなら、異なるポイントとの距離を示して然るべきなのです。
つまり、黄色の●は本来赤い●より波動のダイスに対して遠い距離のポイントであるということであり、これは着弾時の距離を採用する過程が誤りであるということを示しています。
ということで、発射時のポイントを計測していきました。
見事に、距離が遠ければ遠いほどダメージが大きいという説明と矛盾しない計測結果を得ることができました。
以上のことから、波動のダイスの距離の計測は発射時に行われていると判断しました。
揺れるダメージの謎
すぐ上で、こんなことを書きました。
「同じポイントのダメージなら同じ数値であるはず」
ところが、検証していく中でこの考えを否定するような検証結果を得てしまいました。
停止したスネークに対して、つまり距離が一定の敵に対して、363、406、376、418、……と与えるダメージが揺れたのです。これを見て検証の相方がこうなりました▼
合掌。
さて、揺れるダメージの原因ですが、観察していて気付くことがありました。
上のスネークに対して与えるダメージですが、「363、406、376、418」とダメージを与えた後のダメージは「363、406」なのです。その後はスネークが動いてしまって分かりませんが、要するにダメージの揺れは周期が4であるということです。
さらに、出目が2の時はこの周期が2となり、出目が1の時はダメージの揺れが発生しませんでした。
以上のことから、距離の始点は波動ダイスの中央ではなく、攻撃するドット(出目)であるということが分かりました。
出目が複数のときは、敵との距離が攻撃するドットの差で微妙に変化するため、ダメージに揺れが発生したということです。
基本ダメージを複数ポイントで認める理由
波動ダイスは、最初に説明したようにその計算式が
(基本ダメージ)+(距離)×(距離ダメージ)
で表されるため、基本ダメージがそのままダメージとなるとき、ダイスの攻撃ドットと敵の距離が0であるということになります。
しかし、このように基本ダメージである110ダメージを示すポイントが波動ダイスの直上3点に渡って認められました。
繰り返すようですが、「同じポイントのダメージなら同じ数値であるはず」であり、これは明らかにおかしいことです。
ここで考えた仮説は2つあり、1つは
「距離を計算するときの敵の捉え方が「点」でなく「面積」であるため、真上ないし真横に敵がいるとき同じ距離となる連続した幅がある」
というものであり、もう1つは
「距離はダイスの攻撃ドットと敵の中央がX離れている場合に0を取り、これが負の数値となった場合には距離を0として計算を行う」
というものでした。
上の画像を見ていただくと分かりますが、真横方向には真上方向と同じようなダメージ一定の幅は認められず、後者の説が正しいということが明らかになりました。
距離単位と0距離は?
さて、最後に波動ダイス検証のメイントピック、距離単位の割り出しを行います。
波動ダイスが攻撃を行う瞬間=発射時の敵の位置と、その敵が受けるダメージを計測していき、そこから距離単位と距離=0となるドット-敵間の距離を求めました。
その結果、以下の結果を得ました。
距離単位=69.4
距離0=72.0
単位はピクセルですが、これはあくまで自分が解析したときの録画サイズ、画像サイズに基づくものであり、汎用的なものではありません。そのため、汎用的に用いることができるよう、ランダムダイスの世界に落とし込む必要があります。
ランダムダイス世界の大きさは
というわけで、ランダムダイスの世界……対戦フィールドと協力フィールドにおいて、距離がどのように表されるかを図で示してみました。
対戦フィールドは、このような距離関係となっています。
スタートから1角は距離にして3.5で、1角~2角は距離にして5.0でした。
協力フィールドだとどのようになっていますでしょうか。
協力フィールドはこのような距離関係となっています。
スタートから合流部までは距離にして4.3であり、合流部からゴールまでは距離にして5.2でした。
以前、こちらの記事で敵の移動速度についてまとめたことがありますが、こちらも今回距離単位を発見したことにより、絶対的な表記を行うことができます。
対戦モードでの敵の速さ
通常雑魚:0.60/s
高速雑魚:1.22/s
中ボス:0.52/s
ボス:0.60/s
協力モードでの敵の速さ
通常雑魚:0.74/s
高速雑魚:0.93/s
中ボス:0.41/s
ボス:0.38/s
このようにです。
おわりに
以上、旧波動のダイスの検証と、ランダムダイス世界のスケールの確認でした。
波動のダイスが実装されるまで、ランダムダイスには「距離」の概念を持ったダイスは存在しませんでした。そのため、波動のダイスの実装でランダムダイスにおける距離を詳らかにすることができるようになった……そう思ったのですが、波動のダイスの検証は上に示したように複雑で、簡単ではありませんでした。
それでずっと放置していたのですが、今回アップデートで仕様が変更になるということで慌てて検証を行ったわけです。
今回の記事は内容的に省略している部分も多々あるため、もしよろしければ検証動画の方もどうぞ▼
今回、突然の無茶な検証協力依頼だったのにもかかわらず快く3時間も拉致されてくださったへくさんには心より感謝申し上げます。
彼に悪質な切り取りは良くないって言われそうなので、検証中、停止しているスネークに入るダメージが揺れているのを発見した時の会話をここに遺します▼
これで終わりヘビ~w