東方緋想天/非想天則AIツール Wiki

Last-modified: 2022-06-19 (日) 21:47:05

当wikiでは、黄昏フロンティア制作の弾幕アクションゲーム「東方緋想天」「東方非想天則」に対して
有志により作成されたAIツール「th105_ai」「th123_ai」およびAIスクリプト作成に関する情報を扱っています。


AI作りのノウハウから職人の方々が作られたAIの紹介等、
AIに関することなら何でも遠慮なく容赦なく追記・編集しちゃってください。

AIManager最新バージョン/Latest Version

AIManager ver0.88a 【th123_ai.exe ver0.96】版
導入方法/Introduction(リンク))
ダウンロード/Download(リンク) ※本家
English localized exe ver Download(Link)
初めてAIをご利用の方は、『AIManager』をオススメします。
For those new to this tool, I recommend "AIManager".

※有志AIとは『Vs Player』で対戦します。
You can play with the AI created by volunteers in "Vs Player"


仕様・修正情報
  • ver0.88a
    • AI登録時、末尾2byteが欠けることがあった不具合の修正
  • ver0.88
    • AI詳細画面で”ダウンロードURL”を表示するように
  • ver0.87b
    • 0.87bでは表示更新してもダウンロード済みフラグが更新されていなかった不具合の修正
  • ver0.87a
    • AI起動時に表示が更新されていなかった不具合の修正
  • ver0.87
    • AI vs AIモードを追加
    • エラーリポートの改行が崩れていた不具合の修正
  • ver0.86b
    • AI起動後終了しないように動作変更
  • ver0.86a
    • サブディレクトリを含むAIを登録すると場合により実行できていなかった不具合の修正
  • ver0.86
    • リスト更新時、一部状況で表示上の更新を行っていなかった不具合の修正。
    • 登録数が1以上の状態から更新され登録数が0になると表示の更新が行われなかった不具合の修正。
    • AI登録ウィンドウから登録AIの削除を行えるようになった。
    • 登録AIで過去に起きたエラー内容を閲覧できる機能の追加。
  • ver0.85
    • ローカルにダウンロード済みか、ローカルの物は最新版かを○×△で表示するように
    • ローカルに古いAIを保持していてダウンロード不可能な環境でAIの起動に失敗する不具合の修正
  • ver0.84
    • 通信方法をソケット方式からwinhttpを使用するように変更
    • AI登録時に通信失敗すると例外エラーを吐いていた不具合の修正
  • ver0.83
    • 圧縮済みデータを含めた場合、ほぼ確実にサーバー送信データが破損していた不具合の修正-
    • 自作AI登録後にAIリストからAIを起動した場合に失敗する事があった不具合の修正
    • ソースコードを一部喪失したため書き直した。
  • ver0.82
    • エラーチェックを強化
    • テスト実行機能を追加。
    • 多重起動すると動作がおかしくなる可能性があったため、多重起動を禁止した。
  • ver0.81b
    • 対象キャラクターが複数であるAIを表示する方法が無かった不具合の修正
    • メインウィンドウ(AIリスト)のタイトルバーにバージョン表記を追加

AIツール本体最新バージョン

th123_ai ver0.96 【2013/12/23更新】
導入方法(リンク)
ダウンロード(リンク)
※2020/05/29現在、google社の方針により、同社系統のブラウザからアクセスないしダウンロードができなくなっています。所用の方は別のブラウザからのアクセスをお願いします。


仕様・修正情報
  • ver0.96(2013/12/23)
    • バグ報告機能などと競合していたためexeファイルの暗号化を廃止
    • get_obj_dataでfflagsとaflagsを返すように
    • document.txtのリンク切れを修正
    • ビルド環境をVisualStudio2013に変更
  • ver0.95d
    • 非想天則起動前にF12を押すと落ちていた不具合を修正
    • 攻撃範囲関連で常に不正な値を返していたのを修正
  • ver0.95c
    • AIManagerなどで同時起動すると落ちることがあった不具合の修正
    • AIManagerから起動した場合に指定キャラを無視していた不具合を修正
    • requireを使うとスクリプトリロード時に強制終了していた不具合を修正
  • ver0.95b
    • ファイル選択ダイアログが動作しない不具合を修正
  • ver0.95a
    • KernelXP.dllを廃止
    • exeファイルを暗号化した
    • 495のget_hitareaが一部状況で値がおかしくなる不具合を修正
  • ver0.95
    • get_obj_dataで返るHPがおかしかった不具合の修正
    • 環境変数act_blockの追加
    • コンパイル環境の変更
    • get_special_dataの13と14が動作するように
    • PANIC後の再読み込みが機能していなかったのを修正
    • 非想天則1.10aに対応
  • ver0.93
    • 環境変数my_win_count、enemy_win_countを実装
    • 非想天則1.10に対応
  • ver0.92a
    • ver0.91より環境変数の小数点以下が切り捨てられていた不具合の修正
    • ver0.91eの修正によりリロード時自動的に非想天則がアクティブにならなかった不具合の修正
  • ver0.92
    • 関数get_key_stat2、get_key_map2を実装

