ホムAI置き場( 安っぽいAI )-**Poverty AI (Cheap AI)

(My English is unskilled.
So, it is likely not to understand easily though it comments by using the machine translation.)

This page is a page to distribute the customizing version of the AI file
used by "Homunclsshistem" of "R A G N A R O K online^(TM)" that is MMORPG.
sorry,this site is for Japanese.

初心者のためのホムンクルスAI講座(ネタ)

安っぽいAI Ver7以降の利用マニュアル(06/11/06)
安っぽいAI Ver6以前の利用マニュアル(06/08/21)

安っぽいAIの機能 & 更新履歴(Download of AI)

↓AIに関する製作者の呟きはこちら(blog)
ホムンクルスAIについての独り言

↓AIに関する質問やバグ報告はこちら
AI関連BBS

AIの旧Ver置き場(old version)



ホムAI関連リンク

Lua 5.0 リファレンスマニュアル
AI機能比較表+人力アンテナ
The Winter's Tale
ホムンクルス用ライブラリを配布するサイトLv.1
ケミスレテンプレ

[AI機能比較表+人力アンテナ]から他ホムAIの配布ページに飛べるので自分に合ったAIを探してみるのもいいかもしれません


作ったAIをこちらにUPしていきます
AIの書き換えは必ずバックアップをとってから、自己責任で行ってください

※動作確認環境はバニルミスト、フェイヨンダンジョン1階で行っています※

「ホムは使役するもの友達」をコンセプトに半自動化を目指しています。
コードは出来るだけ複雑な処理を使わない様にしてデータの流れを追いやすく、
ホムの動きは、『ケミのサポート』に留まり勝手な行動は最小限に、
愛でるために多少ドジで気まぐれな行動を残す様に、

そんなつもりで作っています。

一応主役はケミです、例えホムの方が強くても
|||orz


2006/3/28
※zipファイルを直接ダウンロードできるようにしました、HTML版も同時に残しておきます

2006/4/5
※更新の手間から、Ver5よりHTML版を廃止します

2006/7/15
他所AIは全部愛称があるようなのでこちらも愛称をつけようと思索したところ
一部から「安っぽいケミ」として評判があるので「安っぽいAI」と命名…
でも本人に直接「安ケミ」とか言わないで・゚・(ノД`)・゚・

2006/11/10
古いバージョンを新職業に対応させました
「古いバージョンの方が使い易かったよ!ヾ( `Д´)ノ」
という方が居ましたら、このバグ修正済みのものをご利用ください
(修正後の動作テストを全てしきれてないので、もし新たなバグがありましたら報告をお願いします)


現在認知している不具合

・特になし



ダウンロード(Download)[(2007/6/1)Ver7_5]


07/6/1:ダンスモードにおける内部変数の定義が修正前に戻ってたのを再修正

・[Config.lua]で、一箇所を変更するだけであらかじめ用意されたAI設定になる「簡易設定」の項目を設けました
・初撃スキルとオートスキルのスキルレベルを別個に設定できるようになりました
・初撃スキルとオートスキルのいずれか、または両方をランダム発動できるようにしました
・リーフの治癒の手助けの動作確認が終了、自動で発動していなかったバグを修正しました
 (動作確認に名乗り出て下さった方に感謝します)
・さらにPCの負担を軽くする処理を追加しました

・06/09/09:コメントを一部英語化(A part of comment is made English at this AI.)

・おまけとして、GV用AIの[GV向けAI試作型]を添付しています
◆g37UcEp//g 氏の「GV用AI:2006/07/05」を参考にしています
・各自で処理の追加をし易い様に、機能ごとに 10ファイル に分けています
・各自で処理の追加をし易い様に、バグの特定を補助する簡単な関数を追加しています
・ダウンロード版のAIのファイルには、余分な機能を削除した「簡略版」も添付されています
-機能-
New・指定キャラが特定の文字を含む発言を行った後"/savechat"で生成される
 ログファイルを読みにいくことで、発言ログを認識する処理を実装
New・上記のシステムによりダンスモードへ切り替わります
 ダンスモードはデフォルトではOFFになっており、
 このモードではケミの動きに合わせてホムが一定パターンの動作を行います
 (現在実装しているパターンは主人と対照移動、鏡移動 の2パターン)
