オルガルの素早さ・行動順の関係性と抹茶氏(@orugaru_mattya)問題について
名指しの前書き: 抹茶氏(@orugaru_mattya)へ。
あなたの粗末な脳から発生するいかなる意見・反論・感想も拒絶します。
死ぬまでコスプレイヤー達の尻を追い続けていて下さいね。
来世ではお猿さんに輪廻転生することを強く推奨します。
抹茶氏の主張
ロリ服愛梨には味方全体の素早さを大きく上げる「スピードスティング」がある。
パラメータを上昇させる効果はしばしば「バフ」と呼ばれるので、以下もこれに習う。
  |
抹茶氏(@orugaru_mattya)が、このバフがバグっていると主張し運営に問い合わせ、
「仕様通りに動いている」という回答を受けて運営が隠蔽しようとしていると言ってキレてた。
彼の主張をまとめるとこう。
「素早さ101でバフ(スキルlv1)をかけると、敵の行動をスキップして2連続で行動できる。
素早さ119でバフ(スキルlv4)をかけると、敵の行動をスキップできない。
スキルlv1なら問題なく動作しているがスキルlv4はバグっていて効果がない。」
(そう主張するのは全く問題ない。が、誰の指摘も聞き入れないのでめんどくさいから放置した。
それから珍妙な理論で周りを罵倒し始め、筆者も「絡んできたバカ」にカウントされたので変なスイッチが入った。)
先に言っておくと、効果範囲が全体であること、スキルレベルが違うことは無関係。
そもそもスキルlvの説明に「ダメージ量UP」としか書かれてないが、お猿さんには文字が読めない。
(まぁたしかに文章と実装が一致しているのかは検証しないと分からないが)
この記事では、この挙動が必ずしもバグとは言えないということを抹茶氏以外のキャプテンに伝えたかった。
てか、運営がわざわざ調査して問題ないって言ってんだから当たり前なんだけどさ。
ガバガバ検証
  |
うちにはロリ愛梨がいないので、マイコーデ玲のスピードホーミング(単体素早さ大バフ)で代用する。
シールで素早さを101と119に調整し、初回行動時にバフをかける。
場所はイベントの超5。(抹茶氏は絶5で回っていたが素早さは変わらないだろう)
素早さ101の場合。
バフを打った直後、敵の行動をスキップ出来ている。
素早さ119の場合。
バフを打った直後、敵の行動をスキップ出来ていない。
たしかに彼の言う通りの結果になった。
だが玲の初回行動のターン数が違うことに気付いただろうか?
・素早さ101:ターン数2
・素早さ119:ターン数0
素早さ101では敵より素早さが遅く、玲の前に敵が行動してしまうんだ。
  |
