建設の制御

通常の建物

建築を制御するための方法を記述します。

建設範囲 建物 建設優先場所 build-forward 備考
・町の中心から sn-maximum-town-sizeの範囲内
・町の中心から sn-minimum-town-sizeの範囲外
・最初の町の中心から 4タイル以内は畑のみ建設可
・開拓済みの場所
・他の建物から1マス以上離れている場所(畑以外)
・柵/壁の予約領域から 1マス以上離れている場所
(予約されている場合)
※build-forward命令の場合はtown-sizeは無視される。
通常 特になし(ランダム) 有効 建設可能エリアのどこに建設されるかはランダムである。
(1)攻撃された場所
(2)資源の近く
有効  
町の中心の近くから優先的に建設される 無効 建設時にsn-minimum-town-sizeは無視される
町の中心、粉ひき所の近く 無効 最初の町の中心から 4タイル以内に優先して建設される
建設時にsn-minimum-town-sizeは無視される

■建物建設エリア
通常の建物は、最初の町の中心から「sn-minimum-town-size」と「sn-maximum-town-size」の間の領域内に建設される。
ただし、最初の町の中心から4タイル以内は畑の建設専用エリアとなっているので、「sn-minimum-town-size」の設定値を小さくしても他の建物は建設できない。
図1. sn-minimum-town-size=8, sn-maximum-town-size=11の設定
■タウンサイズの領域は四角い
最大・最小タウンサイズを細かく設定することで、図2のように町の中心からきっちり7マスのところに塔を建設させることができる。
図2. sn-minimum-town-size=6, sn-maximum-town-size=7でのAIの実行例
■タウンサイズの領域は左右対称ではない
タウンサイズの町の中心からの距離は、右図でピンクに塗られているマスからカウントするので左右対象にならない(1マスずれる)。

図3では町の中心の左側の建設可能エリアが畑専用エリアにかさなっているので、町の中心の右側のみ建設が可能である。 これを利用して町の中心の右側に建物を建設することができる。
図3. sn-minimum-town-size=5, sn-maximum-town-size=6の設定

 

前哨

建設範囲 建物 建設優先場所 build-forward 備考
・町の中心から sn-maximum-town-size以上でsn-maximum-town-size×2以下
・最初の町の中心から 3タイル以内は畑のみ建設可
・開拓済みの場所
※build-forward命令の場合はtown-sizeは無視される。
前哨 町の中心と直線距離が(同心円上に)近いところから優先的に建設される 有効 他の建物と違い、建物どうし密着建設できる
sn-minimum-town-sizeは無視される

■建物建設エリア
前哨は、最初の町の中心から「sn-maximum-town-size」と「sn-maximum-town-size」の2倍の距離の領域内に建設される。
ただし、最初の町の中心から3タイル以内は畑の建設専用エリアとなっていて前哨は建設できない。
図4. sn-maximum-town-size=3の設定
■密着建設が可能
図5のように前哨は密着して建設される。タウンサイズの左右非対称性のため右側に1マス多く前哨が建設されている。

前哨は図7のように町の中心から同心円上に順番に建設されていく。
図5. sn-maximum-town-size=3でのAIの実行例


図6. sn-maximum-town-size=4でのAIの実行例


図7. sn-maximum-town-size=6でのAIの実行例(途中経過)

 

貯蔵庫系建物

建設範囲 建物 建設優先場所 build-forward 備考
・町の中心から sn-mill-max-distanceの範囲内
・開拓済みの場所
・他の建物から1マス以上離れている場所
粉ひき所 (1)苺の近く
(2)鹿の近く
(3)小魚の近く
無効  
・町の中心から sn-camp-max-distanceの範囲内
・開拓済みの場所
・他の建物から1マス以上離れている場所
伐採所 (1)森の近く
(2)立ち木の近く
無効  
採掘所 金・石の近く(交互) 無効 sn-camp-max-distanceに255を設定すると他の島に採掘所が建設できる

■建物建設エリア(伐採所と採掘所)
伐採所と採掘所は、最初の町の中心から「sn-camp-max-distance」の領域内の資源の近くに建設される。

この領域内に資源がない場合は何もないところに伐採所や採掘所が建設されてしまうので、この設定値は大き目めにしたほうがリスクが少ない。ただし、大きすぎると自陣から見て森の裏側に伐採所が建設されてしまうこともある。
図8. sn-camp-max-distance=10の設定
■建物建設エリア(粉ひき所)
粉ひき所は、最初の町の中心から「sn-mill-max-distance」の領域内の資源の近くに建設される。

