『Apex Legends』のエラー落ちバグ、発生原因は初代『タイタンフォール』にまで遡るという驚きの説明が。日本含む一部地域でのみ起きる珍現象
Respawn Entertainmentのシニア・デザイナーChin Xiang Chong氏が、『Apex Legends』の新レジェンド「ランパート」に関連したエラー落ちバグについて、Twitter上で解説。発生原因は特定済みであり、近日中のパッチ配信により修正すると伝えている。そのバグというのは、ランパートの戦術アビリティ「増幅バリケード」の透明バリア部分を破壊する、もしくはバリケードを縦に2枚重ねた状態で内側から撃つと、撃った者がゲームからエラー落ちしてしまうというもの。8月18日のシーズン6開幕以降、日本国内を中心に多数の不具合報告があがっており、新レジェンドのランパートが予期せぬ形で猛威を奮っている(関連記事)。
翌日8月19日午前7時には、『Apex Legends』の公式Twitterアカウントが、不具合の存在を把握していると発信。厳密には「一部のリージョンで」発生していると伝えており、全地域のプレイヤーが影響を受けているわけではないことが示唆された。たしかに、これほどの致命的なバグであるにもかかわらず、海外Twitterや海外フォーラムRedditなどでは大きく騒がれていなかった。なぜ、日本を含む一部の地域だけで発生しているのか。先述したChong氏は、初代『タイタンフォール』にまで遡るという、驚きのバグ発生経緯を説明している。「増幅バリケードの人体ゴア表現」を抑えようとするスクリプトが走るも、増幅バリケードは人体ではないのでエラーを吐き出すのだという。
Respawn Entertainmentが開発し、2014年にリリースを迎えたFPS『タイタンフォール』は、北米圏のESRBレーティングでは17歳以上対象の「M」で販売されている。続編となる『タイタンフォール2』も同様(国内CEROレーティングは17才以上対象の「D」)。主な理由としては、暴力表現、流血、ゴア表現が含まれているからだ。たとえば、戦闘兵器であるタイタンが人間兵を叩けば身体が粉々に潰れる。
ただ、いくら17才以上対象のレーティングがついていても、一部の地域ではそのままの表現でゲームを出せない。そこで、表現の変更が必要なリージョン用に、専用のスクリプトを含んでいたという。簡単に言うと「人体が殺害された際、胸部のゴア表現を控えめにする」ためのスクリプトだ。日本も、表現変更が必要なリージョンに含まれている。このスクリプトが組み込まれたのは2014年1月のことで、それから6年以上にわたり、『タイタンフォール』『タイタンフォール2』『Apex Legends』と、Respawn Entertainmentの開発タイトルにて使われてきた。
6年間、問題なく作動してきたゴア表現抑制用のスクリプト。それが2020年8月、ついに不具合を引き起こしたのだ。『Apex Legends』の新レジェンドであるランパートを開発している最中、高発射レートの武器で増幅バリケードを壊すとUIアニメーションが正常に流れない不具合を発見。一時的な解決方法として、バリケードの破壊を、オブジェクトの破壊ではなく、人体キャラの殺害として判定するようにしたという。するとどうなるかというと、先述した人体殺害時のゴア表現抑制用スクリプトが発動。増幅バリケードを人間だと認識し、「胸部のゴア表現を控えめ」にしようと内部処理が走る。もちろん増幅バリケードは人体ではないし、「胸部」など存在しない。そこでエラーが発生する。
日本を含む一部のリージョンでのみ使われているスクリプトが要因だからこそ、不具合報告が出る地域に偏りがあったのだ。増幅バリケードの人体ゴア表現を規制しようとスクリプトが走り、ありもしないバリケードの「胸部」を探そうとしてエラーを吐き出す。『タイタンフォール』のゴア表現規制のために生み出されたスクリプトが、想定外の使われ方によって、6年の時を経て思わぬ不具合を引き起こしたのである。Chong氏によると、すでに社内ビルドでは問題を解消できており、できるだけ早く修正パッチを配信する予定とのこと。ランパートのアビリティを巡る珍現象に悩まされる日々は、近いうちに終わりを迎えるだろう。