スポンサーサイト

--.--.--.--:--

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

プレイヤーランドについて②

2014.04.08.02:00

「プレイヤーランドについて①」の続きです。

こちらの画像は対策を取ったものですが、対策方法をお話しする前に別のことを話します。
20140407_02.png

これを見ると
「8人それぞれの島がある」
「青だけもうひとつ島がある(土地の色が緑のやつ)」
「中央に四角い緑色の島がある」
ことがわかると思います。

(ここからはしばらくランダムマップ作成者向けの内容になります)


「8人それぞれの島がある」は「create_player_lands」のスクリプトで作った各プレイヤーの島です。
これはいいですね。

次に「中央に四角い緑色の島がある」を見てみましょう。

これを配置するためには、新しいスクリプトを知ってもらう必要があるので、まずはそのスクリプトの説明から。

AoFEで追加されたランダムマップに「land_position ** **」(**は数字)というスクリプトがあります。
AoCから元々あったスクリプトかは知りませんが、このスクリプトが表す意味は
「島の位置をどこどこに指定(配置)する」というものです。

もう少し具体的にスクリプトの説明をすると
「land_position xの位置 yの位置」
となります。

20140407_03.png

画像の左から上にかけてがxの0~100
画像の左から下にかけてがyの0~100

「中央に四角い緑色の島がある」を表現する時にこのスクリプトを
「land_position 50 50」
と記述し、島を配置していました。

-------------記述の例--------------
create_land
{
(略)
land_position 50 50
}
----------------------------------

「xを50の位置に」「yを50の位置に」という風に指定したため、結果的にMAP中央に島が作られたというものです。



「青だけもうひとつ島がある(土地の色が緑のやつ)」ですが、これが実は大問題の島でして本来この場所に作られる島ではありません。

今お話しした方法で、本来はもっと別の場所に配置されるようにスクリプトを書いています。

本来はどこに配置されるかと言いますと「land_position 90 90」です。
上の2つの画像どちらを見てもいいですが、ちょうど白い縁の四角で囲ってあるあたりに島が配置されるはずでした。

なぜこれが指定した位置と全然違う場所に配置されたかと言うと
「assign_to_player 1」(この場合青色のプレイヤーに)
で、この島をプレイヤーに割り当ててしまったためです。

「create_land」で島を作った場合、そのスクリプトの{ }内に「assign_to_player *」を記述すればそのプレイヤーに島を割り当てることができますが、これが原因で「land_position 90 90」のスクリプトを無視した形になっています。


なぜスクリプトを無視してしまったかと言うと、いろいろ検証した結果、AoFE(AOE2全般)の仕様ということがわかりました。

コンピュータが決めるプレイヤーの初期位置があるのはご存知のことかと思いますが、これと深くかかわっているのか「プレイヤーランドは特定の範囲にしか配置されない」という条件が、いずれの場合も前提となっているようです。

「プレイヤーランドについて①」で見ていただいた画像です
20140407_01.png

これなんか非常にわかりやすいです。
これは先にも説明しましたが「爆ランⅢ1.6」のもので、プレイヤーランドが10個生成された時のものです。

プレイヤーランドはこのライン上にしか生成されません。
プレイヤーランドが1個の時もこのライン上のどこかに生成されます。

また、先ほど「land_position 90 90」のスクリプト無視をしたのも、この「プレイヤーランドは特定の位置にしか配置されない」という特性が働いたためと言えます。

「create_player_lands」で作ったものでも、「create_land」に「assign_to_player *」でプレイヤーに割り振ったものでも、プレイヤーランドとして成立してしまうため、どちらも同じようにこのライン上にしか生成されなかったのです。


実は「AoFE@13_孤島と大陸_1.00.rms」を作った時、プレイヤーランドを「land_position ** **」のスクリプトを使い、プレイヤーランドの位置の固定化を図っていました。
他にも試作段階では「land_id」や「zone」の設定をしたりもしましたが、プレイヤーランドの判定に負けてしまい、思った位置に配置できず、最終的に「コンピュータが決めるプレイヤーの初期位置」にプレイヤーランドが配置されてしまう結果になったわけです。
この仕様がわからず、このマップを作成していた時は苦戦しました。(仕様がわかったので「開始位置を固定」のチェック外してもうまく孤島組2、大陸組2作れそうですが、面倒なので作り直ししませんと、思いましたがチーム1とチーム2がバラバラに配置されるので無理ですね)



今回の「プレイヤーランドについて②」は
「land_position ** **」のスクリプトの説明
それと
「プレイヤーランドの初期位置」
についてのお話しでした。

次の「プレイヤーランドについて③-1」でプレイヤーランドの初期位置の偏りの対策についてお話しします。
スポンサーサイト

comment

Secret

プロフィール

スキタイ人の青年

管理人:スキタイ人の青年

最新記事
最新コメント
カテゴリ
月別アーカイブ
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。