211service.com
「それは不可能です」:開発者は、大きなオンラインゲームが発売時に常に壊れているように見える理由を説明します
の断片化された起動の間 国歌 、Apex Legendsのサプライズローンチ、および次のローンチ ディビジョン2 、2019年の初めには、大きなオンラインゲームが山積みになっています。 BioWareの最新の、そしてそれが実証される前の数え切れないほどのゲームとして、この範囲のマルチプレイヤーゲームが素晴らしい状態で起動することはめったにありません。すべてのオンラインゲームが持っているようです いくつかの Apex Legendsの第1週のバグのようなマイナーな問題であろうと、最初は機能しなくなった接続の問題のようなゲームブレーカーであろうと、リリース時の技術的な問題。 悪魔3 。
オンラインゲームをプレイしている限り、ローンチに問題がありましたが、ローンチの問題に関する会話は実際にはどこにも行っていないようです。毎回同じ質問が表示されます。なぜこれが起こったのですか?なぜ開発者はこれを予期しなかったのですか?なぜ修正に時間がかかったのですか?非常に多くの大規模なオンラインゲームが非常に緊密にリリースされており、業界でのGames as a Serviceの台頭により、恐ろしい発売日のダウンタイムをわかりやすく説明するために、これらの質問のいくつかを開発者に提供する良い機会のように思えました。ゲームの起動時に同じ問題が発生し続けるのはなぜですか?開発者はそれらをどのように処理しますか?
「容量が問題になることはめったにありません」

ゲームがダウンしたり、接続が遅い場合は常に、サーバースペースが不足していることが原因であると多くの人が考えています。開発者がログインするプレーヤーの数を過小評価し、その結果、サーバーが緊張の下で座屈したこと。その場合、彼らがする必要があるのは、より多くのサーバーにお金を払うことだけですよね?いいえ、必ずしもそうとは限りません。ゲームを作るときによくあることですが、それはそれほど単純ではありません。
「オンラインでよく目にする考え方の1つは、「なぜA社はサーバーを増やさなかったのか」ということです。EAの開発マネージャーで元QAアナリストのAlexMann氏は語っています。 '起動時に、これらのゲームで最大のトラフィックが見られます。誰もが誇大宣伝され、マーケティングチームは仕事をうまくやり遂げ、誰もがオンラインになることに本当に興奮しています。ゲームがポップした瞬間、誰もが「実行」をクリックします。しかし、ほとんどのゲームのライフサイクルで気付くでしょう。この大規模なバーストが発生し、その後、それは終了します。そこにあるすべてのゲーム会社が、最初のバースト内で必要なすべてをカバーするためにハードウェアを購入した場合、2週間後、ハードウェアの50%が使用されなくなります。
「それはそれについてではありません」それにたくさんのお金を投げて、それを大きくしましょう」
アレックスマン
これにより、開発者は過剰な支出や購入をせずにローンチの準備をすることが困難になります 多すぎる サーバー。幸いなことに、開発者はアマゾンウェブサービスなどの企業を通じて仮想サーバーにアクセスできるようになり、これらは必要に応じてアクティブ化または非アクティブ化できます。これらの種類のサーバーは、ゲームがピアツーピア接続(2004年にHalo 2などのゲームをサポートしていたタイプ)から、次のような大規模で永続的なゲームをサポートする専用サーバーに移行するにつれて必要になりました。 Destiny 2 と国歌。ただし、仮想サーバーは奇跡的な治療法ではなく、独自の問題があります。

