『マインクラフト』にて”ダイヤモンドを高確率で掘り当てる手法”が発見される。内部演算ルールから弾き出された87.5%

Pocket
reddit にシェア
LINEで送る

マインクラフト』海外プレイヤーが、同作のJava版にて、高確率でダイヤモンド鉱石を探り当てる方法を発見した。地上のブロック分布を手がかりに、地中奥深くに眠るダイヤモンドなどの鉱石を探り当てるという手法だ。実用性のみならず、『マインクラフト』の内部動作にも関わる内容となっており、コミュニティの関心を引いている。

ダイヤモンドは『マインクラフト』における稀少資源だ。バージョン1.16でネザライトが追加されてからは、最上位クラフト素材の地位をそちらにゆずったが、それでも、ダイヤモンドは依然としてゲーム内で高い価値をもつ。ダイヤモンドを求めるあまり、採掘に打ち込み、溶岩や空腹などで非業の死を遂げたプレイヤーも多いのではないだろうか。

今回見つかった採掘法は、そんな悲劇に救いの手を差し伸べるものだ。方法の発見者と見られるのは、海外プレイヤーのMatthew Bolan氏。同氏の発見を受けて、YouTuberのShulkercraft氏が、実際に採掘法を試す動画を投稿している。
 

 
やり方は、湿地帯や川の水中にある粘土、または砂利ブロックの塊から、その直下にある鉱石を推測するというものだ。具体的に例を出すと、まずは湿地帯に点在するひし形の粘土ブロック塊の中心を始点に定める。そこから、Z軸にプラス、すなわち南側を向いて、始点から7ブロック目をまっすぐ掘り下げる。すると高確率でダイヤモンドが現れるのだ。Bolan氏の試算によれば、約281兆通りのワールドのうち、87.5%でこの採掘法が有効とのこと。

確率や掘る場所は変動するものの、この手法は違う目印、そしてほかの鉱石にも通用するそうだ。たとえば、湿地帯でなく川の粘土を目印にする場合は、中心から南へ2マス目を掘る。粘土ではなく砂利の場合は、“北”へ2マス目を掘ることでダイヤモンド獲得が見込める。

なお、この工程はチャンク(ワールド内の区分)の内側でおこなう必要があるため、F3キーとGキーを同時押しして、チャンク境界を表示することが推奨される。さらに詳しいやり方については、上記のShulkercraft氏による動画を参照されたい。動画内では、次々にダイヤモンド鉱石を掘り当て、1時間の採掘で実に349個のダイヤモンドを獲得する様子が映っている。
 

Image Credit : Shulkercraft

 
しかし、残念なことにこの手法はモバイルや各種コンソールなどのBedrock版では通用しない。また、6月8日に配信されるJava版『マインクラフト』バージョン1.17でも、Bedrock版と同様、機能しなくなる可能性が高い。その理由は、この手法が現在の『マインクラフト』の内部の仕組みを利用しているものだからだ。ここからは、発見者Bolan氏の投稿した解説動画などを参考に、今回の手法の仕組みを噛み砕いて解説したい。
 

 
『マインクラフト』の世界は、ワールドを生成するごとにランダムに作り上げられているように見える。しかし実のところ、あらゆるワールドは「シード値」と呼ばれる数列をもとにして生成されている。そのため、同じバージョンの『マインクラフト』で、同じシード値でワールドを作った場合には、ほとんど同じワールドが生成されることになる。つまり、『マインクラフト』の世界はプログラム内の、一定の法則にのっとって生成されているのだ。

その法則と、今回の採掘法の鍵となるのが「疑似乱数」だ。『マインクラフト』Java版は、文字通りJavaというプログラミング言語を用いて制作されている。このJava自体に、シード値をもとにして乱数(ランダムな値)を生成する機能があるのだ。『マインクラフト』も、地形を形作ったり、鉱石の分布を決定したりするためにこの機能を利用している。
 

 
ランダムな値の生成は、コンピューターにとっては難しい課題だ。そのため、『マインクラフト』の利用している乱数生成機能も、ある法則にのっとって「プレイヤーにとって、十分にランダムな値」を生成している。したがって完全にランダムではなく、そこには明確な規則性が存在する。そのため、“疑似”乱数と呼ばれているわけだ。

Bolan氏が発見したのは、そういった『マインクラフト』の仕組みによって生まれる、ブロック生成の関連性だ。『マインクラフト』がゲーム内に粘土や鉱石などのブロックを生成する際には、前述の疑似乱数が使われる。同氏によれば、ダイヤモンド鉱石には乱数のシード値として「元シード値+60009」が、湿地帯の粘土にはシード値として「元シード値+60011」が与えられるという。つまり、どちらのブロックも、生成に際して似通ったシード値が与えられることになる。

この僅差が結果として、「地表にある粘土塊の中心から南に7ブロック目の真下」という関連性として、ゲーム内に現れることになる。『マインクラフト』Bedrock版でこの採掘法が通用しないのは、このブロック配置の内部計算が異なるためだろう。そしてJava版の次バージョンである1.17では、鉱石ブロック分布の仕組みに大幅な変更が加えられる予定だ。そのため、今回紹介した採掘法がそのまま通用する見込みは薄いと思われる。
 

 
しかし、いつかバージョン1.17の世界でも同様の手法を編みだすプレイヤーが現れる可能性はありそうだ。『マインクラフト』コミュニティにはBolan氏のような高い技術力を持った、熱意あるプレイヤーが多数存在している。昨年には、そうしたプレイヤーたちが『マインクラフト』タイトル画面背景のワールドのシード値を突き止めた(関連記事)。ほかにも、「リソースパックアイコンに写る風景」というわずかな手がかりから、シード値を逆算して撮影場所を特定するに至り、話題になった(関連記事)。

今回の手法を発見したBolan氏も、そうした「シード値ハント」に感銘を受けたひとりのようだ。同氏は自身のYouTubeチャンネルで、今回の採掘法の詳しい解説のほか、『マインクラフト』のシード値の仕組みについての動画などを投稿している。英語かつ専門的な内容ではあるものの、Bolan氏の造詣の深さと足跡が垣間見える内容となっているので、興味のある方は訪れてみてほしい。

『マインクラフト』大型アップデート「Caves & Cliffs」第1弾は現地時間6月8日配信予定(関連記事)。今回の数学的採掘法の利用は望み薄なものの、銅鉱石やアメジストなど、魅力的なブロックが追加されている。アップデートを楽しみにしつつ、新たな採掘法の発見にも期待したい。

Pocket
reddit にシェア
LINEで送る