テストバージョン分

  • ver0.91e
    • ver0.91dの修正により、環境変数が初期化される前にロード処理が走っていた不具合を修正
  • ver0.91d
    • ver0.91cの修正によりリロード機能が正常に動作していなかった不具合の修正
    • ver0.91cの修正によりリロード時自動的に非想天則がアクティブにならなかった不具合の修正
    • 環境変数my_rei_stop,enemy_rei_stopを追加
  • ver0.91c
    • スクリプトの内部動作を大幅に変更
    • get_special_dataでダイアモンドハードネスの情報を取得出来る用に
    • command関数で22,44,66,88といった入力が行えなかった不具合の修正
    • スクリプトの内部実装を若干変更
  • ver0.90c
    • is_card_use、my_spell、my_cardが晴嵐時でも通常通りの値を返していた不具合の修正
    • 内部的にいくつかの環境変数の処理方法を変更
    • get_card_cost2において、本来であれば-1を返すべき場面で-2を返していた不具合を修正
    • 非想天則の極光時にweather_delayが正常に動作していなかった不具合の修正
  • ver0.90b
    • enemy_hitstopが常にmy_hitstopと同じ値になっていた不具合の修正
  • ver0.90a
    • iniのPlayerの設定が1か2以外のとき、強制的に1P扱いするはずが場合により2P扱いしていた不具合の修正
    • ゲームパッド使用時、動作側検出処理を微修正
  • ver0.90
    • 環境変数aflags、fflagsを実装
    • 関数get_aflags、get_fflagsを実装
  • ver0.89
    • 食らい判定が極少量ずれていたため算出方法を変更した。
    • get_obj_hitareaおよびget_obj_attackareaで一部取得に失敗していた不具合の修正
    • 上記変更に伴うobj関連内部動作の大幅な変更
    • create_threadで生成されたスレッドが場合により実行順序が入れ替わる可能性があった不具合の修正
    • create_threadにおいて可変引数の受け渡し機能に対応(Thx 東方緋想天 AI関連スレッド2 >>155)
  • ver0.88b
    • キーコンフィグにて今まで認識していなかった一部記号キーも認識するようになった。
    • F11キーとF12キーの検出率が悪かった不具合の修正
    • iniに緋想天もしくは非想天則終了時にth123_aiも終了する機能、AppDownExitを追加
    • 0.88aより同時起動した場合にキーコンフィグが正常に取得できていなかった不具合の修正
  • ver0.88a
    • get_special_dataにおいて8/16/13/14/9/15番が動作していなかった不具合の修正
    • get_special_dataで長視「赤月下(インフレアドムーン)」の残フレーム数を取得できるように
    • AIManagerから起動後、F11を押して別AIを読み込んだ場合でも起動時のAIのものとしてエラー報告が動作していた不具合の修正
    • キーボード使用時、AI動作側自動認識の精度向上
  • ver0.88
    • th123_ai.exeエラー時の報告先を変更した
    • AIManagerから起動された時に限り、スクリプトエラー時にエラー内容をサーバに登録する機能の追加
    • 0.86fよりパチュリーおよび優曇華を使用時に例外を吐いていた致命的不具合の修正
    • get_special_data関数の全機能が非想天則に対応
  • ver0.87a
    • キーボード使用時、AI動作側検出の精度を向上
  • ver0.87
    • 0.86fの自動起動の修正に漏れがあった問題を修正
    • 0.80よりエラー時にサーバへエラー情報を送信する機能が動いていなかった不具合の修正
    • 環境変数my_timestop/enemy_timestopの追加
    • get_obj_dataの返り値に攻撃範囲の数と食らい範囲の数を追加。
    • get_version関数を追加。
    • get_special_dataで神奈子ゲージと諏訪子ゲージを取得可能に。
    • 環境変数stage_numberの追加
    • 環境変数bgm_numberの追加
  • ver0.86f
    • ver0.80よりStartupTH105が機能していなかった不具合の修正(Thx 「東方緋想天 AI関連スレッド2」 >>114)
    • iniにStartupTH123を追加。
    • StartuoTH105およびStartupTH123の自動書き換え機能の廃止
    • get_skill_lvが場合により正常な値を返さないことがあった不具合の修正(Thx 「東方緋想天 AI関連スレッド2」 >>116)
    • get_card_idが場合により正常な値を返さないことがあった不具合の修正
    • get_card_costが場合により正常な値を返さないことがあった不具合の修正
    • get_card_cost2が場合により正常な値を返さないことがあった不具合の修正
    • get_hitareaが場合により正常な値を返さないことがあった不具合の修正
    • get_attackareaが場合により正常な値を返さないことがあった不具合の修正
    • get_special_dataが場合により正常な値を返さないことがあった不具合の修正
    • get_skill_lvでパチュリーの112~114のLvを取得できなかった不具合の修正
    • 自動起動が場合により動かないことがあった不具合の修正
  • ver0.86e
    • ver0.86よりobj_disおよびobj_dis2で未発見時10000ではなく2147483647を返していた不具合の修正。
    • 中間ファイルが削除されずそのまま放置される事があった不具合の修正

導入方法

左はAIManagerの導入説明を行う動画。
右は、ザックリとth123_aiとAIManaerの導入&説明を行う動画。
右は最新版より古いverであるため、挙動が異なります

詳細はそれぞれの導入方法へ

公開済みのAIスクリプト

非想天則用AIはAIManagerからの入手をお勧めします。

緋想天用はこちらから

現行スレ

東方緋想天 AI関連スレッド2
https://jbbs.shitaraba.net/bbs/read.cgi/game/44334/1247234329/

仕様・修正情報

関連スレ

非想天則関連ツールスレッド5
https://jbbs.shitaraba.net/bbs/read.cgi/game/48698/1282026075/

管理人より

FrontPage凍結してないWikiが多いみたいなので凍結解除。
やっぱりみんな自由にいじれたほうがいいよね。
Topページがごちゃごちゃしてきたので一度整理したほうがいいだろうか。
Topの文言が堅苦しかったのでいまさらながら削除しました。