New・攻撃パターンをいくつか付け加えました、[Config.lua]で設定を行えます
 また、攻撃パターン3に壁モードを実装しています
New・壁モードでは、敵を一匹殴ったあとその敵を放置します
 また、主人にタゲがついたらそれを剥がしに来ます
 ホムが抱えるタゲが3匹以上になったら敵の数を減らします
New・パトロール機能時の行動パターンを一つ増やしました
 "指定セルずつ"ランダムに移動するパターンを追加
New・[Config.lua]の項目を若干修正
New・勝手に殴りに行かない「動かない敵」のリストにドラゴンの卵を追加
New・おまけモード、「ホムの独り言」を実装、デフォルトではOFFです
New・処理を軽くするために、敵が居ないときは無駄なループをまわさないようになっています
 しかし、ダンスモードとおまけモードで外部txtファイルの監視処理が重いので
 PCの性能が良くない人はこの二つの機能をOFFにしておいてください(デフォルトでOFFとなっています)

・PCと回線への負担軽減を図る処理をいくつか追加
・登録したキャラをタゲっているMobを優先して殴る防衛モード
・ステップコマンドで自立して索敵するパトロール(遊撃)モード
・ステップコマンドで優先して防衛する防衛登録を行えるモードの切り替え
・障害物を自動で回避する移動判定を実装
 (不完全なため地形によっては回避判断が行われないことがある)
・HPが減ると攻撃をキャンセルして敵から逃げ回る(逃亡中は手動スキルで反撃可能)
・横殴り防止機能
 (キャラの側にMobが居ると殴らない、Mobの攻撃相手が自分以外だと殴らない、
 スキルや遠距離攻撃でタゲがかぶっても攻撃しない
 ただし手動で攻撃命令を出した場合はそのまま攻撃しに行きます、PT戦や共闘で使用して下さい)
・オートスキル
(カプリス、ムーンライト、フリットムーブ、治癒の手助け、緊急回避、キャスリング)
・初撃スキル(初期設定はOFF)
・ALT+右クリックでホムを移動させた時、主人が動くまでその場に待機することが出来る
・ホムのタゲ優先度を、主人優先、ホム自身を優先と設定可能(初期設定は主人優先)
・主人がタゲられたら攻撃をキャンセルして主人の敵を殴りに行く「ご主人はぼくが守る」モード(初期設定はOFF)
・攻撃中でも、主人との距離が離れると主人を追う方を優先
・主人が移動中は非先行となり追尾を優先
・主人からどのセルまでのMobを殴るかの設定で、0を設定することで非先行になる
・ALT+Tの待機状態の時、手動でスキルを使っても敵を殴りに行かない自走砲台モード(初期設定はON)
・反撃しない敵を主人と一緒に殴ってくれる
・バイオプラントと草、卵、プパは自分から殴りに行かない

-更新履歴-
Ver7.5:06/12/04
・Ver8以降で実装予定だった、
狩りでホムにPT戦略を判断させる構想 の一部をルートMobの溜め込み対策に特化して先行的な仮実装

主にルートMobが密集した時に視野内に他キャラがいたら、
Mobへの攻撃を遠慮する行動を自分で判断して行います

:視野内にルートMobが一匹だけで、ドロップをルートするMobが他に居ない場合は主人の側のMobだけ倒す
:視野内にルートMobが二匹しか居ない場合、ドロップをばらまいて呼び寄せることがないようそのMobは攻撃しません
:視野内にルートMobが三匹以上居てそれが三匹以上密集している場合
(アイテムでルートMobを呼び寄せてしまった場合)8秒間攻撃せずMobを譲る時間をとる
:視野内に3匹以上居て特に密集もしていない場合は通常と同じ攻撃をします

以上の判断をホムンクルス自身で行います

また、他のノンアクがルートMobに似た条件を満たしてしまう場合
(狭いマップでノンアクティブが密集している)
そのMobのIDを記憶して以降はルートモンスターと同じ扱いをする簡易的な自己学習機能もついています
(汎用版専用、簡易版には学習機能はありません)
ここで学習したIDは今後、マップが変わってもずっとルートMobとして扱われます
狭いマップに篭る際はあらかじめご了承ください

