■プロフィール

うなちょ

Author:うなちょ
うなちょのほんわか日記へようこそ

RagnarokOnlineと、PC版Minecraft++Forge+MODで
遊びつつ、片手間でWindowsのソフト作って遊んでます

■最近の記事
■最近のコメント
■最近のトラックバック

■月別アーカイブ
■カテゴリー

■リンク
■RSSフィード
■ブログ内検索

うなちょホットライン

うなちょへ直接連絡したい場合は、こちらから。
うなちょのPCメールへ着信するので、比較的
レスポンス早いかも…?(5分周期でチェック中)
※E-Mailですので、メルアドがある方のみです
※うなちょの携帯に転送する方法は、直接聞いて
  くだし。
無料アクセス解析
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | --:--:--

うなちょうの頭の中(*゚◇゚)<くるっぽー
そーいや、うなちょうAIの事をほとんど書いていない気がする。

ということで、うなちょうAIの仕組み。

まず、基本的にAIの動作がどうなっているか。
大体0.5秒に1度、AIの処理が呼ばれて、定期的に動くわけですが、
動くのは、必ずメインの処理から、と決まっているのです。
だけど、グローバル変数(処理の外に定義する変数)は初期化されない
ので、次回の呼び出しに反映させたい場合は、グローバル変数に記憶
させることが必要です。

さて、うなちょうの思考がどうなっているかというと、こういう行動
原理になってます。

1、ケミが殴っている相手があるか否か。
 殴っている→一緒に攻撃をする。3へ。
 殴っていない→Mobの検索を行う。2へ。

2、ケミの周りを回る。
 四角でなくて、8方向をぐるぐると回る。
 3へ。

3、Mob検索。ケミとMobの一番近い距離と、うなちょうとMobの距離
 けみ~Mob<うなちょう~Mob→けみに近いMobを攻撃。4へ
 うなちょう~Mob>けみ~Mob→うなちょうに近いMobを攻撃。4へ
 ※この検索でうなちょう~Mobが近い場合、ケミとの距離10セルのリミットを
  超過して攻撃を行う。通常は、10セルまでしか離れない様にしてある。
  ただし、13セル以上は見えなくなるので、13セルが限度。

4、被弾が大きいか?
 0.5秒でHPの5割を消失→うなちょう~ケミの距離の180度逆側に逃げる
 残HPが20%未満→上と同じ
 上記以外→攻撃を継続
 ※これは、けみがPPをしやすい様に、逆側に逃がしている

けみが座った場合
ケミの位置の西側、つまりX座標-1、Y座標は同一の位置へ移動。
これは、横殴り強制終了のための処置。横殴りしに行ったら、座れば
とにかく戻ってくる。
うなちょうアターックと言ってこれをやるけど、実はこんな理由から実装した
アルゴリズムだったりする。

ほかに、タイマーもある。
ケミが座っている状態で、うなちょうが西側に来ている状態で、
うなちょうの西側セルへの移動指示→タイマー+1分。
西側セル+2へ移動指示→タイマー+10分。
これは、空腹時間の計算に使う。結果はファイルに書き出しているので、
できればAIフォルダのUSER_AIフォルダの下にRAMドライブを割り当てるのがいい。
そこに、0.5秒に1回タイマーの結果が出力される。
えさ1個について西2セルを1回って感じ。
ただし、これはこの出力結果を見るツールと連動させないと使い物にならない。

タイマーのリセットは、ケミと同じ座標に移動させるだけ。これで0になる。
間違えた場合に使う。

本来ならば、もっといろいろやらせてみたいけど、既に内部ロジックを覚えてない
ので、また作り直さないと…w


|ω゚)ノ LUA便利なんだけど、ちょいと悩むな


┣【RO:ほむAIを育てよう!】 | 00:55:41 | Trackback(0) | Comments(0)

コメントの投稿

管理者にだけ表示を許可する

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。