東方花映塚AI自作ツール『花AI塚』

花映塚の新しい戦い方を此処に示す。

これは何?

花AI塚は東方花映塚のAIを自作できるツールです。

ダウンロード

ソースコードはgithubを参照。

チュートリアル

花AI塚本

C87で頒布したチュートリアル本。現在PDF版を全文公開。

旧チュートリアル

2014年7月〜10月に連載していたもの。花AI塚本のプロトタイプ。

第1回 はじめての花映塚AI
花AI塚を動かしたり、サンプルAIを読んだり、簡単なAIを作ったり
第2回 弾を避ける
シンプルな弾避けアルゴリズムのAIを作ったり、改善したり
第3回 撃つ
弾を撃ったり、チャージアタックを撃ったり
第4回 撃ちに行く
軌道に沿って動いたり、狙った敵を打ちに行ったり

TODO

その他issue trackerを参照されたし。

関連資料

東方AI開発に関する資料をここにまとめておく。

東方地霊殿の自動プレイプログラムの作成
2012年ロボット技術研究会前期研究報告会にて発表
報告書原稿スライド
東方地霊殿AIシステムの改良
2013年ロボット技術研究会後期研究報告会にて発表
報告書原稿スライド
東方花映塚AI自作ツール『花AI塚』の開発とその前後
2014年ロボット技術研究会前期研究報告会にて発表
報告書原稿スライド

更新履歴

2015/07/12
ver1.7公開
  • AIスクリプトからスナップショットを保存できるオプションを追加。
  • saveSnapshot関数を追加。上記のオプションが有効のときのみ、スナップショットを保存する。
  • リプレイ中(とデモプレイ中)もaiスクリプトを実行するオプションを追加。リプレイ中(とデモプレイ中)はaiスクリプトの自機操作は反映されない。
  • リリー・ホワイトではないボスもisLilyがtrueになるバグを修正。
2015/05/05
ver1.6公開
  • LuaJITから本家Lua実装に戻す。パフォーマンスが悪化するが標準ライブラリ系のバグが直る。
  • 自機のhitBodyRectおよびhitBodyForItemのサイズ取得ミスを修正(hitBodyRectが実際より大きく、hitBodyForItemが実際より小さくなっていた)。
  • メディスンと四季映姫のEXアタックの速度取得ミスを修正。
2015/01/29
ver1.5公開
2015/01/24
ver 1.4公開
  • ver1.2およびver1.3でtable.remove, table.insert, selectが正しく動作しなくなっていたのを修正。
2015/01/12
ver 1.3公開
  • 射命丸EXアタックの座標がズレてたので修正。
2014/12/21
ver 1.2公開
  • パフォーマンス改善。LuaJITを導入。
  • ドキュメントのフォーマットが崩れてたので修正。
2014/05/05
ver 1.1公開
  • 花映塚製品版ver1.00に対応。
  • Bullet.isErasableを追加、消せる弾かどうか識別可能に。
  • ChargeTypeおよびGameSide.chargeTypeを追加、チャージタイプの識別を可能に。
  • hitTest関数の自機vsレーザーの当たり判定処理のバグを修正。
  • GameSide.round_win → GameSide.roundWin にフィールド名を変更。
2014/04/25
ver 1.0公開