今日も地球は動かない【AOCブログ】 ランダムマップ自作法
前哨Rするのが癖になってる不思議!前哨Rいいよ!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- : スポンサー広告 :
Pagetop

ランダムマップ自作法

 今回は本当に初心者用の説明で、詳しい説明はありません。私自身、サバアラを含めた2個のマップを作ってみただけ程度の知識しかないのであっているとも限りませんが初心者にはわかりやすいかと思います。

これを見て、自分でも出来そうだ とか、作ってみたいと興味がわいたら他ブログ等を確認してください

とっかかり的な意味合いで作っただけです

.RMS(拡張子)とは
見慣れない拡張子ですが、
Random Map Script の略というだけで深い意味はありません
RMSでは、その名の通りランダムマップの生成について定義されています。



必要な準備

・適当なRMSファイルを持ってくる
 実際のファイル内容と見比べながらのほうが効率が良いです。どのマップでもいいですが、わかりやすく馴染みがあるグリアラが良いと思います。vooblyのグリアラはちゃんと説明(英語ですが)も書かれているので、アレが一番良いかと思います。
ちなみにAOCHDの場合、steam→steamapps→common→age2HD→resources→_common→random-map-scripts にあります。結構触る機会多いので、age2HDかcommonあたりの階層の所のショートカットを作成しておくと楽です。

 RMSファイルはメモ帳等でも中身を見ることは可能ですが、.RMS形式を保持したままの保存が出来ないため、とあるソフトが必須となります。自作してみたいと思った方のみダウンロードしてみてください。転載自由との記述があったため貼っておきます


 RMSは、いくつかのGENERATION(項のようなもの)に分かれています。それぞれが歯車のようなものです。GENERATIONを全て作成して初めてRMSとして機能するわけです。スクリプトは上にあるものから順番に上書きしていくような形です。

そのGENERATIONは以下の通り

 プレイヤーの配置設定
 マップの選択(マップエディタでいうマップの作成)
 地形の追加↑で設定したマップの上に、さらに地形を追加する
 ユニットや建物等のオブジェクトを設定する
 高度(いわゆる高低差)を設定する
 崖を設定する
 ランドの接続についての項。また、メガランのように確率でマップを選択したい場合にその選択確率を設定する場所。通常のマップであればあまり使わないGENERATION。




適当にRMSファイルを開いてみてください。最初に、説明文やマップ名が書かれているはずです。

/* 「/* */」の間、この部分はスクリプトとして認識されません。 */

この機能は、また、何をやっているのかを記録しておくことで他の人が改造しやすいように、あるいは自分が思い出しやすいようにするためです。あとは改変自由だとか、誰が作ったものなのかとかの記述にも使用します。
これはどのGENERATIONにも配置できるので、わかりにくそうな場所に説明として作っておくとよいです

また、基本的に英語で行ってください。日本語や全角英数字等は不可です




random_placement
この項は基本的にこの記述のみです。コピペでいいんで気にしないでいいです。
_
 


base_terrain GRASS   ←マップの種類を選択 この場合草原

create_player_lands  ←プレイヤーランドを作る
{
terrain_type GRASS ←草原
land_percent 80 ←全体の80%をプレイヤーの持分として割賦する
base_size 9 ←最低でも半径9を超えるようにする
other_zone_avoidance_distance 7 ←他のプレイヤーとのランドの最小距離を決める
border_fuzziness 10 ←ランドの円周の形の歪みを設定
clumping_factor 10 ←ランドの円周の形の歪みを設定

}




 ↑で設定したマップの上に、さらに地形を追加する

create_terrain FOREST ←森を作成する
{
base_terrain GRASS ←草原の上に
spacing_to_other_terrain_types 5 ←他の地形と最低5離す(森等が被らないように)
land_percent 20 ←占める割合 この場合、草原の20%が森
number_of_clumps         24 ←24個の森を作成する
clumping_factor 100 ←形の設定 大きい数ほどなだらかな地形に
set_avoid_player_start_areas ←プレイヤーランドの中心と被らないように設定
set_scale_by_groups ←マップサイズで大きさが自動設定
    height_limits 0 8 ←高度0~8の部分にだけ配置する
}




 ユニットや建物等のオブジェクトを設定する

これが初期の2羊の奴です。動物系は全部こんな感じです。

create_object SHEEP ←羊
{
number_of_groups 2 ←2個の集団
number_of_objects 2 ←2匹
set_loose_grouping ←羊同士を重ならないように配置する
set_gaia_object_only ←大地の女神(羊の場合未発見状態)
set_place_for_every_player ←全プレイヤー所持
min_distance_to_players 10 初期位置との最小距離
max_distance_to_players 14 初期位置との最長距離
}

