『Sky 星を紡ぐ子どもたち』開発元、不具合の説明で『ポケモン』を例にあげる。解消困難バグを“バグポケモン”で説明
『Sky 星を紡ぐ子どもたち』において、特定のエリアで発生する不具合、通称「風の街道バグ」が確認されている。本作を手がけるthatgamecompanyは2月14日、このバグについての現状を報告した。報告では不具合の解消に苦戦する様子が記されているほか、バグについて説明する過程で『ポケモン』や『マリオ』といった意外なタイトルについても言及されている。
『Sky 星を紡ぐ子どもたち』は、『風ノ旅ビト』『Flowery』を手がけたthatgamecompanyによるソーシャルアドベンチャーゲームだ。舞台となるのは、かつて繁栄していた雲の上の王国。しかしある日、空に光り輝く星たちは一夜にして消え去ってしまったのだ。プレイヤーは「星の子ども」としてこの地に降り立つ。落ちた星々を見つけて空へ還すべく、冒険へと旅立つのだ。
本作は最大8人でのオンラインマルチプレイに対応。冒険を通じて、他者とのつながりやあたたかな体験が描かれる。当初はモバイル向けにリリースされ、のちにコンソール向けにも展開。記事執筆時点ではPS5/PS4/Nintendo Switch/iOS/Android向けに、基本プレイ無料で配信中だ。
本作で発生している「風の街道バグ」とは、「風の街道」エリアで発生するバグだ。発生すると季節の進行状況を失うなど、Skyアカウントに問題を引き起こす可能性があるという。具体的には所持していたイベントキャンドルが通常キャンドルになるといった現象が報告されている。このバグは特定の手順で風の街道を通過すると発生することが確認されているが、開発側は安全のために風の街道エリア自体に進入しないように呼びかけていた。
このバグが最初に確認されたのは、2022年11月より配信されたバージョン0.19.5アップデート。プレイヤーデータに影響をもたらす危険なバグでありながら、発生から2か月以上経った今もなお、問題は解消されていない。こうした現状を踏まえ、thatgamecompanyは同バグに関するお知らせと、プロデューサーのトラヴィス氏からのメッセージをサポートページに掲載した。
トラヴィス氏の言葉としては、「風の街道バグ」はいわゆる「任意コード実行(Arbitrary Code Execution)」に該当すると説明している。任意コード実行が原因の不具合では、バグにより想定していない値でメモリの読み書きが発生し、予期せぬ結果になると説明した。さらに任意コード実行がもたらすバグについて、初代『ポケットモンスター』における、不具合によって出現するポケモン「けつばん」や、『スーパーマリオワールド』内で別のゲームをプレイする方法を例に挙げている。
一般に任意コード実行とは、「プレイヤーが特定の操作でメモリの値を変更し、開発者が意図しない挙動を呼び出す」行為を指す。バグや不具合そのものではなく、プレイヤーが介入可能な脆弱性とその利用、ととらえるのが近いだろう。ただし「風の街道バグ」は、こうしたプレイヤーによる利用は報告されていないようだ。トラヴィス氏が『ポケモン』や『マリオ』の例を挙げたのは、通常のプレイではまず遭遇しない現象をわかりやすく説明するためと考えられる。認知度の高さゆえに例示として引っ張り出されたかたちだろう。また、任意コード実行は、そうした不具合を利用した操作を指す言葉である。今回のバグは、あくまで任意コード実行と脆弱性や発生機序が似ているケースとして見たほうがよさそうだ。
またトラヴィス氏は、「風の街道バグ」の解決が現状困難であると述べた。ゲームのプレイ中は、いくつものシステムやサービスが同時に稼働している。その中から、どのシステムが破損したデータを読み書きしているのか、特定は困難であると説明した。さらに開発サーバーでは不具合の再現ができておらず、十分な内部検証もできていないとのことだ。
こうした状況を踏まえトラヴィス氏は、次のアップデートで「風の街道バグ」が解消できなかった場合、この不具合に最優先で対応するとしている。またバグ検証のためには、プレイヤーからの報告が特に重要であるとのこと。本作のプレイヤーに対して深く感謝するとともに、バグの解決に向けて努めるとしている。
告知内容からは、プレイヤーだけでなく開発陣もまた「風の街道バグ」に困らされている様子がうかがえる。不具合の解消を待ちつつ、現時点では遠回りでも風の街道を避けてプレイするのがよさそうだ。