技術インタビュー:スピードの必要性:ホット追跡

これで円が完成しました。ちょうど1年ほど前、Digital Foundryは、CriterionテクニカルディレクターのRichard ParrとシニアエンジニアのAlex Fryと話をすることで、ゲーム開発の主要なライトとの幅広い技術インタビューを開始しました。先週、ギルフォードに拠点を置く開発者を訪問して、新しいものを見てみましょうスピードの必要性:熱い追求そして、この機会を利用して、ParrとFryと会って、新しいゲームの最新の技術革新について議論しました。

速度の必要性:ホット追跡は、基準の大きな出発を表しています。これは単なる再スキンではありませんバーンアウトパラダイス- 開発チームは、ゲーム用の新しいエンジンを作成しました。これは、異なる運転体験と、以前のタイトルからはるかに削除された新しいグラフィカルな外観を備えています。スピードが必要ですが、それ以上のものですクラシック最先端のレンダリングと物理学を備えた高解像度の時代に最新の状態になった速度が必要です。

私たちはすぐにゲームについてより深く話し、作成プロセスに関するいくつかの驚きの情報を明らかにしますが、その間、それはCriterion War RoomのFry、Parr、Leadbetter:Fry、Parr、Leadbetterです。これが起こったことです...

デジタルファウンドリーそれで、あなたはバーンアウトパラダイスのための真新しいエンジンを書きました、そして今、あなたはスピードのために再びそれをやったように見えます。ゼロから再構築するのではなく、パラダイスのために作成したものに基づいて構築する誘惑はありませんでしたか?

アレックスフライ

うん。私たちは楽園で多くの地獄を学びました。あなたがゲームをするときにあなたが学ぶことの1つ...あなたのポスト・モレムから、あなたはあなたの経験の多くをまとめました:何がうまくいったのか、何がうまくいかなかったのか、そしてあなたは何を良くすることができますか。時々、あなたがより良いことができることは、あなたがいくつかの大きな変更を加える必要があることを意味します。

私たちがした最大の変更は、このゲームのスレッドモデルにあったため、すべて新しいものです。私たちは、パラダイスが使用したデュアルスレッドから行きました。スレッドを更新およびレンダリングしました。私たちはそれを落とし、1つのスレッドに戻りました。その理由は...まあ、いくつかの理由がありました。

まず、見事に見える30Hzゲームをやりたいと思っていました。 30Hzの追加レンダリングスレッドを使用すると、深刻な遅延の問題があるので、シングルスレッドになりました。だから30Hz ...あなたのレイテンシ測定が何であるかを見るのは本当に面白いでしょう。遅延はかなり良いと思います。

デジタルファウンドリーそれ感じます良い。しかし、明らかに、ゲームをプレイしているとき、あなたはディスプレイラグを要因にして、あらゆる種類のパラバーを持っています。これまでのところ、機能でテストしたゲームから、レコードは30Hzゲームで100msです。

アレックスフライ

私たちは83msまたは100msになるかもしれないと思います。

デジタルファウンドリー素晴らしい。 60Hzでのワイプアウトは、テストに基づいて83msです...

アレックスフライ

100msを超える場合、私は非常に失望します。

デジタルファウンドリーレイテンシボードを使用しており、画面上のLEDとアクションの間のフレームをカウントすると、フレームが記録されるとLEDがアクティブになる16msウィンドウのポイントに応じて、灰色の領域が少しあります。 。

アレックスフライ

また、コンソールがゲームのコントローラー状態を即座に反映していないと確信しています。コンソールには、60Hzのフレームが必要な場合、または30Hzのフレームが必要なので、情報を提供するバックグラウンド処理があります。私はそれが瞬時だとは思わない。

デジタルファウンドリーそして、私が理解していることから、Xbox 360コントローラー自体からの遅延は8msです。

デジタルファウンドリーワイヤレス、私は集めます。

アレックスフライ