「容量は必ずしもサーバーの数ではありません」とMann氏は言います。 「何百万人ものプレーヤーを期待していて、サーバーを持っているとしても、それらすべてが同時にそのログインポータルにアクセスすることは期待していません。それは人々が通り抜けるのに十分な車線を高速道路に持つことです。 2つの国がブリッジで接続されており、どちらの国にも大量のスペースがありますが、クライアントの国からサーバーの国に移動するには、そのブリッジをどのくらいの大きさにしますか?それは「それにたくさんのお金を投げて、それを大きくしましょう」ということではありません。結局のところ、使用しているテクノロジーとエンジンに基づくボトルネックになることがよくあります。」
よくある誤解 
Mannがよく目にする誤解の1つは、開発チームの運用方法、具体的には、誰でも何でも修正できるという考えに関係しています。
「200人が作成した複数のファイルにまたがる複雑なコードベースを扱っている場合、私のコーダーを見て、彼らがこれを作成した場合、コーダーAはそのプロジェクト全体を知りません」と彼は説明します。 「誰もがゲームコードについてすべてを知っているというこの概念があるので、レベルアーティストはレベルアーキテクチャの修正を手伝う必要があります。ご存知のとおり、コミュニティマネージャーはバグを修正しません。」
TheDivisionの背後にあるスタジオであるMassiveEntertainmentのライブサービスディレクターであるFredrikBrönjemarkからも同じことを聞きました。 「大規模なオンラインゲームは非常に複雑なソフトウェアであり、大規模なオンラインサーバーインフラストラクチャに依存してサポートしています」とBrönjemark氏は説明します。 「それに加えて、ファーストパーティサービスの追加レイヤーもあるので、問題が発生する可能性のあるさまざまな方法があります。 The Divisionの私たちにとって、ダウンタイムや接続の問題を引き起こす可能性のある主な種類のインシデントは、サーバーで実行されているゲームソフトウェアの不安定性、またはホスティングプロバイダーの問題でした。サーバー容量の不足が問題になることはめったにありません。ディビジョン2では、ゲームをプレイしたいプレーヤーの数に応じて、サーバーが自動的にスケーリングされます。
ローンチ日に問題が発生する可能性はいくつもあり、多くの場合、ウォッチリストのプレーヤー数は比較的少なくなっています。メモリリーク、誤ったコードの1つの、しかし壊滅的な行、または巨大なサーバーパイプラインのどこかに埋められたラグのスポットが存在する可能性があります。ゲームに特定のISPの問題がある可能性があります。または、Brönjemarkが述べたように、ゲームが依存するファーストパーティサービスがダウンする可能性があります。問題はどこにでもある可能性がありますが、それがどこにあっても、それは皆の問題です。オンラインゲームに関しては、誰も島ではありません。そのため、問題への対応が非常に困難で時間がかかる可能性があります。
「すべての打ち上げは異なります」

私が話をしたすべての開発者は、問題を修正するための同様のトリアージプロセスについて説明しました。 Mannは、修正が最初から最後までどのように見えるかについての概要を説明しました。まず、開発者は問題の症状をふるいにかけて実際の原因を特定する必要があります。次に、ゲームのその領域を担当する人々を招き、解決策を考え出します。それは彼らが彼らの側で更新できるものですか、それとも彼らはパッチを発行する必要がありますか?解決策を見つけたら、特にパッチの場合は、それが他に何も壊れていないことを確認するためにテストする必要があります。
「何かがライブになる前にチェックがあります」とマンは言います。 「私たちが一緒に成功に向けて取り組んでいることを確認するために、プラットフォームホルダー(ソニーやマイクロソフトなど)とは何度も行き来しています。 QAの手順を実行する必要があります。そして、そのパッチを実行しているときに、今すぐ反応してこれを修正すると、30分後、同じ日に2番目のパッチを実行する必要があり、混乱することになります。したがって、「このパッチを実行しています。この一環として、他にどのような重大な問題を修正できますか?他に何が間違っているのですか?」 30分でパッチを作成することはできません。そのコンテンツにパッチを適用する方法を賢くしていることを確認する必要があります。」
それがすべて完了したら、宇宙が許せば、開発者はパッチをプッシュして監視を開始し、ソーシャルチャネルを介してその効果を伝達することができます。しかし、「30分ほどのターンアラウンドはありません」とマンは言い、「それが消える前にそれに触れる人はおそらく何百人もいるでしょう」と付け加えました。

