隻眼元帥記

ドラクエ10の色々を。コツコツと執筆。

トリセツ ジャンプと座標と通信

防衛軍に出てくるボスの攻撃でジャンプによる回避が必要なものはありません。


でもですね。


高速周回ではジャンプすると凄く助かるシーンが2つある(と考えている)んです。


いずれも獣牙兵団なのですが


 1 ボーガの移動阻止

 2 札回収後の位置補正


順番に細かくみていきましょう。



1 ボーガの移動阻止


移動といっても召喚強制移動ではなく、おそらく地烈スプラッシュやブレスを発動するために距離をとろうとする移動のことです。スコルパイドやレギルラッゾも行いますが、特定の攻撃行動がAI1で選択されたとき、仮決定から本決定の間でターゲットから一定の距離をとろうとするルーチンが組み込まれていると言われています。それとは別にボーガの場合、設置された陣(ガジェット、災禍)から避けようとするルーチンもあるかもしれないなとおもってます。


で、この移動が始まったとき、距離をとろうと動く方向にいるキャラが事前に密着状態をキープしておき、押され始めたら密着を解除(移動レバーをニュートラルにする)してジャンプをすると、この移動が止まるんですね。


なので高速周回で後方に魔法戦士が回り込むのはこの対応をすることが目的です。


なぜジャンプをすると止まるのかは最後に推測を書いておきます。



2 札回収後の位置補正


札回収役が回収後に橋まで戻って先行メンバーにツッコミをするとき、見た目では問題ないのに支柱にひっかかったりシシオウにひっかかるときがあります。ツッコミ相手の位置どりに問題がなくてもこれが発生するのですが、橋まで戻り支柱の横か少し先まで進んだところでジャンプをすると、経験上これがほぼ発生しなくなります。



いずれもジャンプがキーなわけですが、これはおそらく


 ジャンプ=位置情報補正通信


が行われているのが理由でしょう。ここから先は完全に私の推測です。


システム上、常時キャラクターがどこにいるのかをほぼリアルタイムでサーバーが把握することは通信量が膨大になり、サーバーに負荷をかけるため困難です。従って位置情報はローカルとサーバー側でズレが発生するのですが、ジャンプをすることで現在の位置情報を強制的にローカルからサーバーへ送信していると考えられるため、これを位置情報補正と私は呼んでいます。


この位置情報通信ですが、以前は一定時間(ms、ミリsecondレベル)で行っていたとおもわれますが、運営からの説明で、通信の負荷を軽減する処理をしたというものがあり、大幅に処理時間を長くしたか、下手をすると定期処理をしなくなったまでが考えられます。


普段そこまで気にならないのは、ジャンプに限らずなんらかのコマンドを選択したか、バフ等をもらった時にも同様の処理が行われているからでしょうね。


巻き戻りやムーンウォークと言われる現象もこれが原因でしょう。コマンドキャンセルもその一端で発生する不具合(意地でも言い切る)だと推測できるわけです。


なお、ボーガの移動を阻止できてしまうのは、密着しているとキャラクターとして判定されているのに、密着を解除して位置座標を取得しなおしたことで、ボーガの進行方向に障害物があると判定されることになり移動を取り止めていると想像できます。ようは密着を解除しジャンプすることで、マップ上の動かせないモノと同じ扱いになるから、ということです。逆を言えば、密着=プレイヤー=相撲対象(動かせない障害物ではない)と判定されている、と。


こうしておかないと壁や崖、テントや大砲があってもすり抜けてしまうからですね。不思議なことに防衛結界には固定座標が設定されていないようで、普通にめり込みますけど(苦笑)


後半はまたマニアックな内容になってしまいましたが、小技として(森永製菓じゃないよ!)ご紹介してみました。