全体的な遅延をできるだけ低くしようとしました。それが単一のスレッドを実行する理由の1つです。私たちは30Hzのいくつかのゲームをプレイしましたが、それらはデュアルスレッドのように見え、彼らは多くの遅れを持っているように見えました。プレイするのは特に良い経験ではありませんでした。デザイナーは、それを使って特に楽しい時間を過ごし、気分が良くなることはできませんでした。また、初期には30Hzでデュアルスピードのスピードを実行してランニングを試みましたが、それは私たちにとってあまりにも遅すぎました。

スピードの必要性:Hot PurnuitのE3トレーラー。

デジタルファウンドリーしたがって、シングルスレッドとデュアルスレッドの意味を定義します。これらのコンソールには手持ちの大量のプロセッサがあるので、すべてのゲームがデフォルトでマルチスレッドされているわけではありませんか?

アレックスフライ

並列性を使用する必要があります - スレッドを使用する必要はありません。ゲームをスピードアップする古典的な方法は、別のレンダリングスレッドを実行することです。ゲームシミュレーション、更新物理学、AI、およびそのすべてが独自のスレッドで実行され、レンダリングは並行して、通常は背後のフレームの周りでそれを分離します。時には、それが任意のレートでレンダリングされ、任意のレートで更新される可能性がある場合があります。パラダイスでは、フレームで切り離したので、常にアップデートの背後にフレームを実行しましたが、次のフレームと並行して実行されました。

デジタルファウンドリー60Hzで走っている場合、それは問題ではないと確信しています。

アレックスフライ

そうです。遅延は問題ではなく、60のかなり厳しい制約からさらに絞るのに役立ちます。シングルスレッドを使用すると、順次更新を行い、レンダリングを行います。これはすべて1つのスレッド内です。その利点の1つはレイテンシです。それは大したことです。もう1つはメモリです。バッファする必要がないため、非常に多くのメモリを取り戻します。

スレッド間でバッファするときは、ゲーム状態とデータのコピーを保持して、並行して安全に実行できるようにする必要があります。オーバーヘッドがたくさん追加されます。あなたは物を集中させる必要があり、あなたがそれを周りに集中しない場合、あなたはたくさんの同期を必要とする必要があります。パラダイスとこのゲームの間では、20メガバイトのメモリの順序で保存したに違いないと思います。それは、そのスレッドとそれに伴うすべてのバッファリングを削除するだけで、非常に多くのことです。新しいアーキテクチャの一部は、すべてのゲームモジュールが互いにどのように通信するかについてです。私たちが学んだ知識に基づいて、私たちは楽園のアイデアを取り、それらを別の方法で実装しました。それが新しいエンジンです。

リチャード・パー

パラダイスコードからのコピーと貼り付けがたくさんあり、そのコードは十分でした。新しいエンジンであろうとなかろうと、それは1.1ではなく、少なくともパラダイスエンジンのバージョン2.0です。

デジタルファウンドリーそれはほとんど別の目的のために別のエンジンのように聞こえます。

リチャード・パー

物事のグラフィック面は確かに新しいです。

アレックスフライ

このようにしてください。これは新しいアーキテクチャですが、パラダイスから最高のコードを収穫し、理にかなっている新しいアーキテクチャに戻りました。これの良い例は黒です。バーンアウト3からレンダリングおよび物理コードの多くを黒に収穫しました。それはまったく新しいアーキテクチャであり、まったく新しいエンジンでしたが、私たちは黒を作るのに役立つ多くの低レベルのビルディングブロックを再利用しました。それはまだここで真実です。コードのすべての行を書き直しませんでした。それは非常識です。

すべての企業がその良いものを取り、それを再利用します。アーキテクチャ全体、エンジン全体を取りませんでした。コードの大規模なサブセットを取り、それを新しいアーキテクチャに再定式化しました。私たちはいつもそれをしてきました。私たちはそれをすべて完全に分解し、別の構造に再び元に戻してからいくつかのビットを交換し、いくつかの新しいビットを書き、いくつかの良いビットを再利用しましたが、アーキテクチャ、エンジン、それはすべてです - 新しい構造。