技術者インタビュー: ニード・フォー・スピード: 熱い追求

技術者インタビュー: ニード・フォー・スピード: 熱い追求

これでサークルが完成しました。ちょうど 1 年ほど前、Digital Foundry は、Criterion のテクニカル ディレクターである Richard Parr 氏とシニア エンジニアの Alex Fry 氏に話を聞いて、ゲーム開発の第一人者に対する広範な技術インタビューを開始しました。先週、私たちは新しい Need for Speed: Hot Pursuit を視察するためにギルドフォードを拠点とする開発者を訪問し、Parr 氏と Fry 氏にもう一度会い、新作ゲームの最新の技術革新について話し合う機会を得ました。
Need for Speed: Hot Pursuit は、Criterion にとって大きな出発点となります。これは、Burnout Paradise の単なるリスキンではありません。開発チームは、以前のタイトルとは大きく異なる運転体験と新しいグラフィックの外観を備えた、ゲーム用のまったく新しいエンジンを作成しました。これは『ニード・フォー・スピード』ですが、それ以上に、最先端のレンダリングと物理学を使用して高解像度時代に合わせて最新の状態に仕上げられた、古典的な『ニード・フォー・スピード』です。
間もなくゲームについてさらに詳しく話し、作成プロセスに関するいくつかの驚くべき情報を明らかにする予定ですが、それまでの間、クライテリオンの作戦室にいるフライ、パー、リードベターの記録の公開の時間です。これが起こったのです…
Digital Foundry では、『Burnout Paradise』用にまったく新しいエンジンを作成しましたが、今度は『Need for Speed』でもそれを再度実行したようですね。パラダイスのためにゼロから再構築するのではなく、自分が作成したものの上に構築したいという誘惑はありませんでしたか?
アレックス・フライ
うん。私たちはパラダイスで本当に多くのことを学びました。ゲームをプレイするときに学ぶことの 1 つは…事後分析から、何がうまくいき、何があまりうまくいかなかったのか、何が改善できるのかなど、多くの経験をまとめることです。場合によっては、より良くできるということは、大きな変更を加える必要があることを意味します。
私たちが行った最大の変更は、このゲームのスレッド モデルに対するもので、すべてが新しいものです。 Paradise が使用していたデュアル スレッドから移行しました。更新スレッドとレンダリングスレッドがありました。私たちはそれをやめて、1 つのスレッドに戻りました。その理由は…そうですね、いくつか理由がありました。
まず、見た目が美しい 30Hz ゲームをやりたかったのと、コントローラーのレイテンシーを高速化したいと考えていました。 30Hz で追加のレンダリング スレッドを使用すると、重大な遅延の問題が発生するため、シングルスレッドにしました。つまり 30Hz… レイテンシの測定値がどのような結果になるかを見るのは非常に興味深いでしょう。レイテンシーはかなり良好だと思います。
Digital Foundry いい 感じ です。しかし、明らかに、ゲームをプレイしているときは、表示の遅延やそのようなすべての緩和を考慮する必要があります。これまでのところ、機能でテストしたゲームの記録は 30 Hz ゲームで 100 ミリ秒です。
アレックス・フライ
おそらく 83 ミリ秒か 100 ミリ秒になると思います。
デジタルファウンドリ 素晴らしい。弊社のテストによると、60Hz での WipEout は 83ms です。
アレックス・フライ
100ミリ秒を超えると、とてもがっかりするでしょう。
Digital Foundry レイテンシ ボードを使用し、LED と画面上のアクションの間のフレームをカウントしている場合、フレームが記録されるときに LED が 16ms ウィンドウ内のどの時点でアクティブになるかによって、少しグレーの領域が発生します。 …
アレックス・フライ
また、コンソールはコントローラーの状態をゲームに即座に反映しないと確信しています。コンソールには、60 Hz フレームが必要か、または 30 Hz フレームが必要かという情報を提供する、ある種のバックグラウンド処理があります。インスタントではないと思います。
Digital Foundry そして、私が理解しているところによると、Xbox 360 コントローラー自体の遅延は 8ms です。
アレックス・フライ
無線ですか、それとも有線ですか?
Digital Foundry Wireless、集まりました。
アレックス・フライ
全体的な遅延を可能な限り低くするよう努めました。それがシングルスレッドを行う理由の 1 つです。 30Hz のゲームをいくつかプレイしましたが、デュアルスレッドのようで、かなりの遅延があるように見えました。プレーするのに特に良い経験はありませんでした。デザイナーたちは、これを使って快適に作業するのに特に楽しい時間を費やしたわけではありません。また、初期の頃は Need for Speed をデュアルスレッドで 30Hz で実行してみましたが、遅すぎました。
Need for Speed: Hot Pursuit の E3 トレーラー。
Digital Foundry そこで、シングルスレッドとデュアルスレッドの意味を定義してください。これらのコンソールには多数のプロセッサが搭載されているので、すべてのゲームがほぼデフォルトでマルチスレッド化されているのではないでしょうか?
アレックス・フライ
並列処理を使用する必要があります。スレッドを使用する必要はありません。ゲームを高速化する古典的な方法は、別のレンダリング スレッドを実行することです。ゲーム シミュレーション、更新物理学、AI などはすべて独自のスレッドで実行されますが、レンダリングはスレッドから切り離されて並行 (通常は 1 フレーム遅れ) で実行されます。場合によっては、分離すると、任意のレートでレンダリングし、任意のレートで更新できます。 Paradise では、フレームによってそれを分離したため、常に更新の後ろにフレームを実行しましたが、次の更新と並行して実行されました。
Digital Foundry 60Hz で実行している場合は、それほど問題ではないと思います。
アレックス・フライ
そうです。レイテンシーはそれほど問題ではなく、60 ではかなり厳しい制約からさらに絞り出すのに役立ちます。シングルスレッドでは、順次更新を行ってからレンダリングを行い、それがすべて 1 つのスレッド内で行われます。その利点の 1 つは遅延です。それは大したことです。もう一つは記憶です。バッファリングする必要がないため、非常に多くのメモリが戻ります。
スレッド間でバッファリングする場合、安全に並行して実行できるように、一部のゲームの状態とデータのコピーを保持する必要があります。多くのオーバーヘッドが追加されます。物事を集中させる必要がありますが、集中させない場合は、多くの同期が必要になります。 『Paradise』とこのゲームの間で、20 メガバイト程度のメモリを節約したはずだと思います。そのスレッドとそれに伴うすべてのバッファリングを削除するだけでも、大変な作業になります。新しいアーキテクチャの一部は、すべてのゲーム モジュールがどのように相互に通信するかに関するものです。私たちが学んだ知識に基づいて、Paradise のアイデアを取り入れ、別の方法で実装しました。それが新しいエンジンです。
リチャード・パー
Paradise のコードからのコピー アンド ペーストがたくさんあり、そのコードで十分でした。新しいエンジンかどうかは関係なく、Paradise エンジンのバージョン 1.1 ではなく、少なくとも 2.0 です。
Digital Foundry まるで別の目的のための別のエンジンのように聞こえます。
アレックス・フライ
それは一つの見方です。
リチャード・パー
グラフィック面は確かに新しいです。
アレックス・フライ
このように置いてください。これは新しいアーキテクチャですが、パラダイスから最高のコードを収集して、それが意味のある新しいアーキテクチャに戻しました。その良い例がブラックです。 Burnout 3 into Black からレンダリングと物理コードの多くを収集しました。これは完全に新しいアーキテクチャ、完全に新しいエンジンでしたが、Black の作成に役立つ低レベルのビルディング ブロックの多くを再利用しました。それは今でも当てはまります。コードのすべての行を書き直したわけではありません。それは正気の沙汰ではありません。
どの企業も自社の良いものを取り出して再利用しています。私たちはアーキテクチャ全体、エンジン全体を採用したわけではありません。私たちはコードの大部分を取り出して、それを新しいアーキテクチャに再定式化しました。私たちはいつもそうしてきました。私たちはそれをすべて完全に分解し、別の構造に戻してから、いくつかのビットを交換し、いくつかの新しいビットを書き、いくつかの良いビットを再利用しましたが、アーキテクチャ、エンジンという点では、すべてが完璧です。新しい構造。

「技術者インタビュー: ニード・フォー・スピード: 熱い追求」に関するベスト動画選定!

Need for Speed Payback 公式ゲームプレイトレーラー
ニード・フォー・スピード ライバルズ:NFSR徹底解剖 ダイジェスト PART 1

関連記事一覧