「Victoria 3」新DLC「Sphere of Influence」発売は5月6日!

「Hearts of Iron IV」開発日記2021年11月3日――技術リードの生活

HoI4 開発日記

「Hearts of Iron IV」開発日記2021年11月3日分が公開されていましたので、その内容をご紹介。今回はゲームに使われる技術について。1.11「バルバロッサ」リリース前の開発日記です。

前回:開発日記2021年10月27日――ロードスクリーンのアートその他


スポンサーリンク

開発日記

開発日記2021年11月3日は、ゲームに使われる技術について。

  • この開発日記では私たちの技術について、プログラマーの仕事について、この1年の出来事(そして変化)についてご紹介する。

古いプラットフォームに別れを告げる

  • まず、次の1.11パッチでは開発者によるメンテナンスが行われていない古いLinux・Macのプラットフォームから手を引く。つまり、次のアップデートからHoIを動作させるための最小OSバージョンはLinuxではUbuntu 18.04、MacではmacOS 10.11(El Capitan)となる。しかし、それほど心配する必要はないはずだ。以前のバージョンはHoI自体よりも古く、テレメトリーによればほとんどのプレイヤーはずっと前にアップデートしている。
  • 古くなったWindows 7を心配そうに見ているプレイヤーのみなさんについては落ち着いて遊び続けてもらいたい。サポートを終了する予定はない(ただし、親切な技術者としてはアップグレードを検討することをお勧めする)。
  • なぜこのような決断をするのか? 理由は2つある。第一に古い技術を維持するにはコストがかかるが、それよりも99%のユーザーのためにゲームを改善することにコストをかけたいからだ。第二に、プログラマーの仕事をより簡単に、より効率的にする新しい技術の採用を妨げることがあるためだ。
  • 詳しくは立ち入らないが、一般的な考え方として、私たちはすべてのプラットフォームでサポートされている技術しか使用できず、したがって基本的には私たちがサポートしているもっとも古いものが私たちの使えるもっとも新しいものとなる。例えばLinuxの場合、Ubuntuの最新版は2016年にリリースされたもので、HoIはそれ以降に(あるいはその少し前かもしれない。Ubuntu LTSのリリースには最新のものは通常入っていない)リリースされたものは使えない。そうしたことを回避できる場合もあるが、常にそうではない。

DirectX 11

  • 新しい技術と言えば、次のHoI4のリリースではStellarisや他の最近のパラド社開発スタジオタイトルとともにDirectX 11をサポートする予定だ。今はまだDirectX 9がデフォルトだが、ランチャーの設定で別のレンダラーを選択できるようになる。
  • DX9とDX11(OpenGLも同様)の間に視覚的な違いはないはずだが、私たちは同じ体験となるように作業してきた。しかし、特に追加のテクスチャーやモデルを追加するModを使う場合は、ロードが少し速くなるはずだ。
  • また、1年以上リモートで仕事をしていて、リモートデスクトップなどで遊ぶ際の問題が減っていることにも気づいた。これはほとんどのプレイヤーには大したことではないが、開発チームにとっては非常にありがたいことだ。
  • 最後に、新たな鉄道や列車のグラフィックの調整や修正にも役立った(ほとんどのグラフィックデバッグツールがDX9のサポートを終了したため)。

パフォーマンス

  • パフォーマンスはゲームに関するあらゆる議論の中心であることを私たちは知っており、技術リードとしてこれについて注視してきた。今のところ、今回のリリース候補版はパフォーマンス面では現行の1.10パッチとほぼ同等であるように見える。
  • なぜ改善しないのかとみなさんがタイプする音が聞こえてくるが、その主な理由は1.11のゲームは1.10とは別物であるためだ(1.10自体、オリジナルの1.0リリースとはかなり違うが)。つまり、補給のシミュレーションがより深く複雑になり、世界中の鉄道や、同盟国が相互に補給を行えるようになったことを考慮する必要がある。
  • 私(注:HoI4技術リードのMatRopert氏)がこの記事を書いている間にも、私たちの互換性ラボではさまざまなハードウェア環境でゲームを走らせており、推奨環境のアップデートに関してより完全なものにし、またいくつかの提案を行ってくれている。というのは、現在Steamで表示されている推奨環境は最初のリリース時のものであるためだ。
  • パフォーマンスの測定については、バルバロッサアップデートではマシンのパフォーマンスを測定するためのゲーム内プロファイラーが含まれる。コンソールから「imgui show profiler」という魔法の言葉を使えば起動できる。