Ver7.4:06/11/06
・壁モードにおけるバグを修正
(ホムの敵を保存し管理する処理に不具合がありました)
・壁モード時のホムの挙動を微調整
:06/11/24
・壁モードにおける敵IDの取り扱いを微調整

Ver7.3:06/10/26
・横殴り処理が新職業に対応できていなかったのを確認、修正し対応させました
(こちらの予測した職業IDと違っていたので正しい職IDに対応させました)
:06/10/29
・壁モードの不具合を確認、一部を修正

Ver7.2:06/09/20
・[Config.lua]で、一箇所を変更するだけであらかじめ用意されたAI設定になる
 「簡易設定」の項目を設けました
・初撃スキルとオートスキルのスキルレベルを別個に設定できるようになりました
・初撃スキルとオートスキルのいずれか、または両方をランダム発動できるようにしました
・手動でのスキルが行えなかったものを修正
・リーフの治癒の手助けの動作確認が終了、自動で発動していなかったバグを修正しました
・さらにPCの負担を軽くする処理を追加しました
・オートスキルの発動率を100%と設定した時の挙動を調整しました
・その他、ホムの細かい挙動を微調整
・コメントの英語化を少し進めました

Ver7.1:06/09/10
・[Config.lua]への設定値の記入ミスをある程度フォローする処理を追加
・上記の処理の追加に伴い、オートスキルの発動率を正確に管理するため、ランダム値の扱いを若干修正
・オートキャスリングの挙動を若干調整
・防衛機能でキャラクターを防衛する機能が働いていなかったのを修正
・主人から何セルの距離を追いかけるかが任意に設定できるようになりました
・ダンスモード、おまけモードにおけるファイル監視処理を若干調整、大幅に処理を軽くしました
・パケットの負荷が軽減されるように処理を調整
・コメントを一部英語化

Ver7.0:06/09/02
・/savechatによって保存したログを元に発言命令を認識する処理を追加
 これによってダンスモードになることができます
・ケミの動きに合わせて一定パターンの動きを行う「ホムケミダンサーズ」を実装、デフォルトではOFFです
・攻撃パターンをいくつか追加
 [Config.lua]で[APattern]を変更することでこちらで用意した3パターンに変更することが出来ます
 パターン0→デフォルトの殴り
 パターン1→敵の前後を行ったり来たりして殴る、なんちゃってバックスタブ
 パターン2→敵の周囲をぐるぐる周りながら殴る、かごめかごめ
 パターン3→壁モード
 一発殴ったら放置、主人にタゲがついたらタゲが剥がれるまで殴り続ける、タゲが3匹以上溜まったら全力攻撃
・パトロールパターンを一個追加、[指定セルずつランダム移動]が追加されました
・いくつかの同じ処理を関数化
・変数を見直しいくつかの変数名を変更、またローカル化できる変数をいくつかローカル処理へ変更しました
・手動移動後の待機状態でも敵を認識できるように処理を追加
・敵が居ない時は極力ループ処理を行わないようにしました
・勝手に殴りに行かない「動かない敵」のリストにドラゴンの卵を追加
・おまけモード、「ホムの独り言」を実装、デフォルトではOFFです
・[Config.lua]に項目を追加、これで横殴り防止において、プレイヤーの何セル内の敵を殴らないかを調整可能
・Aspdの調整について、攻撃モーションを表示するかどうかのyes/noのみで設定できるようにしました
 攻撃モーションを表示するようになると、自動で750mmの攻撃ディレイがつきます

Ver6.5:06/09/01
・フィーリルのフリットムーブの処理を修正
・上記の修正に伴い、同じ処理を使用しているリーフの緊急回避の処理を修正
・リーフの緊急回避の処理におけるスキルかけ直しのディレイの扱いを見直し
・上記の二つのオートスキルに関して、発動のタイミングを選べる様に[Config.lua]に項目を追加
・アミストルのオートスキルのキャスリングが働いていなかった点を修正
・重複している処理を関数化
-この時点でテストを行っていない処理はリーフのヒールのみです

