Call of Duty:Ghosts - 次世代かどうか?

MP1STに関する最近の記事、新しいゲームエンジンを作るものとそうでないものについて多くの論争があるようです。 Call of Duty:Ghostsの新しいエンジンは新しいですか、それとも最後の世代のコンソールハードウェアからのコピー/貼り付けジョブですか?非常に厳しい意味で、いいえ。真新しいエンジンではありません。しかし、それ自体は悪いことではありません。実際の答えは、いつものように、はるかに微妙なことです。

エンジンが「次世代」と呼ばれる価値があるかどうかを判断する前に、ゲームエンジンが何をするかを知る必要があります。ゲームエンジンは、画面に絵を描くだけではありません。ゲームエンジンは文字通りすべてを行います。私はおそらくそれを十分に明確にしなかったでしょう。すべて。

すべて?

それで、すべてが正確に何を意味するのでしょうか?詳細に説明することも、進行中のすべてのことを言及することもできませんが、簡素化されたビューを与えることができます。まず、エンジンが使用可能なハードウェアをチェックします。これは、プロセッサの速度から利用可能なRAMまで、インターネットが接続されているかどうか、USBアクセサリが添付されているなど、その他になります。これはPCで非常に広範なプロセスですが、コンソールでさえ、これはそれほどではありません。それが完了したら、グラフィカルインターフェイスを起動できます。しかし、それは行の終わりではありません。また、ゲームはデータをロードする必要があり、そのすべてのデータは何らかの形でメモリ内で表現する必要があります。大量のデータをロード、保存、取得する方法は、それ自体が科学です。エンジンは常にキャッシュ、多数の異なるデータ構造を使用しており、すべてがどこにあるかを管理して追跡し、メモリがなくなっていないことを確認しています。これは、ゲームを実行するときに考えるものではありませんが、現在世代のコンソールであっても、現代のゲームにとって非常に重要で非常に複雑です。

しかし、もう一度、それはそこで止まりません。これがすべて機能する場合は、イントロビデオのロードを開始できます。それで、次は何ですか?メインメニューを表示する必要があります。メニューは、さまざまな深さで表示できる別のデータ構造です。ゲームの他の部分のほとんどほど複雑ではありませんが、ゲームには、基礎となるコードに頻繁に触れることなく、デザイナーがメニューの構造と外観を簡単に変更できるシステムが必要です。ゲームは、ユーザーからコマンドを傍受する必要があります。これはあなたのコントローラーになる可能性がありますが、ますます多くの場合、音声コマンドやジェスチャーも同様です。どのボタンまたはコマンドが実行する必要がある別のシステムが何であるかを実行します。メニューやゲームの場所に応じて、ボタンはさまざまなことを行うことができるため、ボタンを単一のアクションにバインドするほど簡単ではありません。入力マネージャーはコンテキストを認識する必要があります。また、人々は音が好きです。発売前にゲームが実行された検出コードを使用すると、どのオーディオデバイスがオーディオを送信するかがわかります。今のところ、それは単純な.mp3ファイルまたは他の形式になります。

ああ、私が忘れる前に:あなたがあなたのヘッドフォンを接続した場合、またはあなたのコントローラーが接続を失った場合、ゲームもそれを処理する必要があります。基礎となるオペレーティングシステムから、ハードウェアの変更に関するメッセージを常に聞いているシステムがあります。いつでもそれらの変更が可能な限りエレガントに解決されることを確認する必要があります。簡単な作業ではありません。

メインメニュー

したがって、これらすべてのシステムが稼働しているので、メインメニューに到達しました!素晴らしい。 MP1STでこれを読んでいるので、次にマルチプレイヤーを起動したいと思います。このためには、インターネット接続が必要です。これは通常、OSによって処理されますが、ゲームが作成できるすべての異なるリクエストを処理するシステムが必要です。繰り返しますが、ネットワーク上でデータを効率的かつ正しく転送することはそれ自体が科学であるため、以下は非常に簡素化されます。ゲームは、利用可能なサーバーまたはロビーを要求して、マスターサーバーにリクエストを送信します。ロビー形式では、ゲームは通常、どの結果が最高の遅延を提供するかを決定しようとします。専用サーバーの場合、通常はリストを表示し、決定できます。サーバーに接続すると(専用かどうか)、多くのデータが行き来します。