1936年スタート、速度5、DirectX 11、vsyncオフ

1943年テストセーブデータ、速度5、DirectX 11、vsyncオフ

  • 例えば、これは私の家のi7-10700とRTX 2080 SUPERでの現在のリリース候補版のものだ。ご覧のようにこの機能はいくつかのメトリクスを提供しており、上部のEnable/Disable Collectionボタンでデータを収集できる。これによって以下のことがわかる。
    • Render time:過去1秒間に1つのフレームをレンダリングするのにかかった平均時間。
    • Render time excluding present:上と同じだが、フレームを実際に画面に表示するためにGPUを待つ時間を除いたもの。この違いは通常、vsyncによるものだ。
    • Frames per second:FPSのカウント。
    • Ticks per second:過去1秒間にゲーム内で何時間シミュレートされたか。
    • Last tick:過去1時間、あるいは新たな1日/1週間/1か月をシミュレートするのにかかった時間。
    • Last 24 ticks average:上と同じだが、過去24ティック(データ収集に費やした時間によってはそれ以下)の平均。
  • 次に、その時間がどこで(どのシステムで)費やされたかをグラフで表示する。私たちは特に外部のプログラマーツールが利用できない場合(開発用ではないマシンで発生した場合など)、パフォーマンスレポートを素早く確認するのに使う。
  • 最後の助言:魔法のコンソールコマンドを使ってもプロファイラーが表示されない場合は「imgui off」と「imgui on」を使ってもう一度プロファイラーをオフにしてからオンにしてみてほしい。

個人的な不満

  • パラド社開発スタジオのプログラマーはただのプログラマーではない。ほとんどはデザイン、バランス、コンテンツについて意見を述べることでゲームに関わっており、私も例外ではない。そこで今回はフランスの共産主義についてお話したい。

  • 「La Résistance」のフランスの国家方針ツリーでは共産主義国になるとこの人物が出てくる。Maurice Thorezは史実ではフランス共産党(Parti Communiste Français、PCF)の指導者だった。しかし彼は64年に亡くなるまで熱烈なスターリン主義者で、「Loyalty To Moscow」というサブツリーに進まなければかれを指導者のままにしておくのはおかしいと感じた。

  • 私はフランス語の資料を調査して(注:MatRopert氏はフランス人とのこと)彼の代わりになる人物を発見した。René Nicodは1939年にPCFに所属していたが、PCFが党を再編すると脱退してUnion Populaire Française(UPF)を立ち上げた。彼らはモロトフ=リッベントロップ協定を非難し、ポーランドに味方するという政府の決定を支持した。

  • バルバロッサアップデートでは「La Résistance」を所有していて「Anti-Fascist Coalition」か「Loyalty to the cause」のいずれかを選択すると、新たな党と指導者を獲得できる。それぞれのルートでは第一次世界大戦中に彼が発表した意見書にインスピレーションを得た異なるフレーバーが与えられている。
  • 最後に、私たちのアーティストのためにいい写真を見つけるのは困難だった。最初にフランス国民議会のオンラインデータベースで調べたところ、低解像度のぼやけた写真しか見つからなかった。しかし幸運なことに、フランスの小さなショップが古い写真の在庫をeBayで販売することになり、その中に彼の市長のときの写真があった。

質疑応答

Q:Imperator: Romeはリリース後にツールチップのようなCK3の技術の一部を実装したけど、HoI4でもその可能性はある? あとClausewitz Engineを最新にしたりも。

A:可能性は非常に低い。現時点ではHoIのClausewitzのバージョンはCK3やImperatorで使われているものより5年は古い。変更するにしてもHoI用に再開発しなければならない。


次回:開発日記2021年11月10日――「No Step Back」の実績

スポンサーリンク

コメント

  1. 新しいフランス指導者の描き方がKRやTNOとかのMOD系に見える

  2. なぜか二重顎のhirohitoも変更してくれパラド

  3. 本来は重くなるアプデだけどサポート切ったりして最適化がんばってるから速度はあんまり変わらないよってことなのね

タイトルとURLをコピーしました