『はじめてのWii』のビリヤード「1打クリア」に挑戦し続けた人々、TASにてついに達成。乱数解析で17年越しに判明した“初期配置のズレ”

Image Credit: ElectrifiedStrawberry on YouTube

任天堂からWii向けに発売された『はじめてのWii』には、ビリヤードで遊べるミニゲームが存在する。9個のボールを数字の小さい順番に入れていくというルールであり、数々のプレイヤーがこのミニゲームを1打でクリアしようと試みてきた。“不可能”とまで思われた1打クリアだが、TAS(Tool-Assisted Speedrun)と逆コンパイルの力によって、ついに6月2日、あるプレイヤーが1打クリアを成し遂げた。海外メディアGamesRadar+が報じている。

TASとは、ツールを用いることで、人力では難しいような操作を可能にする手法のこと。TASでおこなう操作としては、具体的にはゲームの動作中にこまめにセーブロードを繰り返して望みの結果を得たり、フレーム単位での操作を可能にしたりなどがあげられる。

今回注目を集めている『はじめてのWii』は、2006年に発売されたWii用のゲームソフトで、「ステップ」という名称で9種類のミニゲームが収録されている。本作はWiiのコントローラー「Wiiリモコン」の操作入門として位置づけられており、ミニゲームの中にはWiiリモコンで画面をポイントしたり、振ったり倒したりといった、特有の操作をおこなうものもある。

Image Credit: cyndifusic on YouTube


「ビリヤード」はとにかく難しい

『はじめてのWii』には、ゲームの最速クリアを目指すスピードランコミュニティが存在する。このコミュニティは本作を最速でクリアするにあたり、ステップ6「ビリヤード」のミニゲームのタイム短縮にも挑むこととなった。「ビリヤード」ではいわゆるナインボールに近いルールで遊ぶこととなる。はじめに、並べられた9個のボールに対し、ブレイクショットとして手玉を撞く。その後台上に存在する一番数字の小さいボールから順にポケットに落としていき、その打数を競う。

そのためスピードランとして可能な限り早くクリアするためには打数を減らしていく必要がある。9個を一度のショットでポケットに入れられればそれが基本的には最速だろう。しかし本作スピードランコミュニティのcyndifusic 氏によれば、2024年2月時点で、人力およびTASの双方において、7個のボールを一度にポケットに入れるのが最大だったとのこと。この記録は、本作のスピードランコミュニティにおいても、2020年を初出として、過去3回しか例が見られなかったそうだ。


ちなみに一度で6個のボールを入れた、確認できる限り最古の記録とされている動画は2007年にYouTube上にあげられている。つまり、ワンショットで同時に入れるボールの記録が合計6個から7個へひとつ増えるのに、実に13年ほどかかったことになる。いずれにせよ本作の「ビリヤード」の1打クリアは難しく、発売から17年近く経っても達成への道は程遠かったようだ。

一方本作スピードランコミュニティは数多くの試行錯誤の末、何らかの乱数が、ブレイクショットまでのどこかで含まれているのでは、という推論に達したようだ。本作の「ビリヤード」ではたとえ同じように撞いたとしても、ブレイクショットの結果が同じにならないためだ。とはいえ、乱数がどこでどのように作用しているのかは、今年1月21日まで不明のままであったという。

実は“ボールの初期配置”がズレていた

cyndifusic 氏は、友人で計算機科学者のkiwi氏と協力してこの問題にあたったという。kiwi氏はすでに「ビリヤード」の“乱数問題”も認識していたようだ。なおkiwi氏はかねてより『はじめてのWii』の逆コンパイル、つまりゲームをソースコードに戻すタスクに取り組んでいたとのこと。

kiwi氏は「ビリヤード」について逆コンパイルをおこない、“乱数問題”の原因となっていた部分が、ボールをひし形に配置する際のコードに含まれていたことを発見した。この乱数によって約-0.14から0.14までという小さな値でボールの位置が変動する仕組みになっており、位置のわずかな違いには通常プレイのカメラでは気づけなかったようだ。下記のポストでは、エミュレーターのフリーカメラ機能を用いて真上からの位置比較がおこなわれており、ボールの配置が異なっていることが確認できる。そして乱数に関わっている部分のプログラムを変更することで“まったく同じ”ブレイクショットを再現することができたという。これは2024年1月23日のことであった。


ついに“9 break”に辿りつく

ただ、先述のブレイクショットの再現は、プログラムに手を加えた改造にあたる。TASでのプレイは、そうした行為は認められないため、この乱数を引き当てる必要があった。cyndifusic 氏が2月に投稿した動画によれば、この乱数の確率は6000万分の1ほどであり、総当たりするには確率が非常に低く、「もしかしたらゲームの制約上、1打クリア(9ブレイク)は物理的に不可能かもしれない(maybe a 9-break just isn’t physically possible within the constraints of the game)」と締めくくっていた。


しかしその予想は破られることとなった。本作スピードランコミュニティなどに属するElectrifiedStrawberry氏は、6月2日にYouTube上に動画を投稿。改造などを用いない、あくまでTASで実現可能な範囲において、「ビリヤード」の1打クリアを成し遂げたのだ。同氏は何百万ものショットを調べたようで、動画のキャプションにはショットのパラメータやボールの配置の乱数に影響すると思われる、シード値の記載も残されている。確認したくなった人は、これをもとに「ビリヤード」に挑戦してみてもいいだろう。

本作の発売以来長年不可能だと思われてきた「ビリヤード」の1打クリア。発売後17年越しにおこなわれた解析によって「わずかにボールの初期配置がズレている」ことが判明し、なおも不可能と見られた1打クリアが今回TASにより成し遂げられたわけだ。一見シンプルながらTASでのクリアさえ阻み続けていた点は興味深く、コミュニティの執念が結実した例といえるだろう。