Minecraftのシード値(英:Seed)は、1文字以上の(数字を含む)文字からなる値であり、Minecraft のワールド(世界)を生成する際の基礎として用いられるものである[1]。
ワールド生成[]
ゲームで新しいワールドを生成するときには、ある演算法が用いられる。この演算法では、疑似乱数の値が出力され、それを基にワールドの形が決定される。しかし、この生成方法で同じ値を初期地点(疑似乱数の「シード」)として用いると、最終的な出力は常に同じ値になる。
だからこそシードが存在し、たったひとつの値で全く異なるワールドを簡単に生成することができるのである。
ワールド生成方法が更新されるたびに、同じシード値で同じ地形は生成されなくなる。このため、一部の異なるバージョンのゲームでは同じシード値でも同じワールドが生成されない。
ワールドのシード値はワールドが生成される際に設定される。通常は自動的に決定される(その場合はシステム時刻をシード値として用いる)が、手動で設定することもできる。シード値を設定して再使用すると、そのワールドを再び遊んだり、既知のシード値を用いて他のプレイヤーと同じワールドで遊んだりできる。数字だけでなく単語や語句もシード値になり、負の数も指定可能である。
保存されたワールドのシード値や生成が変更されると、新規生成チャンクは新しいシード値に基づいて作られ、古いシード値によるチャンクとは一致しなくなる(この現象はアドベンチャー・アップデートにて広く観測された)。削除されたチャンクはシード値と生成方法が同じなら再生できるが、どちらかが変わっていると生成されるチャンクも変更される。
シード値は演算法に読み込まれるランダムな数値であって、実際には異なるワールドの名前ではないため、あるワールドを使ったからといってそのシードの数値と関連性のあるワールドが作られるとは限らないことに注意することが重要である。例えば、バイオームの名称をシード値としても、そのワールドを中心とした世界が生成されるとは限らない。
技術面[]
Realms[]
Java Editionではチャットで/seed
と入力することでシードが表示される。Bedrock Editionでは、Realmsで遊んでいる時はシード値が表示されないが、シングルプレイヤーのワールドでは設定でシードが表示される。
Java Edition[]
シード値に数字以外の文字が含まれている場合、または長さが20文字以上の場合は、Java関数の String.hashCode()
を使用して数字のシードが生成される。これにより int
データ型が使用されるため、Minecraftでは可能なワールドの部分集合が232(4,294,967,296)に制限される。可能なワールドの全組264、18,446,744,073,709,551,616)を参照するには、数字のシードまたは既定のワールドシードを使用しなければならない。Javaの Random
は48ビットのシード値を使用するため、意味あるシード値は248個である。シード値は248の倍数で互いに等価である。
Bedrock Edition[]
Bedrock Editionでは、文字列と数字のどちらをシード値として使用しても、可能なワールドは合計で232(4,294,967,296)個ある。これは、Bedrock EditionがMersenne Twister PRNGの32ビット板を使用しているためである。ハッシュ演算はString.hashCode()
と同じであり、ハッシュhは0から始まり、各文字cについて、32ビット整数の範囲内でhの値をh×31+cに変更する。
エディション間の重複[]
0–231(0–2,147,483,648)の範囲内にある正のシード値は、JavaとBedrock Editionの両方で、構造体や構造体の位置、洞窟、鉱石の生成、出現するエンティティ、小数地形などは異なるものの、同じ配置でバイオームが生成される。
シード値0[]
Java Editionでは、ゲームが「0」を文字として解釈し、ハッシュ値を 48
のアスキー値にしてしまうため、Minecraftのシード値の数値入力では「0」(ゼロ)という数字を入力することができない。ただし、Java関数の String.hashCode()
がゼロ値を返す文字列シード値を使用することで「0シード」を使用できる。0シードが生成される単語文字列には、creashaks organzine
、pollinating sandboxes
、little jungle
、small skeleton
およびdrumwood boulder head
などがある。[2]しかし、ddnqavbj
および166lr735ka3q6
のように0をハッシュした文字列であればどんなものでも動作する。0モジュロ248(281474976710656
など)もシード0と同じ地形を生成するが、/seed
を使用しても0として表示されない。
Bedrock Editionでは、ゲームは-9から+9までのすべての数字を拒否する[3]が、シード値の最後の文字を1つ変えると出力されるハッシュコードも1変わるため、small skeleton
から+2の値に到達するため最後の文字を2つ進めてsmall skeletop
にする。最短のものは ddnqavb
であり、a
から s
までの他の任意の文字が続く。
生成のクセ[]
特定のシードでは、興味深い効果を観察できる。
一部の構造物を変更せずに地形を変更する[]
シード値の特定の部分だけが、ワールド内の特定の特徴を生成するために使用される。シードを二進数に変換し、必要な桁を微調整するだけで、同一の洞窟機構やその他の構造物の配置を持つ複数のワールドを生成することができる。[4]例は、最初の48ビットのみを使用して洞窟機構と荒野の粘土帯層を生成するシード生成である。
影シード[]
あるワールドのバイオーム分布は、別の世界のバイオーム分布と同じであり、そのシード値は現在のシード値に定数を加えることで見つけることができる。
定数:
-7379792620528906219
反復[]
特定のシード値は内部コードで0を返し[5]、無限の配列の洞窟やその他の構造物を生成する原因となる[6]。JavaおよびLegacy Console Editionでは、シード値107038380838084
は最初の呼び出しで0を返し、164311266871034
は2回目の呼び出しで0を返すため、X軸とZ軸でそれぞれ構造体が繰り返される。[7]
また、装飾などの他の機能も壊れる事がある。これらは斜めに生成される。[8]
Bedrock Editionでは、斜めの洞窟、渓谷、装飾の繰り返しがシード値289849025
と1669320484
で発生する。[9]
技術的詳細[]
シード値に単語や語句が使用されている場合に数字のシードを生成するのにJavaのString.hashCode()
関数が用いられる。使用されるデータ型の関係で、Minecraftで生成され得るワールドが限定されている(およそ42億通り)。シード値に数値を直接指定するか、Minecraftにシード値を生成させる(システム時刻の値を用いる)ことで、生成されるワールドの制約を取り除くことができる(およそ1千8百京通り)。
歴史[]
Java Edition pre-Classic | |||||
---|---|---|---|---|---|
rd-160052 | 簡単な地形生成を追加。 | ||||
Java Edition Classic | |||||
0.0.12a | 新しい地形生成を追加。 | ||||
2009年8月25日 | 崖の生成頻度が上がった別の新しい地形生成が示された。 | ||||
Java Edition Indev | |||||
0.31 | 20091223-2 | 等尺地形描画のスクリーンショットを追加。 | |||
20100106 | ワールドの生成時にプレイヤーが孤島、浮き島、フラット、旧式を地形の種類として選べるようになった。 | ||||
プレイヤーが地形の形状として正方形、長い、不快を選べるようになった。 | |||||
プレイヤーが地形の大きさとして小、通常、巨大を選べるようになった。 | |||||
20100107 | 深い浮き島のマップに島の層を追加。 | ||||
プレイヤーが地形の主題を選べるようになった;通常、地獄。 | |||||
20100111-1 | 島に生成される砂が増加。 | ||||
20100113 | 海に無限水源が生成されるようになった。 | ||||
20100122 | 水が自然に海面より上や浮島に生成されるようになった。 | ||||
洞窟の浸水が少なくなった。 | |||||
Java Edition Alpha | |||||
v1.2.0 | ? | ワールド生成に地形破壊的変更:古いバージョンでシードを使用すると別のワールドが生成されるようになった。 | |||
Java Edition Beta | |||||
1.3 | シード値をユーザーが指定することができるようになった。 | ||||
1.8 | Pre-release | デバッグ画面にシード値が表示されるようになった。 | |||
Java Edition | |||||
1.2.1 | ? | マルチプレイのサーバーがクライアントにシード値を送信しないよう変更された。 | |||
1.3.1 | 12w18a | シングルプレイがマルチプレイになった為、デバッグ画面にワールドシードが表示されなくなった。 | |||
12w21a | コマンド/seed が追加され、現在のワールドのシード値を表示できるようになった。 | ||||
1.7.2 | 13w36a | ワールド生成を地形破壊的変更。シード値の種類を変更。 | |||
1.13 | 18w06a | ワールド生成を非破壊的方法に書き換え。カスタマイズを削除。 | |||
Pocket Edition Alpha | |||||
0.1.0 | シード値が追加された。 | ||||
0.9.0 | ? | 地形生成が変更され、古いシードが無効となった。 |
トリビア[]
- 1.7.2から1.12.2のいずれかのバージョンのJava Editionのソースコードを変更し、第6生成層の値[情報提供依頼]を2から0に変更した場合、キノコバイオーム以外のLegacy Console Editionのバイオーム生成をJava edition上で複製できる。
注目のシード値[]
以下のマップシードは、ある時点でMinecraftの公式マップや仕様の生成に使用されている。
- Java Editionでは、デモワールドのシード値はシード入力で
North Carolina
と入力することで完全版で遊べる。 - Java Editionでは、Beta 1.8 Pre-releaseから18w22cまでの間のタイトル画面のパノラマのシード値は、Beta 1.6.6からBeta 1.7までの間に生成された
2151901553968352745
または8091867987493326313
のいずれかである[10]。 - Java Editionでは、元のpack.pngファイルのシード値は、Alpha v1.2.2で生成された
3257840388504953787
である。[11]また、Alpha v1.2.0とBeta 1.7.3の間でも、わずかな母集団の違いで生成されることがある。 - Java Editionでは、火が付いた骸骨の絵画のシード値はAlpha v1.1.2_01以前のバージョンで生成された
-6984854390176336655
または-1044887956651363087
のいずれかである。[12]
外部リンク[]
シード値抽出[]
脚注[]
- ↑ http://mojang.com/2011/02/23/a-short-demystification-of-the-map-seed/
- ↑ “スクリーンショットにある同じ名前のワールドもシード値「pollinating sandboxes」を使用していて、シード0のワールドを作る正当な方法です。シード0を作る文字列は他にも「creashaks organzine」や「drumwood boulderhead」などがありますが、覚えやすいものを使用しています。” – @SeargeDP
- ↑ MCPE-44604
- ↑ https://www.minecraftforum.net/forums/minecraft-java-edition/seeds/2229720-can-two-different-seeds-produce-identical-worlds
- ↑ http://stackoverflow.com/questions/3065554/can-javas-random-function-be-zero
- ↑ MC-111378
- ↑ https://www.reddit.com/r/MCPE/comments/5i6sae/recursive_infinite_mineshaft_seeds_on_mcpe/
- ↑ https://www.youtube.com/watch?v=UtNXUMrSIxQ
- ↑ MCPE-95011
- ↑ https://www.reddit.com/r/Minecraft/comments/hthrmk/big_news_we_have_found_the_seed_of_minecrafts/
- ↑ https://www.reddit.com/r/MinecraftAtHome/comments/iocx6f/packpng_seed_was_found_explanation_tutorial_and
- ↑ https://www.reddit.com/r/Minecraft/comments/iqg3ey/the_original_screenshot_seed_of_the_minecraft/
ヘルプ | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
メニュー画面 |
| ||||||||||||||||
開発元 | |||||||||||||||||
ゲームのカスタマイズ | |||||||||||||||||
エディション |
| ||||||||||||||||
ゲーム |
| ||||||||||||||||
映画 |
| ||||||||||||||||
書籍 |
| ||||||||||||||||
その他メディア |
| ||||||||||||||||
イベント |
| ||||||||||||||||
公式商品 |
| ||||||||||||||||
その他 |