Ver6.4:06/08/25
・Ver6.3のバグをチマチマ潰してマイナーアップデートしてきたけどいい加減変更箇所増えてきたのでバージョン変え
・中身はVer6.3と同じです、名前を変えただけです
Ver6.3を配布してから今までに除去されたバグ
:移動成否処理における誤字を修正
:防衛機能におけるバグを除去
:Config.luaにおけるデバック用のおまけコードに誤字
:オートスキルにおけるリーフの治癒の手助けの処理のバグを修正
:GetEnemy.luaの非先行におけるバグを修正
:パトロールモードにおける脱字修正
:移動成否処理におけるバグ修正

Ver6.3:06/08/11
・追加した機能に対してコメントを追加、またコメントの誤字を修正
・ホムの挙動を調整、スムーズに動く様にしました
・無駄な処理を省いて最適化を図りました
・障害物自動回避のMoveCheckについて、一定時間を過ぎると目的地をずらしていく機能を追加しました
・GV用AI試作Ver2 において若干の処理の修正を行いました

Ver6.2:06/08/09
・敵を攻撃する際に記録した座標がズレて障害物自動回避のMoveCheckにて
 移動の成否判断が正常に行われたなったのを修正
・テレポなどの再生成でホムの支援スキルは効果が切れるとの情報により
「フリットムーブと緊急回避がテレポやリログでかけ直しされないようにスキルかけ直しの時間を管理する処理を追加」
は無意味な処理だったことが発覚、旧仕様に戻しました
初回限定様ありがとうございます

Ver6.1:06/08/08
・障害物自動回避のMoveCheckについて、各フラグを手動トレースした結果
 フラグとさせたい処理がうまくかみ合ってなかったことが発覚
 このズレを修正したことにより障害物回避処理の効率が上りました
・バグの特定を補助する簡単な関数をさらに弄ってさらに使い勝手を良くしてみました
・コード内の各説明文を見直し、若干修正
・進化後のホムの攻撃速度が遅くなる減少について、
 緊急措置として攻撃モーションをキャンセルする処理(2回Attack)をさらに追加
 効果の方は不明ですがこちらは負荷が少ないため
 どうしても進化後の攻撃速度が気になるなら試してみてください
・スタック対策の更新、ちょっとだけ性能アップ

Ver6.0:06/08/05
・AIのカスタマイズをし易くするために処理ごとにAIのファイルを分けました
 それぞれのファイルの詳細は添付マニュアルで簡単に説明しています
・バグの特定を補助する簡単な関数を追加
・オートスキル処理全体の見直しにより無駄な処理を削除
・治癒の手助けとキャスリングの処理を若干修正
・全体的な処理の見直しにより処理の軽量化
・進化後のホムの攻撃速度が遅くなる減少について、
 緊急措置としてAI周期を微調整出来るコードを追加
 AIの遅延によってらぐが発生するのでこの設定は自己責任で行ってください
・ステップコマンドの実装と同時に指定キャラのタゲを優先して殴る防衛機能と
 自立して索敵し、戦闘を行うパトロール機能を実装
・簡単なスタック対策(しかし完璧ではない)
・汎用MoveToOwnerを追加
・移動の成否を判断して障害物を自動回避するMoveCheckを追加、
 (まだ研究過程のためアルゴリズムが最適化されておらずちょっと処理が重いかもしれません
 どうしても障害物に引っかかる様だったら手動操作で脱出させてあげてください)

・横殴り防止機能での弓手対策の処理を修正
・フリットムーブと緊急回避がテレポやリログでかけ直しされないようにスキルかけ直しの時間を管理する処理を追加

Ver5.6:06/07/16
・GetMyEnemyの処理を微調整、先行状態でも自分をタゲっているMobを敵リストに入れることで
 AttackArea = 0 とした時非先行と同じタゲ判断となるようにしました
・自分と主人がタゲられている時はキャラが近くに居るかどうかに関わらず反撃出来るように調整
・弓手の場合、モーションとダメージ(タゲ決定)の時間差のせいでうまく横殴りの判断が出来なかったのを微調整
 弓手に限り、タゲが被ったら攻撃をキャンセルするはず・・・
 (攻撃を続行するときは手動で攻撃してください)

