船長の日記 #57:今後のアップデート4.3には何が含まれるか
37.6k
皆さん、こんにちは。キャプテンのマレクです。前回の日記から随分と時間が経ちましたが、私たちは怠けていませんでした(後で分かると思いますが、あなたの一部の列車のようにね)。新しい機能や改善作業に追われていたのです。今日はその内容を詳しくご紹介します。そして、すべての機能が数週間後に予定されているアップデート「4.3」で利用可能になることをお知らせできることを嬉しく思います。今回のアップデートは内容が非常に充実しているので、飲み物でも用意して、じっくり聞いてください。
フル混合素材対応
ついに到来しました。ゲーム全体で混合素材の完全サポートが実装されました。これは、混合で採掘された素材を倉庫に保管し、コンベアで輸送し、列車に積むことができることを意味します。これは、鉱山や地形改造オペレーションの設計方法に大きな影響を与える可能性があります。例えば、中央集権的な鉱石選別施設を設けることができます。あるいは、採掘された素材を選別せずに他の場所へ輸送して投棄することで、地形改造をより速く、より簡単に実行できます。
混合素材のサポートは今では当然のように聞こえるかもしれませんが、私たちがどのようにしてここに至ったのか、少し振り返ってみましょう。

混合素材という概念がなかった頃、トラックやショベルは一度に運べる素材を一種類に限定されていました。この方式自体は問題なかったものの、複数の素材が存在する状況では採掘が非常に非効率なものになっていました。トラックが鉱石で半分積まれた状態でショベルが岩を掴むと、そのトラックは半分空の状態で行かせなければなりませんでした。これは特にTier 3のダンプトラックで顕著で、巨大な荷台に寂しげな少量の素材だけを積んで走り回っている姿がよく見られ、利用率は極めて低いものでした。
2022年に報告されたバグのスクリーンショット。部分的に積載されたトラックと、それに不満げなプレイヤーの姿が。古いUIを今でも覚えている人はいますか?
部分的に積載されたトラックへの対応として、発掘機とトラックの混合資材対応を実装しました。これにより鉱山での稼働率の問題は解決しましたが、新たな問題が発生しました。トラックは各資材を別々に、対応する貯蔵施設や機械へ搬送する必要があり、部分的に積載された状態で工場内を頻繁に往復し、資材を一つずつ運ぶ一方で、発掘機は鉱山で遊休状態になっていました。
第三の増設は、積載車を積載できる鉱石選別工場でした。これにより輸送の問題は解決しましたが、今度は各鉱山に選別工場が必要になり、すべての産出物を個別に輸送する必要がありました。そのため、各鉱山には岩石の保管場所、土の保管場所、鉱石の保管場所などが必要になりました。また、スタックャーで素材を投入するには、有用な鉱石が一切含まれていても先に分別する必要があります。はい、岩石と土を分別して海に捨てていたのです。
複合素材の対応以前は、すべての鉱山で、少なくとも余分な土壌や岩石を処理するための選別施設が必要でした。
既存システムに異種マテリアルを取り込み、互換性を維持することは非常に複雑な作業でした。特に、システムは単一製品の処理に対してすでに深く最適化されていたため、パフォーマンスを維持した状態でこの機能を実現することは大きな課題でした。
複雑なのは、各エンティティがミックスの状況を常に追跡しなければならないためです。これは、すべてのストレージ、すべてのワゴン、コンベアベルト上のすべての山に、追加のデータが必要になることを意味します。その結果、コードの複雑さやメモリ使用量が増加し、処理に余分なCPUサイクルを消費します。ただし良いのは、ゲームの他の部分を最適化しているため、パフォーマンスへの純粋な影響は最小限に抑えられるということです。
鉱石選別プラントにはコンベア入力ポートが備わったため、混合素材を車両だけでなくベルトでも供給できるようになりました。また、プラントが選別に対応していない素材は、選別せずに出力ポートへ送ることができます。さらに、鉱山ミューターに混合素材保管庫を割り当てることができるため、各鉱山に選別プラントを設ける必要がなくなりました。
アップデート5の前にこれをやり遂げられたことを、本当に嬉しく思っています。
車両や列車から供給を受け、ボーキサイトのみを選別し、それ以外を未選別として廃棄する鉱石選別所。
リサイクル可能物資の追跡
混合素材のサポートのおかげで、リサイクル可能素材の追跡方法も改善することができました。混合素材システムは、鉱石だけでなくあらゆる素材を混在できるように汎用的に設計するために、少し余分な努力を費やしました(モッド制作者の皆様には有用にお使いいただけるかと思います)。では、具体的に何が変わったのでしょうか?
これまで、リサイクル可能な素材は世界的に追跡されていました。研究ラボやメンテナンス工場などでリサイクル可能な製品が作られると、その由来に関わらず、その割合いがグローバル登録簿に記録されました。その後、廃棄物分別工場でリサイクル可能な素材が分別されると、生成されるスクラップは、そのグローバル登録簿を基に作成されました。
このグローバルな管理には、いくつか奇妙な副作用がありました。例えば、鉄しか使わず、鉄スクラップだけを返すべきメンテナンスIの生産によるリサイクル可能物は、工場の別の場所で研究实验室が銅やガラス製品の消費を行っているという理由だけで、銅やガラスのスクラップも返却されていました。
もう一つの面白い副作用があります:チートを使ってリサイクル可能な素材を追加したプレイヤーは、無料のスクラップを期待しましたが、グローバルレコードにはそのリサイクル素材が何で作られていたかの記録が無いため、何も得られませんでした。これは複数回にわたってバグとして報告されました。というわけで、教訓としては:チートはしないこと(少なくともアップデート4.3までは)。
アップデート4.3では、リサイクル可能な素材はすべて、採掘された素材と同様に、その原料を追跡するため、誰もが期待する通りの挙動を示します。これにより、一部のスクラップのみを処理する現地の廃棄物分別工場も新たに可能になります。
皆さんのご関心を引くかもしれない詳細を1つご紹介しますと、1つのリサイクル可能製品は2つのスクラップ製品に分類されます。既存のセーブデータでは、リサイクル可能製品は自動的に変換され、ベルト上や車両内、仕分工場にある製品は保管場所へ移動されます。これにより、私たちの側の処理が簡素化されます。また、リサイクル比率を無視していた決済を修正したため、以前よりもリサイクル可能製品が少なくなる予定です。
メンテナンス1の生産からリサイクル可能な資材のみを受け取り、スクラップ鉄と銅のみを出力するローカル溶接工場。
オーバーレイ
工場が大きくなるにつれ、問題の発見や停止の防止、さらにはデathsスパイラル(死のスパイラル)の回避はますます困難になっています。私たちはこれまで、この問題に対応するためのツールを徐々に追加してきました。そして、Update 4.3ではオーバーレイ機能を導入します!
オーバーレイは、画面全体を灰色に変え、関心の対象となるエンティティのみを彩色することで、ゲーム画面内にエンティティに関する情報を直接表示します。はじめにお使いいただけるよう、8つの新しいオーバーレイを追加しました。
- 生産性
- 汚染
- 優先度
- 電力コンピューティング
- 就業者数
- メンテナンス
- 製品フロー
生産性オーバーレイ表示付きの高度な精製所。緑は機械が100%稼働していることを、赤は機械がアイドル状態(待機中)であることを示します。
オーバーレイシステムは拡張可能であるため、MODは望むエンティティに関するあらゆる情報を可視化するためにこれを利用できます。放射能汚染のように、それまでは「見えない」(放射線はそもそも目に見えにくい)ものであったものを、ついに確認できるようになるため、多くの方にとって非常に便利な機能だと考えます。
汚染オーバーレイは、大気汚染、埋立地汚染、放射能汚染(ここでは非表示)を示しています。
船場で発見された忘れ去られた放射性物質は、汚染オーバーレイのおかげでずっと見つけやすい。いったいどうやってそこへ運び込まれたというんだ?
列車用の高速道路の最大速度オーバーレイを追加し、効率的な列車用の高速道路を設計できるようにしました。これは、高速道路の上に色付きの線で表示されます。知っておくべきことの1つ:急勾配の25%の高速道路には、中程度のR 22カーブと同様に80 km/hの速度制限があります。緩やかな12%の勾配にはまだ速度制限がありません。
列車速度のオーバーレイ。赤は時速40kmの制限、黄は時速80kmを示し、緑で表示された線路は最高速度の制限がありません。
放射線遮蔽された貨車および駅
列車と放射線についてお話しすると、多くの皆さんから、放射性物質の管理は難しくなり得るし、長距離輸送の実用的な選択肢も存在しないと教えてもらいました。少し前に、放射性物質を列車に積み込むことができるバグがあり、列車の高い積載能力も相まって、非常に高いレベルの放射線汚染がすぐに生じていました。
当初は、放射性物質を梱包・解梱包するためのレシピを追加し、梱包された変種を通常の非放射性の単位製品として扱えるようにしようと考えていました。しかし、我々 MaFi ゲーム 恒例の「面倒でも本気でやる」スタイルに従い、全く新しい種類の列車車両と駅をゼロから作り直すことにしました。我々の3Dアーティストはこれらに2ヶ月以上取り組んでいましたが、その成果はまさにその労力を値するものだったと思います。ちなみにご存知ない方のために言うと、放射線遮蔽付きの車両と駅はベースゲームに標準搭載されます。
新しい放射線遮蔽列車と車両は、放射線汚染を引き起こすことなく、あらゆる放射性積荷を保管・輸送することができます。容量は240単位と小さくなっていますが、車両を満杯まで積むには約2倍の時間がかかります。ただし、放射性製品がコンベアベルトに詰まらないように注意してください。
この変更の一環として、ゲーム内の放射能の追跡方法を改善しました。生成された放射性物質と消費された放射性物質の数を誤って数えたことによって放射能が「漏れる」ということはもはやできなくなります。ゲームは今後、私たちのコードのバグによるものでも、MODによるものでも、このような問題を検出し、自己修復することができます。
高速増殖炉の運転によって生じる副生成物である分裂生成物が、安全な長期保管へ輸送される列車に積まれている。
列車の活動統計
オーバーレイによりファクトリ内の問題を診断できますが、列車の問題を診断するためのアクティビティおよび移動統計も追加しました。列車ごとの統計に加え、ラインマネージャーではラインごとの統計も利用できます。
アクティビティグラフは、列車が、、、の4つのカテゴリに分類された月次・年次の内訳を示しています。これにより、列車や路線全体の稼働状況を評価することができます。例えば、列車が常にアイドル状態にない場合は、より多くの列車を追加する必要があるかもしれません。また、列車が給油に多くの時間を費やしている場合、給油所の立地を見直す時期に来ている可能性があります。
鉄道路線の生産性統計。表示されている鉄道路線は約50%の時間で稼働しており、残りの時間は列車が待機状態にある。
そして、私たちはそこで止まりませんでした。列車は今や、移動効率に関する2番目の統計情報も収集しています。これは5つの状態を示します:、、、、そして。この統計情報を読み取るのは少し注意が必要です。健全な列車ネットワークは、加速/減速中または最高速度で移動中に時間の大部分を過ごし、路線の速度制限により制限されているか他の列車に妨げられている時間はできるだけ短くします。
新しい列車の走行統計。列車が有用な走行に費やす時間と、列車や軌道の速度制限により妨害・制限されている時間を比較したものです。
この機能は、がと共に大規模な鉄道路線を最適化していた際に、必ずしも十分な診断ツールがなかったことに部分的にインスパイアされました。彼らの発見に興味がある場合は、動画へのリンクとringgeest11の発見に関する詳細なTL;DWセクションを含むをご覧ください。新しい統計情報と最高速度オーバーレイによって、鉄道路線の最適化がより簡単になることを期待しています。
製品転送ビジュアルの改善
鋭い目をお持ちの方なら、コンベアの先頭と末尾で製品が唐突に現れたり消えたりしていることに気づいたかもしれません。これはゲーム開始当初から続く現象です。これは、コンベアが機械の設置タイルの端で終わるため、製品の半分がまだ見える状態で出現したり消滅したりするためです。
これは長年にわたり我々を悩ませてきた問題でしたが、アップデート4.3ついに決着がつきました。輸送装置は now、機械内部のタイルの半分まで製品をシミュレートするため、遷移が視界の外で行われます。これにより、コネクタは内部で遅延をシミュレートする必要がなくなり、シミュレーション速度が約25%向上しました。
Web APIサーバー
このアイデアについては数年間考えてきましたが、ついに実現の段階に至りました。Captain of Industryがウェブサーバーとして動作できるようになったのです。私が何か妙なことを言い始めているのではないかと驚かれているかもしれません(その点については確認も否定もできませんが)。ぜひお聞きください。
web_api_start
[WebRoute("/hello")]
private string hello(string name = "world") {
return $"Hello {name}!";
}
コマンドを送信することでゲームを完全に制御することもできます。たとえば、デモダッシュボードでは、ゲーム速度の制御方法やスクリーンショットの取得方法を示しています。
ブラウザからゲームの速度を制御できるデモダッシュボード。
では、これは実際にどのような用途に使えるのでしょうか?当初、私たちは一部の開発ツールをこの新しいAPIに移行し、内部処理を簡素化しました。しかし、最も期待できる活用事例がモデング(MOD作成)です。私たちは、MOD作成者がブラウザをセカンダリゲーム画面として利用し、ダッシュボード、アラート、メモなど、追加情報の表示に活用できると考えています。
開発者のMattがこの機能を見たとき、彼はすぐにズームイン・アウトができ、車両の動きも含めてゲームをライブで観察できるGoogleマップ風のミニマッププロトタイプを考案しました。彼はさらに一歩進めて、それらの車両を選択可能にし、その位置も表示するところまで手がけました。これは機能性を試すための内部用のプロトタイプにすぎませんでした。
Dev Mattによる、ブラウザで動作しゲームとリアルタイムで通信するインタラクティブなミニマップのデモ。
現在公式にサポートされているAPIは、デモダッシュボードとスクリーンショットの取得に限定されていますが、今後はこの機能の使用状況を注視しつつ、今後のアップデートで機能を拡張していく予定です。
注意:Webサーバーはお使いのコンピューターでローカルに実行されており、パブリックインターネットからはアクセスできません。
更新ログとMODの翻訳
非英語圏のプレイヤーの皆様にも、嬉しいお知らせがあります。アップデート4.3以降、すべての変更履歴(changelog)は、サポートしている20言語に翻訳され、ゲーム内で選択された言語で表示されます。
変更ログは機械翻訳であり、これは意図的な決定でした。変更ログは一般的に長く技術的な内容になりやすく、その翻訳は時間的制約があり短期間で陳腐化します。人間が時間と労力をかけて変更ログを翻訳するのは価値がないと考えましたが、少なくとも機械翻訳されたものであっても、非英語話者にとって価値があると考えました。インゲームの変更ログには、翻訳过程中に何かが失われた場合に備えて英語の原文を表示するオプションがあります。
ゲームの残りの部分は、主に私たちのを通じて人間によって翻訳されています。継続的なご貢献とご修正をいただき、ありがとうございます!
左側にタイムラインを表示し、翻訳済み変更履歴を示す新しい変更履歴ウィンドウ。
次に、MODはゲーム本体と同じ方法で自身の文字列の翻訳を提供できるようになりました。翻訳したファイルをMODディレクトリ内の`に配置するだけです。翻訳テンプレートを取得するには、ゲーム内で`コンソールコマンドを実行してください。
また、非英語話者による多数のMODが投稿されているため、HubのMODでHub UIを通じて翻訳された説明文を提供できるようになり、ゲーム内とオンラインの両方で表示されます。さらに、MOD作者の翻訳作業を支援するための半自動システムの導入も検討していますが、これについては後ほど詳しくご説明します(MOD作者で関心のある方は、お気軽にお問い合わせてください)。
新しいオンボーディング体験と言語設定
この文章をお読みで、まだゲームを購入されていない方は、あなたにしか体験できない新しい情報があります。ゲームの初回起動をよりスムーズに行える新しいオンボーディング機能を追加しました。
ゲームを初めて起動するとき、直接メインメニューに移動する代わりに、言語選択画面が表示されます。ここではゲームを再起動することなく、ワンクリックで言語を選択できます。SteamやOSの言語が対応言語と一致する場合、その言語が上部に大きく表示され、その他の言語は下の一覧に列記されます。
オンボーディング時の言語選択画面です。ご覧の通り、本作はイギリス英語にも対応しました。ついにアルミニウムと硫黄の綴りが正しく表記されるようになりました。
次に、PCに複数のディスプレイがある場合、画面とウィンドウモードの選択画面が表示され、ゲームに使用する画面を素早く選択できます。以前のように、ゲームがサブモニターで起動し、設定を横を向いたまま操作して修正オプションを探す必要はもうありません。
オンボーディング時の画面選択とウィンドウモードダイアログ。
オンボーディングに加え、ゲーム言語をメインメニューのドロップダウンから選択できるようになり、変更がゲームの再起動なしで即座に反映されます。これにより、読めないメニューの中で言語設定を探すもどかしさも解消されます。
新しい経営
この記事は長くなってきたので、簡単にまとめます。ゲーム内のサウンドの管理・再生方法を完全に書き換えました。大規模な工場では数千ものサウンド発生源が存在しますが、標準的なUnityのシステムでは対応しきれていませんでした。
主な制限は、同時に再生できる音の数です。例えば、近くに20個の組立機があると、それらがすべての音のスロットを占有し、他の音が聞こえなくなります。組立機の音を愛する大ファンには素晴らしいですが、その他の人にとってはそれほどではありません。私たちは類似した音を統合するクラスタリングシステムを実装したため、より多様な音を聞くことができます。また、同時に再生できる音の数を制御する新しい音質設定も追加されました。
また、新しい環境音も追加したため、史上初めて海や森の音を聞くことができます。このシステムはかなり複雑で、画面に何が映っているかを動的に検出して再生する環境音を決定する必要があります。なぜなら、他のゲームとは異なり、『キャプテン・オブ・インダストリー』では、かつて山だった場所が海に、海だった場所が山に変化することもあるからです。
地形の崩壊には、今や専用の音が備わっています。柔らかい素材と硬い素材では音が異なり、崩落する地形が多くなるほど音量も大きくなります。そのため、山を根元から崩すと、それがいかに愚かな行為だったかが音で正確にわかります。
新しいサウンドシステムはまだ調整段階にあり、時間とともにより多く、より良い音を追加する予定です。
新しいサウンドエンジンのデバッグビュー。約620個のエミッターのうち、再生中のものは34個だけです。
シミュレーションの決定性
私たちはゲームの決定性を確保するためにかなりの時間を費やしてきました。Update 4.3以前から、パッチv0.8.7b、c、dは、ランごとにわずかに異なる挙動を示したり、CPUベンダーによって異なったりしていた多くの問題を修正してきました。これらの決定性に関する問題の多くを報告していただいたDiscordのOPOSTOLに感謝します。
本取り組みには3つの主な動機があります。第一に、バグを再現しやすく、修正しやすくすることです。再現できないバグや、たまにしか発生しないバグを修正するのははるかに難しく、正しく修正できたかどうかを確認することすらできません。安定した再現性があれば、バグを修正・検証できるだけでなく、二度と発生しないようにテストを書くこともできます。さらに、この仕組みは我々のバグではない問題の解決にも役立ちます。同じセーブデータが同じ環境で2回再生成された際に異なる結果になった場合、その原因はほとんどの場合ハードウェアにあります。例えば、たまに「2 + 2 = 5」と計算してしまう13世代のIntel CPUなどです()。
2つ目の理由はリプレイです。リプレイとは、セーブデータの全履歴を完全に再現できるプレイヤーの操作一覧のことです。現在、そのようなシステムの開発を行っています。
3番目、おそらく最も興奮する理由は、完全に決定論的なゲームによってマルチプレイヤーが実現可能になるためで、このすべての努力がその目標に私たちを近づけてくれます。マルチプレイヤーについて考えること自体が、7年以上前の初期のゲーム設計の決定にまで遡ります。これらの年月を通じて、私たちはマルチプレイヤーをいつか選択肢として維持できるようにゲームを構築してきました。実際には、すでに内部システムの上に基本的なプレイヤー機能を実装するMODが存在するほど、私たちは非常に近い状態にあります。
結論
次回アップデートの主要なニュースは以上です。これ以外にもさまざまな小さな変更がありますが、これらは数週間後にリリースされる更新のチェンジログでご確認いただけます。早く試したい方は、実験用ブランチに注目してください。ご関心を寄せていただきありがとうございます。フォーラムで皆様のご意見をお聞かせください!
ちなみに、リリースやブログ記事を見逃したくない場合は、 のメーリングリストに登録することができます。
PS:現在採用活動を行っています!
現在、を募集しており、将来的にはも採用する予定です。ご自身やご存知の方で適合する方がいらっしゃいましたら、ぜひお知らせください!
### 🎯 Captain of Industry Patch Assessment & ゲームプレイ Verdict
This official developer update zeroes in on network tick rate, quality-of-life (QoL) refinements, and client stability. These optimizations mitigate frametime micro-stutters during heavy combat scenarios, resulting in significantly smoother input responsiveness.
Have thoughts, questions, or benchmarks on this topic? Join the discussion on our forums.
Join Discussion ➔

会話に参加する