Cities: Skylines II (以下 “CSL2”) では、ゲームを改造し、自分だけの都市システムで世界で一つだけの街を作ることができます。
コードの改造でできること
ゲームを改造することで、できることは様々あります。
例えば、現実世界をとても忠実に再現すること。CSL2デフォルトの経済を使用せず、現実世界の経済を忠実に再現したコードを適用させることで、都市の資金の流れがより現実世界に近づきます。
交通機関を超厳格に管理することもできます。CSL2では朝も夜も同じ本数のバスが走りますが、バスを走らせる量を1時間単位で管理できるコードを適用させることで、ラッシュとデータイムの運用を忠実に再現することができます。
ゲームのデフォルトでは全プレイヤーの理想を叶えることが不可能なので、有志が作った改造コードにより、一人一人に合ったゲーム性で街づくりをすることができるようになります。
MODについて
以上のような、PCゲームにおける改造データのことを指します MOD と言います。
“mod” と小文字表記をする場合があります。これは、日本と中国以外では小文字表記が主流だからです。
CSL2のMODについて
別記事で説明している通り、CSL2のMODは “Paradox mods” というツールを使用します。前作CSLでは “Steam WorkShop” を使用していました。Paradox mods の使用により、PC版だけでなく、コンソール版でも同じMODを使用することができます。
CSL2では簡単にMODをサポートするために、ボタン1つでMOD作成に必要な依存関係、Unityエンジン、Burstコンパイラ、ESCなどの外部ツールがインストールされます。
MODによっては他のMODが存在することが前提で動くものがあります。そのMODの依存会計や要件が更新された場合は、CSL2を起動した際にすぐに教えてくれます。
UIは Microsoft の Visual Studio のようなものです。Riderも使えます。必要な依存関係やパス、ビルド後のアクションが全て設定されているので、必要なコードを書いて「ビルド」ボタンを押したら、コンパイルをし、MODを構成、正しいフォルダへの配置などを全部やってくれます。
MODが完成したら、必要な設置をして Paradox Mods に公開しましょう。
MODの最適化
CSL2は、Unityエンジンの新技術によって、計算速度を最大30~40倍向上させています。ですので、それに合うMODを作るのは、多少の勉強が必要です。
なお、MODの最適化を支援するたえに、ゲーム内のバーストコンパイルと低レベルの最適化を行うためのMODホストプロセッサが提供されています。ただし、これを使うかはケースバイケースです。MODによっては使わないほうが良い場合があります。
MODの互換性
MODが壊れる理由
互換性の話の前に、そもそも、なぜMODが壊れるのか説明します。
理由は、CSL2そのものの仕様変更です。仕様変更でプログラム的な要素が変更されるます。MODはCSL2のプログラム的な要素を参照して作られますので、CSL2の仕様変更によってはMODが壊れてしまいます。
なお、CSL2そのものの仕様変更は公式のもので、MODは有志のものですので、MODが壊れることに文句を言ってはいけません。
CSL2におけるMODの互換性
CSL2はMODへのサポートが意欲的です。CSL2でMODがゲームと同じ方法で新しい機能を導入する場合、独自のシステムを作成し、更新ループに登録するだけです。CSL2では、MODから特別な属性でマークしたプロパティを取得し、それらをゲームに反映させます。
MODが別のMODに依存する場合、CSL2では、MODの依存関係を解決します。また、MODを読み込む順番を考慮する必要がなくなります。
コメント