Obsidian がアウター ワールドの無限はしごのバグをどのように修正したかについての陽気な物語

アウターワールド' 開発者は、特定のゲーム内バグがどのように修正されたかについての奇妙な話を共有しました。

アウターワールドRPG としての性質は、ゲームが大幅に異なるプレイ スタイルを許容し、さまざまなプレイヤーの選択に対応する必要があることを意味し、必然的に特定のことが狂う可能性があることを意味します。

開発者の Obsidian はその準備をしており、この流動的な性質により最終ゲームでは問題は発生しませんでしたが、特に 1 つのバグが、思いがけない英雄が修正を手伝ってくれるまでチームを逃れることができました。大規模な Twitter スレッドで、Obsidian の QA リーダー Taylor Swope 氏は、パッチ 1.2 で修正された重大なバグの歴史を詳しく語りました。このバグにより、ゲームは NPC コンパニオンが生きているにもかかわらず、死んだと認識してしまいました。

その結果、ゲームは彼らが死んだと信じたため、関連するサイドクエストは失敗しました。これは多くの理由で重要ですが、特にアウターワールドのコンパニオンは永久死の超新星モード以外では実際に死ぬことができないためです。このバグは実際にはテスト中に発生しましたが、QA は実際に何が原因で発生するのかを理解できなかったため、再現できませんでした。

「調査には、ゲームにコンパニオンが死んだと思わせる可能性のあるすべてのスクリプトとコード行の場所を特定することが含まれていました」とスウォープ氏は説明しました。

「唯一の論理的な原因は、コンパニオンの体力がゼロになったときに実行されるちょっとしたスクリプトでした。コンパニオンがパーティに参加している場合は、戦闘が終わるのを待って復活させます。そうでない場合は、コンパニオンを『本当に』死亡しているとマークします。」

しかし、スクリプトの仕事は仲間を蘇生させることであったため、仲間は戦闘で死亡しませんでした。その代わりに、開発者はコンパニオンが戦闘で死亡する可能性があることを示唆しました。 「ゲーム内でコンパニオンが存在するが、アクティブなパーティーに * 存在しない唯一の場所は、プレイヤーが船に乗っているときです」と Swope 氏は説明しました。

もちろん、これは別のジレンマを引き起こしました。「ダメージを受けない」仲間が船上で死亡するのはどうしてでしょうか。それは落下によるダメージではないでしょうか?テストによると、致命的な落下を引き起こすほど高い場所は見つかりませんでした。

「最終的に、「無傷」は「無敵」を意味するものではないことがわかりました。攻撃によるダメージは受けられませんが、他のものからは傷つく可能性があります。」

私は、「おそらく他のマップから高速移動するときに高度データが保存されるのではないか」や「おそらく 2 人の仲間の間の物理的相互作用により、一方が上向きに急速に加速するのではないか」など、たくさんの理論を調べました (11/18)

— テイラー・スウォープ (@_taylorswope)2019年12月12日

この時までにゲームはリリースされており、世界中のプレイヤーがコンパニオン クエストの失敗を報告し始めたため、これが数人の開発者だけが遭遇する奇妙な偶然であるという期待は打ち砕かれました (13/18)

— テイラー・スウォープ (@_taylorswope)2019年12月12日

残念ながら、プレイヤーが自分の体験をオンラインに投稿し始めたときに、この奇妙なバグが当初の予想よりも大きな問題であることが判明しました。多くの人がコンパニオンのクエストが失敗するのを目撃していましたが、オブシディアンはそれが同じ奇妙なバグの結果であることを知っていました。実際にチームがこの問題を修正するきっかけとなったのは、問題が発生する前に同行者が「何も登っていなかった」というユーザーレビューでした。

目に見えないはしごを登ることがこのバグの根本原因であることを説明するために、Swope 氏は次のように述べました。

家具システムという複雑な獣の奥深くに、プレイヤーが会話中の場合、すべての NPC が新しい家具のインタラクションを開始できないようにするコードがありました (16/18)

— テイラー・スウォープ (@_taylorswope)2019年12月12日