1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

RTA走者が利用する“バグ”を分析 ソフトウェア開発に役立つか? 「スーパーマリオシリーズ」4作で調査

ITmedia NEWS / 2024年5月7日 8時5分

写真

スーパーマリオシリーズのさまざまなキャラクター

 英ブリストル大学などに所属する研究者らが発表した論文「Super Mario in the Pernicious Kingdoms: Classifying glitches in old games」は、スーパーマリオシリーズ4作品(スーパーマリオブラザーズ、スーパーマリオブラザーズ3、スーパーマリオワールド、スーパーマリオ64)を対象に、これまでに報告されている237件のバグを調査した研究報告である。

 ゲームをどれだけ速くクリアできるかを競い合う「RTA」という遊び方がある。彼らは「RTA走者」などと呼ばれ、常人にはまねできないようなスーパープレイを駆使して、クリアタイムを競う様子は人気を博し、世界中にRTAファンがいる。一方、ゲームに存在する“バグ”を利用し、本来想定されていない方法でエンディングにたどり着く遊び方をする走者も存在している。

 研究チームはRTA走者たちが利用するバグに注目し、4種類のスーパーマリオシリーズに存在するバグの種類を分類。従来のソフトウェアで悪用されるバグと同じかどうかを検証した。

 バグの分類には、ソフトウェアのセキュリティ上の脆弱性の種類を識別するための共通基準「CWE」(Common Weakness Enumeration)と「7PK」(Seven Pernicious Kingdoms)を用いた。その結果、多くのバグの種類や比率はこれらで分類できた他、分類できない新たな脆弱性カテゴリーを7種類発見した。

 一番多かったバグが、全体の45%で時間と状態の問題(7PK4)に起因したものだ。その中で特に多かったのは「Incomplete Cleanup」(CWE-459)で、これはゲームの状態が適切にリセットされないことで発生する不具合である。例えば、スーパーマリオブラザーズの「見えないツタ」や、スーパーマリオブラザーズ3の「マップ上の水の上を歩く」などだ。

 このカテゴリー内でスーパーマリオ64だけに発生するバグで多かったのが「Time-of-check Time-of-use(TOCTOU)Race Condition」(CWE-367)である。ゲームがチェックを行い、イベントを開始すべきだと判断するが、その後、他のことを先に処理することを決定する場合に発生する。例えば、プレイヤーがウサギの「ミップ」を捕まえた状態で扉をすり抜けられるというバグが挙げられ、通常はロックされているゲームの領域にアクセスできる。

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください