« めも | トップページ | CPUスクリプト覚書~最低限動作CPU作成~ »

2009年6月12日 (金)

CPUスクリプト覚書~基本構造~

CPUスクリプトについて解説のような覚書を書こうと思います。
スクリプト作成に関する個をとまとめながら
気付いたことをチョコチョコ補足で書いていくんで、
あまり参考にならない記事になりそう。

興味ある人はどうぞ。

【CPUスクリプト基本構造】
□スキン設定用iniファイル(Sample:index.ini)

└□CPUスクリプト(Sample:HogeCPU.lua)
 │
 └□デッキAIスクリプト(Sample:Deck1AI.lua)


【CPU作成大筋の手順】
[1]ABCD本体のskinフォルダ内にCPU用のフォルダを作成する
 例:ABCDX_02_11\skin\hogescript
    →「hogescript」フォルダを新規作成

[2]必要なファイルをぶちこむ
 ・スキン設定用iniファイル
 ・CPUスクリプト
 ・デッキAIスクリプト
 ・CPUで使う画像とかスキン設定画面用のSS画像とか

【CPU作成~スキン設定用iniファイル編~】
最初に設定用のiniファイルを作成します。
iniファイルなので必要事項を埋めればいいだけです。楽勝。

【CPU作成~CPUスクリプト編~】
CPUスクリプトのファイルを作成します。
ここも基本動作ではなくCPUの定義のみなので楽勝です。
編集部分も「CPU名」と「デッキ」と「画像」の3箇所のみ。
 →詳細は公式リファレンス

【CPU作成~デッキAIスクリプト編~】
さて、一番の肝です。
ここから本格的にスクリプトを作成していきます。

luaについてあまり習熟していないのでluaについての深い説明は省きます。
あくまでABCDのCPUスクリプトに特化した説明にしようと思います。

ですので最低限のプログラム知識を持っている前提で進めます。
感覚的にJavaとかC++とかやったことあるならダイジョブそうだよ。

~AI基本構造~
ABCDのスクリプトは「関数」を定義します。
関数はABCD本体が動作する際にそれぞれのタイミングで呼び出され、実行されるようです。
関数内で指定した動作は関数が返った後にABCD本体で実行され、CPU動作となる。みたい。

叩き台用に「空スクリプト」を用意しておきました→参考DL:空スクリプト「EmpScript.zip」

関数定義だけしてあって中身すっからかんのファイルです。
ABCD本体付属のサンプルスクリプトは参考になりますが
CPU作成ソースとしては若干扱いにくいので
この空スクリプトを編集する前提でこれから話しを進めていきます。

さて、
定義するべき関数は下記の通りです。
以下のリストには呼び出されるタイミングも<>←この中に記載しておきます。
ABCDのAIスクリプトはこれらの関数全てと「AI_INFO」を定義することで完了します。

★AI_INFO     :AIに関する情報や処理間隔を定義<起動時にロード>
★CreateDeck   :CPUデッキ内容を定義<起動時に呼び出し>
・CreatePlayerDeck:プレイヤーデッキ内容を定義。通常はNIL指定<起動時に呼び出し>
・OpenDeckSelect :デッキ選択時処理<デッキ選択時に呼び出し>

・InitializeGame :画像を読込・初期化<初回対戦時だけ呼び出し>
・FinalizeGame  :読込画像を解放<対戦終了時に呼び出し>

★InitCPU     :対戦初期処理<毎対戦開始時に呼び出し>
★GameOver     :対戦終了処理<勝敗決定時に呼び出し>

・ShuffleLib    :CPUデッキの並びを操作。NIL指定でシャッフル<シャッフル時に呼び出し>
・ShufflePlayerLib :プレイヤーデッキの並びを操作。NIL指定でシャッフル<シャッフル時に呼び出し>

★ExecCPU     :CPUAIメイン処理<処理間隔毎に呼び出し>
★CheckReDraw   :リドローのチェック<処理間隔毎リドロー可能時に呼び出し>
★SelectBlock   :ブロッククリーチャー選択<戦闘フェイズ開始後に呼び出し>
★SelectBattleSpell:バトルスペル選択<戦闘フェイズでブロック指定後に呼び出し>

★マークがついてる部分は編集必須です。
通常対戦のCPUを作るならば他はデフォルトのままでも問題ありません。
細かい説明は公式リファレンスを見たほうが良いです。


次から簡単なCPUを作る要領で個別に解説していきます。

|

« めも | トップページ | CPUスクリプト覚書~最低限動作CPU作成~ »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/64082/30070418

この記事へのトラックバック一覧です: CPUスクリプト覚書~基本構造~:

« めも | トップページ | CPUスクリプト覚書~最低限動作CPU作成~ »