エンジニアリングの経験を持つ元BioWareおよびGazillionEntertainmentコミュニティの代表であるFrankSanchezは、このパラダイムをよく知っています。応答の照合とパッチノートの作成に多くの時間を費やした彼は、プレーヤーのフィードバックからパッチの送信まで、更新プロセスの両面を見てきました。彼はまた、ほとんどの修正よりも複雑な修正がどのようになり得るか、そしてプレイヤーと開発者の両方にとって起動の問題がどれほど苛立たしいものになるかをよく知っています。
「私たちはサーバーが立ち上がるのを見たいと思っている最後の人であり、2時間後に遅れるので、ひどく人々はログインできません」とSanchezは説明します。 「[開発者]がサーバーをベータ版に持ち込み、それが正しく機能しない場合、それはおそらく、サーバーをその状態にするためにすでにクランチしていたものを超えて時間を費やした誰かの最後尾にあることを保証します起動する可能性があります。したがって、オンラインの誰かが「まあ、彼らはただ怠惰です」のようなものである場合、それは完全にそして露骨に誤りです。作業が開始されます。課題は、問題にどのように対応し、問題が発生したときにプレーヤーに連絡するかです。それは不完全な科学です…すべての打ち上げは異なります。 Unityなどで2つのゲームを開発したとしても、ジャンルが同じでもプロセスは異なります。すべてのゲームには多くの独自性があるため、「このゲームは大丈夫だった、このゲームの何が問題なのか」とは言えません。
すべてのゲームには多くの独自性があるため、「このゲームは大丈夫だった、このゲームの何が問題なのか」とは言えません。
フランク・サンチェス
Sanchezのコメントは、起動時間の前後に発生する別の一般的な質問に触れています。なぜこれを予期しなかったのですか?たぶん、ゲームXは数ヶ月前に問題に遭遇しました。確かに、ゲームYの開発者はそれを見て、同じ問題を回避するための対策を講じることができますよね?
個々のゲームの違いはさておき、私が話した誰もが、いくつかの問題は予想できないと言っていました。内部テストでできることはそれほど多くなく、実際にゲームを起動することと真に比較することはできません。
「ライブのシミュレーションはありません」

「ライブ[コンカレントプレーヤー]を計画することはできません」とサンチェスは続けます。 「それは不可能です。代替品はありません。何かを公開する前に、内部でストレステストを行うすべての方法を見てきましたが、ライブのシミュレーションはありません。」
ここで、リリース前のストレステストとベータ期間が機能します。これらは完璧ではありませんが、ゲームの起動がどのように見えるか、プライムタイムの前に何を修正する必要があるかを判断するための最良の方法です。 「ベタスは非常に役に立ちます」とマンは言います。 'ベータテストで行うサイズとスケールを内部で取得することはできません。サーバーを攻撃するためにそれほど多くの人を雇うことはできません。ライブでテストする最良の方法は、ライブであることです。多くのアルファ版とベータ版を見ると、サーバーが不足している、バグやその他の問題があるという概念がありますが、1週間以内にトリアージされ、最新または最終リリースにはこれらの問題はありません。 。それは、それらのベータ期間中に[ライブ]で調査されたからです。
「最近、スタジオでゲームのベータ版が実行され、たくさんの友達が興奮してプレイしました。サーバーに重要なアイテムが生成されていないため、チュートリアルでスタックするバグが発生しました」とMann氏は言います。私は、オンラインゲームの立ち上げの欠陥を予測するのがいかに難しいかを指摘しました。 「私はそのゲームのすべてのQAテストで、そのアイテムが常にそこにあったことを保証します。それを見つける唯一の方法は、このフローを大規模にテストすることです。ベータ版の作業のおかげで、それらの人たちは今ではそれをよく知っていて、その問題全体でリリースのために修正されているのではないかと思います。
すべてを修正することはできません

ベータ版が非常に優れている場合は、開発者がベータ版をもっと保持しないのはなぜですか。また、リリースの数か月前にベータ版を保持しないのはなぜですか。ゲームでよくあることですが、テクノロジーと時間によって、開発者がやりたいことを正確に実行できるとは限りません。ほとんどのゲームの作成方法が原因で、ゲームは最後まで一緒になりません。これが、一般的にベータ版がリリースに非常に近いように見える理由です。また、開発者がベータ版から何を学んだかに関係なく、開発者がどのような問題を明らかにしたとしても、それに応じてゲームを現実的に遅らせることはできません。 Webサービスプロバイダーは、パブリッシャーが起動日を見逃したい以上に、チームがサーバーの開始日を見逃したくないと考えています。これが、いくつかの問題が予測できないのと同じように、いくつかのバグがリリースに間に合うように修正できない理由です。
ディビジョン2ベータ 
The ディビジョン2ベータ スケジュールはかなり包括的で、プライベートベータとオープンベータ、およびよりターゲットを絞ったストレステストがありました。すべてのゲームがそれを揺るがすことができるわけではありませんが、ブロンジェマルクが「最終リハーサル」と呼ぶものから多大な恩恵を受けるゲームです。最初のオープンベータは、リリースから2週間後の3月1日から4日に予定されています。
「バグなしで出荷したい」とサンチェス氏は考えます。これは、実際に製品を出荷するために地獄を通り抜けた開発者からのコメントです。 「しかし、どのチームもそれを行うのは非常に難しいとあなたに言うでしょう。それがまさに現実です。修正が必要なもののリストは常に変化しています。バグに関しては、出荷される可能性のあるバグがあり、リリース後に発見されたバグがあることを理解する必要があります。これらはすべて、優先順位を付けて計画し、話し合う必要があります。トリアージです。幸運な打ち上げは、バグはあるが重大なバグはないものです。
その上、ベータビルドを作成することは、それ自体が時間と労力を要する作業になる可能性があります。開発者は、ゲームの一部をハックして、XboxLiveまたはPlayStationNetworkにアップロードすることはできません。ベータ版は、多くの場合、ゲームとは別に開発されます(ただし、ゲームと並行して開発されます)。これには、より多くの時間とお金がかかります。これが、ゲームのメインビルドで長い間修正されてきた問題がまだベータ版に存在する可能性がある理由です。これは、Anthemのデモや、Division2の最新のベータ版などで見られました。

