AI(BOT)の作り方

AI(BOT)作成方法

ここではAI(BOT)の作り方を紹介しています。

目次

ツール紹介


ai_tools_template-18jan2003      値段: タダ
 2ch本スレの有志の方がうpしてくれました。
  >>ftp://download.vol.to/uploader_files/1235278697.zip(※リンク切れ)
 AI関係のファイルで唯一テキスト形式でない、AIに移動許可領域と不許可領域を与える画像ファイルを作るための変換ソフトです。
 Photoshopが必要(?)なようです。
crwbmとcbmrw(※リンク切れ)      値段: タダ
 ai_tools_template-18jan2003をペイントで使えるようにするソフトです。
 ai_tools_template-18jan2003の説明なども含まれています。

CW_Pathmapping_ToolKit
 PathFindingをEditor42に対応させるツール

Genpathmaps
 PathFindingに用いられてるRawファイルをモノクロビットマップファイルと相互変換するツール。

Rexman Ai Path tools.zip
 PathfindingマップをEditor42用地形テクスチャに変換するツール

(2014/8/28:現在リンク切れしている上記のファイルは ここからダウンロードできます。

作成方法



手順1:Coopに対応させる

Coop.conを「/(Map)/GameType/」の中に加えます。

Coop.conの中身は大体以下のようになります。


Game.setNumberOfTickets 1 100
Game.setNumberOfTickets 2 100
Game.setTicketLostPerMin 1 7
Game.setTicketLostPerMin 2 7

run SinglePlayer/SoldierSpawnTemplates
run SinglePlayer/SoldierSpawns
run SinglePlayer/SpawnpointManagerSettings
run SinglePlayer/ObjectSpawnTemplates
run SinglePlayer/ControlPointTemplates

if v_arg1 == host
run ai
run SinglePlayer/ObjectSpawns
run SinglePlayer/ControlPoints
else
endIf

一応、Coopで遊ぶことが可能になりました。
ここで、Coopで遊ぶためには/(Map)/SinglePlayer/フォルダにファイルを追加しなければいけません。
ファイルの中身は/(Map)/Conquest/と同一でも問題はありません。
しかし、以下のようにBot専用リスポンも追加することができます。

例 Bot専用リスポン(SpawnpointManagerSettings.con)

spawnPointManager.group 1
spawnPointManager.groupTeam 1
spawnPointManager.groupIcon test1.tga
spawnPointManager.OnlyForAI 1

このボールドコードを入れることによってBot専用のリスポンが可能になります。
これを上手く活かすことによってBotに兵器を乗せたままのリスポンさせることも可能です。


手順2:AIの設定を弄る

AIの頭脳であるAIフォルダの中身について説明します。
大体coop対応マップには/(Map)/AI/のフォルダがあります。
このAIフォルダはAIの行動や戦術などのファイルが格納されています。
AIフォルダには以下の4種類のファイルが格納されています。

Condition.con
Prerequisites.con
StrategicAreas.con
Strategies.con

手順3:AIの経路を設定する

はじめに
1.加工したいマップを用意します。
2.無印などのマップからAIファイル(<MAP>/AI/)とAIPathfinding(<MAP>/Pathfinding/)を加工したいマップにコピーします。
3.CW_Pathmapping_ToolKitを解凍して、Editor42の準備をします。
4.作業用フォルダを用意します。

ステップ1 <MAP>/Pathfinding/の中にあるPathfindingを地形テクスチャに変換します
歩兵用の経路マップを例にやってみたいと思います。まず、Infantry1level0Map.rawを地形テクスチャに変換する必要があります。
編集する時はLevel0map(Tank0Level0Map.raw、Infantry1Level0Map.raw、Boat2Level0Map.raw、LandingCraft3Level0Map.raw、Car4Level0Map.raw)を加工して下さい。
理由は、このLevel0Mapが一番詳細に経路を設定できるからです。
まず、地形テクスチャ変換に必要なRexman Ai Path tools.zipを展開します。
ここで、展開したフォルダにInfantry1level0Map.rawをコピーします。下の画像のようになるはずです。


マップのタイプや大きさに合ったバッチファイル”_convertToLevelTexture.bat”をメモ帳で編集する必要があります。
ここで説明した箇所以外は編集しないで下さい、その後の作業に深刻な問題が起きる可能性があります。
それでは、実際にメモ帳で編集したいと思います。最初に開いた時に、下の画像のようになっているはずです。


画像の赤いアンダーラインの所がマップによって変える所です。
最初の赤いアンダーラインについては、Tank0Level0MapやLandingCraft3Level0Map.rawのように設定します。
ここでは、「Infantry1Level0Map」と設定します。
もし、 Tank0Level0Map.rawを編集したいなら、その箇所はTank0Level0Mapとします。

次に16にアンダーラインが引いてある箇所について説明します。
この数字はマップの大きさを決め、その数字は以下のようになります。

  • 4 = Small map (4x4) or 1024x1024
  • 8 = Medium map (8x8) or 2048x2048
  • 16 = Large map (16x16) or 4096x4096

この画像の場合だと、16であるため、Largeマップを編集しようとしてることが分かります。

マップの大きさの確認方法は(Map)/Init/Terrain.conに
GeometryTemplate.worldSize 1024
上のように書かれています。
この場合、1024であるため、SmallMapです。そのため、上の画像の二番目のアンダーラインには4と入力します。

そして、加工したいマップに合うように変更したなら、_convertToLevelTexture.batを実行します。
そうすると、コマンドプロンプトの画面上に下の画像のように結果が表示されます。


バッチの実行に成功したなら、dds_terrainフォルダにTx*.ddsファイルが複数あるはずです。
それを加工したいマップの(Maps)/Texturesに全て入れましょう。
上書きする前に、事前に元の地形テクスチャをバックアップしましょう。
これを確認するために、Editor42で加工したいマップを選択すると、下の画像のようにinfantry用のpathmapが地形テクスチャに変わります。


ステップ2 Editor42で編集の準備
Editor42を起動していることを前提に説明します。

Pathマップを編集するために以下の準備をします。
  • F2キーを押して、テクスチャモードへ移行します。
  • Gキーを押すと、テクスチャの質を落とし、グリッド(格子状)を表示します。
  • Fキーを押すと、霧を取り除きます。

左側に下の画像のようなテクスチャバーが表示されます。
機能を左から説明すると、ブラシの形、ブラシの大きさ、不透明度、テクスチャインターフェイス、ペイント全体のマップボタンになります。
  • Eキーを押すか、右から2番目のボタンを選択すると、下の画像のTexture-Shadow root layerウインドウが表示されます。


このウインドウの中のChild LayerにあるDefaultを(マウスポインタが指している所)を選択すると、
下の画像のようなLayer Selectionウインドウが表示され、画像およびマウスポインタで選択しているPlain Colorを選択します。


そこを選択すると、下の画像のようなColorウインドウが表示されます。


画像のように 純粋な 黒と白を使います。純粋な黒の設定方法は、右の赤円を囲っている3つの数字欄を全て「0」にします。
純粋な白も同様に右の赤円を囲っている3つの数字欄を全て「255」にします。
どちらかの画像を選択し、Shadow root layerウインドウまで戻ります。


上の画像のように、Lighting項目のAmbiantを「1.00」に、Sunを「0.00」に設定した後「OK」を押して戻ります。

これから実際に描いてみましょう。

ステップ3 Pathマップを描く
Editor42でBot用のPathマップを作ってみましょう。

テクスチャモードにして、ブラシのOpacityを100%にします(下の画像参照)。

ブラシの種類は下の画像のように2種類しか使用しません。
ここでは、左のブラシをドットブラシ、右のブラシを四角ブラシとします。

保存したい場合は "Tool"→"Save"→Texture"で出来ます。


それでは、実際に工場を例に説明します。
進行可能な色は黒、進行不可能な色は白になります。
工場周りをドットブラシを使って白線で囲みます。


その際、建物周りの白線を下の画像のように4ピクセル以上広げておきます。

ここで白線内側を白に塗りたいので、工場を一時的に退避させます。
O キーを押して、オブジェクトモードにして、工場を選択します。
選択すると、工場の色が変わりますので、マウスのホイールキーを使用してY座標軸(高さ)へ動かします。
そうすることで、工場のXZ座標に影響されず、内側を塗ることができます。
工場を動かした後、下の画像のようになるはずです。


ここで、ドットブラシを使うと時間がかかるので、手間を省くために下の画像のように四角ブラシを使います。


オブジェクトモードへ移って、工場を元の位置に戻します。。


しかし、車庫?にPathマップが設定されていないので、再度編集します。
下の画像のように車庫?にもPathマップを設定することが出来ました。

ステップ3はこれで終わりにします。忘れずに保存をしましょう。

参考リンク





コメント


  • 詳細求む
    -- 名無しさん (2011-11-10 22:52:20)
  • 兵塩!よくやったー! -- 名無しさん (2012-12-06 00:58:45)
  • ツールリンク切れ… -- 名無しさん (2016-04-24 10:24:55)
名前:
コメント:

|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|
メニュー






MOD Info



<<海外MOD>>

<<国内MOD>> (Made in Japan)

カスタマイズ情報


技術情報


その他


訪問者
統計 -
今日 -
昨日 -

最近の更新

取得中です。