small.map の解説
small.map は次のような中身です。
border_size=1
usage=map
Gg,Gg,Gg,Gg,Gg
Gg,Gg,Gg,Gg,Gg
Gg,Gg,1 Gg,Gg,Gg
Gg,Gg,Gg,Gg,Gg
Gg,Gg,Gg,Gg,Gg
border_size=1
usage=map
この2行は「お約束」ですので、このままにしておきましょう。
なお、「border_size=1」を数値を変えるとエラーとなります。
「usage=map」は、「これはマップ用です」というほどの意味でしょう。
Gg,Gg,Gg,Gg,Gg
Gg,Gg,Gg,Gg,Gg
Gg,Gg,1 Gg,Gg,Gg
Gg,Gg,Gg,Gg,Gg
Gg,Gg,Gg,Gg,Gg
の「Gg」は地形を示しています。この場合は草原です(多分 grass の意味)。
5×5で25個ありますが、実際のマップでは、3×3の9マスとなります。
3行め真ん中の「1」は第1のプレイヤーのリーダーの居場所となります。
なお、実際に
マップを作るときは、マップエディタを使いましょう。
_main.cfg の解説
_main.cfg の中身
[campaign]
id=small campaign
name= _ "small_campaign"
define="CAMPAIGN_SMALL_CAMPAIGN"
first_scenario=small
[/campaign]
[scenario]
id=small
next_scenario=null
map_data="{~add-ons/small_campaign/small.map}"
turns=-1
[side]
side=1
controller=human
team_name=human
type=Sergeant
id=XXX
canrecruit=yes
[/side]
[/scenario]
少しずつ見ていきましょう。
[campaign] タグ
[campaign]
id=small campaign
name= _ "small_campaign"
define="CAMPAIGN_SMALL_CAMPAIGN"
first_scenario=small
[/campaign]
[campaign] タグで挟まれた中には、はキャンペーン全体の設定が書いてあります。
- id はパソコンに認識させるためのキャンペーンの id です。
- name はプレイヤー(人)向けのキャンペーンの名前です。ゲーム画面には、こちらの名前で表示されます。
- define には、パソコン向けにキャンペーンの概要が書いてあります(キャンペーンであることとタイトル)。
- first_scenario は、最初のシナリオの id が書いてあります。シナリオがひとつしかない場合でも必須です。
[scenario] タグ
[scenario]
id=small
next_scenario=null
map_data="{~add-ons/small_campaign/small.map}"
turns=-1
[side]
side=1
controller=human
team_name=human
type=Sergeant
id=XXX
canrecruit=yes
[/side]
[/scenario]
[scenario] タグで挟まれた内側には、シナリオについて書いてあります。
- id はパソコンに認識させるためのシナリオの id です。これは最初のシナリオ(と言ってもはじめから1つしかありませんが。)なので、_main.cfg の first_scenario と同じ「small」としてあります。
- next_scenario はこのシナリオクリア後の次のシナリオの id を書きます。最後のシナリオで次がない場合は、「null」(「無い」という意味。)と書く決まりになっていますので、ここでも null になっています。
- map_data には、このシナリオのマップデータのありかが書いてあります。この場合は、add-ons(パソコンの Wesnoth のアドオンデータのフォルダ)の small_campaign フォルダの small.map というファイルを読み込むよう指示してます。
- turns はシナリオのターン数を書きます。ターン数が無限大の場合は、「-1」と書きます。従ってこのシナリオのターン制限がありません。
[side] タグ
[side] タグの内側には、各陣営の基本情報について書いてあります。登場させる陣営ごとに [side] タグを作成します。今回は、1陣営しかないので、[side] タグも1組だけです。
- side には先に戦う順番に1から数字をふっていきます。
- controller には人が操作する陣営には「human」と書き、コンピューターが操作する陣営には「ai」と書きます。
- team_name には、パソコンに認識させるためのチーム名を書きます。team_name は表に表示されませんが、team_name が同じ陣営同士は同盟軍となります。
- type はこの陣営のリーダーユニットのタイプを示します。
- id には、パソコンに認識させるためのこの陣営のリーダーユニットの id を指定します(表示されません。)。
- canrecruit これは通常「yes」にしておきます。なお、「no」にすると陣営のリーダーが「兵士を雇用できない」=「死んでいる」と解釈され、戦わずして負けになってしまいます。
演習
- マップファイルをマップエディタで開いて、プレイヤー1のスタート位置を変えてみましょう。
- マップファイルをマップエディタで開いて、地形を草原から別のもの変えてみましょう。
- マップファイルをマップエディタで開いて、マップの大きさを変えてみましょう。
- キャンペーンの名前を変えてみましょう。(_main.cfg の [scenario] タグ内の name を編集します。)
- ターン数を10ターンに変えてみましょう。(_main.cfg の [scenario] タグ内の turn を編集します。)
- シナリオをクリアしても同じシナリオが開始するようにしてみましょう。(_main.cfg の [scenario] タグ内の next_scenario を編集します。)
- 陣営のリーダーを軍曹(Sergeant)から別のユニットに変えてみましょう。(_main.cfg の [side] タグ内の type を編集します。なお、英語表記のユニット名は、ユニットデータ)等を参考にしてください。)
最終更新:2016年05月05日 10:24