玲と敵Bの行動だけを抜き出すとこう。
・素早さ101: 敵、玲、玲
・素早さ119: 玲、敵、玲
ガバガバ仮説
オルガルの素早さと行動順がどう関係しているのかを想像してみよう。
FF10のCTB(カウントタイムバトル)が非常によく似ているので、それを元に考える。
ちなみにFF10ではキャラの行動選択によっても行動順が変わるがオルガルは一定なのでもっとシンプルにする。
尚、ここでは乱数は考慮しない。(説明が長くなるし±nなら平均0なので)
ドラクエのように、全員が1ターンに1度ずつ行動するなら単純に素早さ順に行動させればいい。
オルガルはそうではなく、素早ければ他のメンバーの行動を飛ばして連続行動できたりする。
概ね素早さの順に並ぶが、素早さだけでは行動順を決めることができない。
そこで素早さから「待機時間」を計算し、1ずつ減らして0になったキャラから行動すると考える。
素早いキャラほど素早さの数値は高いが、逆に「待機時間」は小さい数値となる。
行動後は、素早さから計算した最初の待機時間に戻る。
待機時間の計算式は運営のみ知るところなので、分からない。
とりあえず概ね素早さ順に並べばいいので「300 - 素早さ」と仮定する。
仮なので「そんな単純なわけないだろ」とかそういったツッコミは無意味。
計算が面倒なので、素早さはキリのいい数値に揃えておく。
今回の敵の素早さは101より少し素早い程度だと思うので、105とする。
・玲A: 素早さ100, 待機時間200 (300 - 100)
・玲B: 素早さ120, 待機時間180 (300 - 120)
・敵: 素早さ105, 待機時間195 (300 - 105)
行動順の表も作ってみる。
行動 | 玲Aの待機時間 | 敵の待機時間 | 経過時間 |
- | 200 | 195 | (0) |
敵 | 5 | 0 | 195 |
玲A | 0 | 190 | 200 |
敵 | 10 | 0 | 390 |
玲A | 0 | 185 | 400 |
敵 | 15 | 0 | 585 |
玲A | 0 | 180 | 600 |
行動 | 玲Bの待機時間 | 敵の待機時間 | 経過時間 |
- | 180 | 195 | (0) |
玲B | 0 | 15 | 180 |
敵 | 165 | 0 | 195 |
玲B | 0 | 30 | 360 |
敵 | 150 | 0 | 390 |
玲B | 0 | 45 | 540 |
敵 | 135 | 0 | 585 |
素早いほうから順番に行動できている。
また、この通りに進めば、少しでも素早さが上回っているキャラは数十ターン後に2連続行動することも分かる。
次はバフを考えてみる。
バフについても謎が多いが、素早さバフ大の場合、素早さに固定値で+20、つまり待機時間が20減る計算と仮定する。
玲の初回行動時にバフをかけることにし、行動順を計算し直す。
行動 | 玲Aの待機時間 | 敵の待機時間 | 経過時間 |
- | 200 | 195 | (0) |
敵 | 5 | 0 | 195 |
玲A | 0 | 190 | 200 |
玲A | 0 | 10 | 380 |
敵 | 170 | 0 | 390 |
玲A | 0 | 25 | 560 |
敵 | 155 | 0 | 585 |
行動 | 玲Bの待機時間 | 敵の待機時間 | 経過時間 |
- | 180 | 195 | (0) |
玲B | 0 | 15 | 180 |
敵 | 145 | 0 | 195 |
玲B | 0 | 50 | 360 |
敵 | 110 | 0 | 390 |
玲B | 0 | 85 | 540 |
敵 | 95 | 0 | 585 |
玲Aの初回行動後、敵の待機時間は190だが、玲Aはバフによって180になるので敵よりも早く行動できる。
バフをかけた場合、玲Aは行動順が入れ替わるが、玲Bは入れ替わらない。
では玲Bでバフをかけることは無意味なのか?
もちろんそんなことはない。
先ほど「少しでも素早さが上回っているキャラは数十ターン後に2連続行動する」と書いた。
そのタイミングを何ターン程度か早めることができる。
そんな長期戦にはあまりならないが。
この記事の計算式は単純すぎてお話にならないが、似たシステムで動いているはず。
もっと正しい仮説を考える際の参考になればと思う。
この記事書いててまた新たに分かってきたこともあるけど、キリがないのでやめておく。
追記:
あまりにもどうでもよすぎて書くことすら忘れてた。
玲にバフがかかっていて行動順が「玲、玲、敵」になっているとする。
行動後、バフが切れた瞬間に「玲、敵、玲」になることがある。
抹茶氏はこれに表示バグとか名付けて発狂してた。
「行動順はリアルタイムで再計算されるからそうなります、仕様です」
って抹茶氏が晒した運営からのメールで断言されてるのに納得できないらしい。
えーと、仕様としか言えないよね。
当たり前すぎてどう説明すればいいのか困惑するレベル。
じゃぁいつ行動順が入れ替われば満足なんだか。
バフ切れた後に行動順が変わるのがおかしいなら、バフかかった後に行動順変わるのもおかしくない?
その辺の言動から考えても同じ人類とは思えなかったので説得は断念した。
人類なら運営からの説明で納得できると思うので特に説明はしない。
お猿さん(抹茶氏)にも読まれるかもしれないので何度でも書きますが、
この記事で伝えたいのは「絶対にこういう原理で動いている!」ということではありません。
こんな感じの実装ならこの挙動はバグではない、ということです。
この記事を批判しても無意味ですよ。仮説ですし。
コスプレイヤー粘着おじさんこと抹茶先生(@orugaru_mattya)の今後の活躍にご期待ください。
以上
@maumau_alt