6.00β1027

■AI更新
・10/25パッチの仕様変更に対応
 移動関数の仕様変更により、ゼロ移動キャンセル機能を一時的に停止
 移動関連のルーチンに修正

★その他
以前SakrayJでホムSに向けて開発していたものをこちらでリリースしました。
本サーバーでも概ね変わりなく利用できるはずです。
ツールの方には、エディタにホムSの項目が出来たりしていますが、
今は特に利用できません。
何かおかしいと思ったら、これまでのSet.luaは一旦削除してください。

というわけで、暫定的にですが対応しました。
もしかするとクライアント側の修正があるかもしれないのでなんとも言えませんが…。
ゼロ移動はなくなりましたが、移動キャンセルは多分まだ使えます。

今回何が起こったかは大体わかったので、続きでちょっと書いておきます。

今回は、クライアント自体何か高負荷になってしまったという点を除いて、
ホムAIの仕様に何が起きたかと言うと、おそらく移動命令(Move関数)の条件判定の変更です。
一言で言うと、ホムが移動した先のセルに誰かがいた時の判定が、
主人が移動した時と同じ判定に摩り替わっていたようです。

■10/25以前の挙動
ホムは移動命令を受けた時、指定セルへ移動します。
このとき、指定されたセルに誰か(PC・ホム・NPC)が居た場合でも、
とりあえずそこまで行って一旦重なった後、「そこに誰かが居る」と判定されて隣のセルへ弾き出されます。
これはPCも同じですし、ある程度ROをプレイしていればわかる当たり前の動作です。
そして、自分が今居るセルに移動命令を出された場合は、当然ながら「そこには自分がいる」として移動は無効になります。
これを「弾き出され判定」とします。

■10/25以降の挙動
さて、今はどうなっているかというと、上記のようにホムを動かした場合、
移動命令で実際に移動するのはホム自身ですが、あたかも主人に移動命令を出した時かのような
「弾き出され判定」をします。つまり、

(1)自分(ホム)が今居るセルに移動命令
 →「そのセルには誰かが居る」として、隣のセル(東1セル)へ弾き出される
(2)主人が居るセルに移動命令
 →「そこは自分が居る」として、移動は無効

実際にホムの移動と同じことを、主人が普通にマウスクリックして移動してみると、
まったく同じ動作になるはずです。

(i)ホムが今居るセルをクリック → ホムの1セル東へ移動
(ii)自分が居るセルをクリック → そのまま

従って、おそらくホムの移動というか、現在値の判定が主人と同じになっている
と解釈すると説明がつきます。

こっこAIについて、まず追従がおかしかったのは、
ある程度離れた時の追従処理が「主人のセルへ移動命令」になっていたからでした。
上記理由により、「主人のセルへの移動」が無効化されてしまっていたので、
ちょっと離れるだけで簡単にスタックしてしまっていました。
あちこちにフラフラしていたのは、スタック対策の処理が暴発していた結果です。

というわけで、主人のセルには移動しないような判定を加えたところ、
割とあっさりスムーズな動きに戻りました。

そして、ゼロ移動キャンセルで東へ1セル動き続けた理由も、上述の通りです。
自分のセルへ移動命令を挟むのがゼロ移動キャンセルですので、今それをやろうとすると
1セル東へ移動してしまいます。

その理屈で言うと、主人のセルへの移動をゼロ移動に利用すれば或いは上手く行くかもですが、
取り急ぎクライアントの負荷があるようなので、まず一旦停止してみました。
主人ゼロ移動はもう少し検証してみて、大丈夫そうなら加えてみます。

カテゴリー : 更新履歴 タグ :
top