「ベータテストは単なるマーケティングキャンペーンであり、ゲームはその時点ですでに終了しているため、開発者はとにかく彼らから何も学ぶことができないと人々が言うのをよく耳にします」とBrönjemarkは私に言います。 「その神話を払拭したい。ゲームがすでにディスクに印刷されていて、初日のパッチがすでに作成されている場合でも、技術だけでなくゲームプレイとバランスの観点からも、サーバー側で対処できることは非常にたくさんあります。 。」
反対に、サンチェスは次のように述べています。 '公開スケジュールとゲーム開発のタイムラインは非常に積極的であり、時にはあまりにも積極的です。何かが出荷されるとき、あなたはどれくらいの資金を残しましたか、あなたはどれくらい開発に携わっていますか。場合によっては、起動の成功は、マイルストーンを何回押し戻さなければならなかったか、何かを磨く必要があったために起動を何回遅らせたかに依存します。一部のゲームは、ある程度の磨きをかけてのみ出荷できます。それが金になると、それが完全にそして完全に素晴らしいとは言えません。ゲームがローンチの準備ができた状態で出荷される場合がありますが、実行する必要のある少しの磨きがあるかもしれません。
打ち上げは初日以上です

開発者とプレーヤーはどちらも、最初にゲームを起動したときにゲームが完全に機能することを望んでいますが、ゲーム開発の現実は、可動部分が非常に多く、動かせない制限が非常に多いため、いくつかの問題が亀裂をすり抜けてしまうことです。その確率は、ゲームがどんどん大きくなるにつれて増加するだけです。サンチェスは、これが私たちがこれらのような打ち上げを全体的に見る必要がある理由であると考えています。発売日のゲームのパフォーマンスは重要ですが、それがすべてではありません。
「それは問題ではありません、それらは常に起こるでしょう」とサンチェスは言います。 「それはあなたがそれらの問題に取り組む方法です。あなたが遅いか、あなたがそれらに適切に対処しないか、あなたがあなたのプレーヤーに対して敵対的であるならば、それは彼らに固執するでしょう。プレイヤーに理解してもらいたいことが1つあるとすれば、それは、どれだけうまく計画しても問題が発生するということです。開発者に、彼らがどのように反応するかについて説明責任を負わせる必要があります。打ち上げの1週間後に問題が発生した場合は、彼らの足を火に向けて、「ねえ、私は良い経験をしていません。これが理由です。これらの問題が修正されないのではないかと心配しています」と言います。それらは私たちが聞きたいことです。」
問題は、計画の程度に関係なく発生します。
フランク・サンチェス
完全に起動するゲームはありません。それは起こりません。サンチェスが言うように、「スムーズな打ち上げとみなすものは、プレイヤーが何かが間違っていると感じるレベルまで決して上昇しなかったものです。」舞台裏では常にスクランブリングが行われています。マンはそれを、フィードバックと潜在的な問題についてモニターの壁を監視している「戦争室」に集まった開発者の集まりとして説明しました。それらの問題を早期に発見することもあれば、数時間現れないこともあり、さらに数時間または数日でさえ修正できないこともあります。
重要なのは、大規模なオンラインゲームは、発売時に常にいくつかの技術的な問題を抱えているということです。地獄、すべての現代のゲームは起動時にいくつかの問題があります。それが今日のテクノロジーと今日の業界の本質です。これは、プレイヤーが壊滅的なデザインやその他の問題で押し出されたゲームに盲目的にパスを与える必要があるという意味ではありませんが、平均的なローンチを視野に入れています。ゲームには、私たちが気付かない小さな問題がある場合や、明らかなゲームブレーカーがある場合があります。いずれにせよ、誰もができることは、最善を期待し、最悪の事態に備え、必然的に問題が表面化したときに問題を提起することです。