粉ひき所は苺の近くに優先的に建設されるので、この設定値はかなり大きめの値にしておいても最初に鹿の近くに粉ひき所が建設されてしまうような問題はない。
図9. sn-mill-max-distance=10の設定
■1つの金に採掘所は1つまで
採掘所・粉ひき所等の貯蔵庫系建物は、1つの金・苺などに対して2つ以上の貯蔵庫が建設されないようになっている。また、金・苺などに対してすでに貯蔵庫が建設されているかどうかは、その金・苺などが貯蔵庫の影響範囲内にあるかどうかで判定される。

図10では金の影響範囲(sn-gold-dropsite-distance)が3に設定されているので金(A)は採掘所の影響範囲内にあるとみなされる。次に採掘所を建設する場合は、まだ採掘所がない金(B)または金(C)の近くに建設される。

図11では金の影響範囲(sn-gold-dropsite-distance)が7に設定されているので金(B)も採掘所の影響範囲内にあるとみなされ、次に採掘所を建設する場合は、まだ採掘所がない金(C)の近くに建設される。

※右の図には町の中心が描かれてないが、金鉱A、金鉱B、金鉱Cはsn-camp-max-distanceの範囲内にあるものとする。
図10. sn-gold-dropsite-distance=3の設定


図11. sn-gold-dropsite-distance=7の設定
■採掘所は金と石のどちらの近くに建設されるか
採掘所がまだ建設されていない金鉱や石が複数ある場合、金→石の順に交互に建設される。図12の場合は金(B)→石(C)の順に採掘所が建設される。

■かならず石の近くに採掘所を建設する
石の近くに建設したい場合はsn-gold-dropsite-distance=255を設定する。こうすると全ての金は採掘所または町の中心の影響範囲内にあるとみなされ、採掘所がまだ建設されていない資源は石だけとなって採掘所が石の近くに建設される。

反対に必ず金の近くに採掘所を建設したい場合はsn-stone-dropsite-distance=255, sn-gold-dropsite-distance=3を設定する。
図12. sn-gold-dropsite-distance=3, sn-stone-dropsite-distance=3の設定

壁・門

建設範囲 建物 建設優先場所 build-forward 備考
・境界線1:中心から10タイル〜20タイル(ランダム)
・境界線2:中心から18タイル〜30タイル(ランダム)
・開拓済みの場所
壁・柵 特になし(ランダム) 無効 壁領域を予約しないと建設ができない。
特になし(ランダム) 無効 壁領域を予約しないと建設ができない。門の個数には上限がある。

■壁領域の予約
壁や門はあらかじめ壁建設領域を予約しておかないと建設できない。また、予約された壁建設領域には壁を建設しなくても他の種類の建物を建設することはできない。

■壁・門建設エリア
予約される壁領域はランダムに設定される。図では黄色のマスのエリアに壁領域1が予約され壁や門が建設可能となる。
図13. 境界線1の壁を予約した場合

 

建設範囲 建物 建設優先場所 build-forward 備考
・sn-minimum-water-body-size-for-dock 以上の大きさの水域
・雪の地形の海岸線には建設不可
・遊牧のMAPには建設不可
・開拓済みの場所
特になし(ランダム) 無効 水域の建設条件は大きさのみなので、自陣から非常に遠い水域に港が建設されてしまうことがある。

■港建設エリア
港はsn-minimum-water-body-size-for-dockの値以上の大きさの水域に建設される。

図14のマップで、sn-minimum-water-body-size-for-dock=50の場合は水域Bにのみ港が建設可能となる。
図14. 40タイルの水域(A)と100タイルの水域(B)

その他

項目 説明
sn-initial-exploration-required これに設定した値以上マップが開拓されないと建物が建設できない。大きい値を設定していると、ゲーム開始後に数秒間建物が建設できない場合がある。
sn-number-forward-builders 島マップで使う設定値。build-forwardコマンドで敵の島に建設する町の人の数。1以上に設定すると、敵の島への建設命令が出るまでその町の人が金縛りになって仕事をしなくなる。
build-forwardコマンド 敵の建物の近くに建設される。敵の建物が未発見の場合は、敵の近くに建設されない。
暗黒タワー建設バグ チェックメイトゲームで要塞マップの場合、暗黒の時代に塔が建設できる。
建設不能バグ 建設中の建物を敵に破壊された場合、その種類の建物がそれ以降建設できなくなることがある。
建設スペースがない場合 通常の建物でsn-minimum-town-size内に建設スペースがない場合、建設ルールは実行されるが実際の建設は保留となる。sn-minimum-town-sizeを大きくするなどして建設スペースが確保された場合に建設が実行される。市場や学問所などの大きな建物は建設スペースがなくて建設保留となりやすいので注意する必要がある。(実際に建設スペースがあるように見えても高低差で建設できない場合や壁領域の予約などでスペースがない場合がある)