続いて、7金です。

create_object GOLD ←金
{
number_of_objects 7 ←7個の塊
group_placement_radius 3 ←タイル3枚に治まる形で配置
set_tight_grouping ←金を密着させる
set_gaia_object_only ←大地の女神のもの
set_place_for_every_player ←プレイヤーごとに配置
min_distance_to_players 10 ←初期位置との最小距離
max_distance_to_players 14 ←初期位置との最長距離
min_distance_group_placement 7 ←他オブジェクトから7は距離を離す
}

この2つを変えるだけで全部のオブジェクトを設定することが出来ます。配置したいもの全て作らなければなりません。そのため、何をどれだけ配置したいかという意思が無いといけないです。特にGAと資源配分等を変えたい場合は何度もテストプレイして微調整、納得してからリリースという流れになります

4羊,2羊,2羊,イノ,鹿,金,石etc




 高度(いわゆる高低差)を設定する
create_elevation 7
{
base_terrain GRASS←草原の上に
number_of_clumps 15←15個の塊
number_of_tiles 3000←タイル3000個分
set_scale_by_groups
set_scale_by_size
}


 崖を設定する
min_number_of_cliffs 4 ←最小4個
max_number_of_cliffs 6 ←最大6個
min_length_of_cliff 3 ←崖の長さの最小
max_length_of_cliff 6 ←崖の長さの最長
cliff_curliness 0 ←折れ曲がった崖になる確率
min_distance_cliffs 3 ←崖同士を3タイル分離す

 
使わないのでカット 複雑なマップや、ランダム系マップを作りたい場合のみ。




最低限↑のことさえ理解してればマップ作れます。海や池を作りたい場合も上のような感じで作れます。その場合は素アラや遊牧等のマップを参考にするのが一番楽かと思います。

私も↑程度のことしか理解してませんw その程度の理解力でも行けます。




注意点

森と木(立ち木)について

 森と立ち木は別の存在です。森は地形ですが、立ち木はオブジェクトという扱いとなっています。森はTERRAINで設定、立ち木はOBJECTSで設定します。立ち木も通常のオブジェクトと同じで、自然と配置されるわけではなく、設定されて始めて設置されます。GAやLNの初期位置に立ち木があるというのも、そうなるように設定されているからこそ立ち木が出来ているのです。消そうと思えば消せますし本数を増やそうとしても増やせます

AOFE以降で新追加されたものたちについて
 AOCまでは本体のほうで定義されているんですが、それらは数字としてのみ格納されています。そのため、例えばLIONと書いてもライオンは出てきません。そのため、定数を#constという文で定義してあげる必要があります。
ライオンの場合はこうなります。


#const LION 1029 ←ライオンが1029番に格納されているユニットと定義
create_object LION ←ライオン
{
以下略(通常のと同じ記述)

このように、LIONというものを使用する前(直前である必要は無い)に、定義してあげないとエラーです。
定義さえしてあげればちゃんと動作します。ちなみにFEまではありますが、AKで追加された物達の格納数を乗せてくれているサイトはありません。steamのマニュアル等も見てみましたが発見できず。自分で探すしかないでしょう。私は自分で探しました。

next ワークショップへの上げ方について



おまけ
サバンナアラビアを作ってた時に欲しくて探した奴だけ乗せておきます。

#const SAVANNAH 41 サバンナ
#const ACACIA_FOREST 50 アカシアの森
#coust BAOBAB 49 バオバブ
#const DIRT4 42 土埃4
#const ZEBRA 1019 シマウマ
#const OSTRICH 1026  ダチョウ
#const GOATEE 1060 ヤギ
#const ELEPHANT 936 ゾウ
#const ORANGEBUSH 1059 果実(オレンジ)
#const STORK 1028 (飛翔ユニット コウノトリ)
#const ACACIATREE 1063 アカシアの木 ※森じゃなくて木
#const LION 1029  ライオン
#const AFROBOULDER_A 1048 岩A
#const AFROBOULDER_B 1049 岩B
#const AFROBOULDER_C 1050 岩C
#const AFROBUSH 1053 丸い木 ※森じゃなくて木
#const DRAGONTREE 1051 竜血樹  ※森じゃなく木
スポンサーサイト

テーマ : PCゲー
ジャンル : ゲーム

2016-02-17 : AOC : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

プロフィール

egami

Author:egami
ご用の場合はtwitterへお願いします。気づき次第対応致します(遅くて1日程度)

たまに生放送しています

自己紹介記事近日公開予定

★オススメ記事★
前哨Rのすすめ
続きを読むを押せないときは

最新トラックバック

カウンターです

ブロとも申請フォーム

この人とブロともになる

QRコード

QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。