サーバーは接続を受け入れ、最終的にプレイする準備ができています...ロード画面の後に。上記のメモリマネージャーシステムを使用して、ゲームをロードする必要があります。これは、データ構造に保存する必要がある数十万の異なるファイルではないにしても、多くのギガバイトと数十となります。すべてがロードされていると、レンダリングを開始します。しかし、私たちは何をレンダリングする必要がありますか?そしてどのように?あなたがシングルプレイヤーであろうとなかろうと、専用サーバーまたはP2Pで、ゲームには常にゲームの世界を表現する必要があります。これは、画面に表示される画像ではなく、ゲームの現在の状態を抽象的な表現です。現在の状態、場所、回転、特別な特性を備えたオブジェクトだけでなく、さまざまな音が再生されなければならないゾーン、排出された弾丸のような粒子、壁を獲得するなどの特別なアクションを行うことができる場所なども含まれます。マルチプレイヤーセッションでは、すべてのプレイヤーがゲームの世界の独自のバージョンを持っています。それらを同期させることは解決するのが非常に難しい問題であり、それが1つの解決策として、恐ろしい「ラグ補償」が登場する場所です。すべてのフレーム、時間が進み、全体が更新されます。物理学、サーバーからの更新、プレーヤーによるアクション…それらはすべて、ゲームの世界のこの抽象的な表現に適用されます。

最後に、3D!

3Dレンダラーがキックインするのは今だけです。最初のことの1つは、現在のビューのビジョンとどの部分のオブジェクトがどのオブジェクトであるかを決定することです。これはレンダラーの非常に基本的な部分です。なぜなら、正しく行われた場合、必要なものを正確にレンダリングするからです。間違った場合、プレイヤーが表示されないものの多くのパフォーマンスを捨てます。何をレンダリングするかがわかったら、正しい角度と位置からすべてのオブジェクトを描画します。しかし、それはそれだけではありません。また、すべてのピクセルの各表面の角度、カメラからどれだけ離れているか、どれだけ反射的であるかなどを表現します。このデータがあると、照明効果の適用を開始できます。照明が実行されると(とりわけ)、それはすべて後処理を通過し、UIがその上に描かれ、それが画面に登場します。

レンダリングシステムのほとんどは、彼らがするように言われたことを正確に行います。カメラからピクセルからどれだけ離れているかを知りたい場合、そのための良いアルゴリズムがある場合は、その問題に必要なのはそれだけです。作業システムを捨てることには意味がありませんが、まったく同じことをするようにそれらを書き直すだけです。一般的に、エンジン全体を捨てることは、あなたがそれを改善するのを止めるいくつかの大きな技術的障壁がない限り、悪い考えです。開発者がゲームの照明を改善したい場合、レンダラーの照明ステップを改善する必要があります。最新のエンジンで見つける新機能の多くは、レンダリングパイプラインに直接接続するビルディングブロックです。多くの派手なレンダリングテクニックには、多くの技術的および数学的な課題があります。

Call of Duty:Ghosts:次世代かどうか?

余分な馬力を使用して、COD:Ghosts Engineはレンダラーの多くの部分を大幅に改善し、他の多くの部分を追加しました。おそらくバトルフィールド4ほどきれいではありませんが、再び、フレームレートの2倍で実行されます。 Frostbite 3と新しいCODエンジンはどちらも「次世代」ですが、どちらも完全に新しいものではありません。時間が経つにつれて両方とも良くなります。良い例として、COD2をBO2、またはバトルフィールド3の元の悪い会社と比較してください。これは、新しいコンソールのゲームの最初の波にすぎません。最高のものはまだ来ていません。それらを改善するのではなく、完全に機能するエンジンを捨てることは、そのプロセスを遅くするだけです。

したがって、次回はエンジンが以前のバージョンの改良バージョンである「Just」です。トーチに火をつけたり、ピッチフォークを出さないでください。それに公正なショットを与えてください。素晴らしいソフトウェアは素晴らしいワインのようなものです。時間がかかります。 2年間の改善は、ゼロからすべてを再び行う2年よりもはるかに大きな効果をもたらします。

最終的に、私たちは皆、優れたエンジンに基づいたより良いゲームを獲得するからです。 PCゲーマーとして、私は間違いなく優れたグラフィックスに感謝することができますが、一日の終わりには、ゲームをするときに私にとって重要なのは楽しいことです。プレイしたいゲームをプレイし、他の人に同じことをさせます。良い時が来ているので、インターネットで戦うのではなく、楽しんでみましょう!