Ver5.5:06/07/14
・横殴り防止機能強化で追加した処理が特定条件でしか動かなかったバグを修正、確実に動くように
・主人が殴ったMobをターゲットとした時、一度タゲが離れるとタゲがリセットされる擬似リセット処理を追加
・攻撃速度を任意に調節できるようにマイナーチェンジ

Ver5.4:06/07/13
・Ver3以降発生していた攻撃モーションがキャンセルできないバグを修正
・処理の流れとを全体的に見直し、無駄を極力省いて処理を全体的に軽くしました

Ver5.1:06/04/15 (Ver5.2とVer5.3は攻撃モーションがキャンセルできないバグを直すための試行錯誤版のため記載せず)
・リーフのオート治癒の手助けの処理を微修正

Ver5:06/04/05
・横殴り防止機能を強化、スキルも認識するように処理追加、さらにMobのそばにプレイヤーがいる場合は殴らないように
 (ただし、手動で攻撃命令を出した場合はそのまま攻撃しに行きます)
 (完璧ではないので、ある程度ALT+Tで調節しなければなりません、トレインは判断できません)
・主人のケミが一定以上離れると攻撃を中断して追いかける「ご主人様どこいくの?」機能を実装
・主人が移動中は非先行タイプになり、主人を追う方を優先します
・リーフの治癒の手助け使用の部分を修正、失敗判定を強化

Ver4:06/03/30
・戦闘中でも、主人のタゲを優先してとりにいく「ご主人はぼくが守る!」モードを実装(初期設定はOFF)
・ホムのタゲ優先度を、主人優先、ホム自身を優先と設定可能(初期設定はホム優先)
・Mobの死体に固執しないように調整
・ALT+右クリックの手動移動の時ケミが動くまでその場に留まる様に調整、(留まる距離も設定可能)
・ホム生成後、二秒後に主人のセルから自動で飛び出します

Ver3:06/03/28
-- 攻撃モーションがキャンセルできず攻撃速度が遅くなるバグ発生
・逃亡処理を若干軽量&簡略化
・逃亡時、バイオプラントと反撃しないMob(プパ、卵、草、キノコ)に反応しないように調整
・ALT+Tの待機時に攻撃スキルを使用しても殴りに行かないで主人を追尾する自走砲モード実装(デフォルトではON)
・暗転時に勝手に動かないように、テレポやマップ移動後は主人が動くまでその場で待機するよう調整
・攻撃の初撃にスキルを自動発動する初撃スキル実装(初期設定ではOFF)
・オートスキル実装
 (カプリス、ムーンライト、フリットムーブ、治癒の手助け、緊急回避、キャスリング)
・Alt+Tの待機状態と戦闘中は支援スキルのオートスキルは発動しない
・先行時、バイオプラントと反撃しないMob(プパ、卵、草、キノコ)を殴りにいかないように調整
・リーフはデフォルトで非先行に
・ファイルが2個に増加
・各ホムンクルス用に、使用しない他ホムの処理を省いた専用AIを添付

Ver2:06/03/18 → 06/03/20(改良中の古いAIをアップしてしまったため再アップ)
・攻撃中でもHPが減ると攻撃をキャンセルして逃亡処理に移る様に改良
・逃亡中も手動でスキルが使えるように(スキルを使っても殴りに行かない)
・等速移動時にパケ送りまくりの仕様を調整
・[追加分global variable]の数値を変更することで設定変更を可能に
・コードを少し整理

Ver1:06/03/17
・HPが40%以下になると非先行型に切り替わり、Mobから逃げ回る
・主人の近くに居るMobしか殴らない(周囲6セル)
・先行型の時の横殴り防止 (ただし射程外攻撃しているPCには無反応)
・草など、反撃しないMobを主人と一緒に殴ってくれる
・移動の時遅れ気味なホムがまっすぐついてくるように調整
・ホムが主人から離れすぎないよう微調整


旧AI置き場 旧Verはこちら


戻る