日記/2015-04-02 の変更点

お名前:

**雑記:傭兵AI、その後。 [#r30b3677]

いろいろ試しているのですが。

なんか実装が微妙な感じで、頭良い動作ができない感じです。
なんかROクライアント側のAPI実装が微妙な感じで、頭良い動作ができない感じです。

#region(→続きを読む。)

以下、試してみてわかっているところをメモ。

-GetV( V_HOMUNTYPE, xx ) の動作があやしい。
--ホムAIでは、xx にオブジェクトIDをいれると『そのモノの種類』が取れた。~
例えば「ホム:バニル」とか「敵:スケワカ」「PC:アルケミ」というような。
--傭兵AIでは、今のところ nil(未定義)しか戻らないように見える。~
「ロキ自身」「視界内のホム」を試したが、どちらも nil。
--この結果、傭兵AIでは『周囲のモノの種類によって行動を変える』ことができない。
--例えば『魔人の巨影』にだけマインドブレイカーを使う、なんてのができない。
--例えば、視界内のモノが『味方ホム』か『NPC』かがわからない。
-GetV( V_MERTYPE, xx ) の動作があやしい。
--本来の用途は、傭兵タイプを取得するもの。~
自分が剣士か弓かという情報を得られる:これに応じて動きを変えられるようになっている。
--だが、今は1(ARCHER01)しか返ってこないように見える。~
「ロキ自身」「視界内のホム」を試したが、どちらも1。~
ロキはどうみても弓兵ではないので、動作としてはおかしすぎる。
--とはいえ、定数定義の const.lua にはロキに相当するIDは定義されていないので・・・

実運用的には、前者で地味に困っています。

上述したマインドブレイカーの無駄打ちの件もそうですが。~
ジェネでホム+ロキ状態で戦おうとした場合に、『味方のホム』を知ることができないんです。~
つまり、横殴り判定がしづらい。

傭兵AIを自由に書き換えることまでは推奨していない、っていうのは事実なんでしょうし。~
特に V_HOMNTYPE については、もともとかなり変則的な実装だったので、傭兵AIで同じように動く保証はどこにもなかったわけではあるのですが。

仮にも「情報取得用関数」で定義されているモード・引数が適切に動作していないというのは事実で、正直間抜け。



----
ご意見などがあれば。
#comment2(below)

#endregion