パラドックス社の公式フォーラムに
ステラリスの開発者日記 第135回が掲載されています。
今回はMod関係のお話になります。
専門的な話になりますので簡単な紹介に留めます。
自分でModを作ってみたい!という方は日記の原文を御覧ください。
ステラリス 開発者日記 第135回 Ver2.2でのスクリプト変更と改造 2018/11/22
※今回の日記担当はいつものWizさんではなく、ステラリスコンテンツデザイナーのLordMuneさんです。
冒頭のあいさつ
今日は2.2 Le Ginのアップデートによるスクリプトの変更を見ていきます。
今日の日記内容に関してはかなりぎこちないものになるでしょうから、改造をすることに興味がないなら、この日記は1回スキップしてTwitterにでも参加してみてください。
私は今回の開発者日記で、2.2で変更されたすべてをカバーすることは絶対にできませんが、いくつかの大きな変更に関して改造の方法を考えてみたいと思います。
※ゲーム内部のコード的なことは管理人も完全には分かりませんし、中途半端なことは紹介できないので飛ばします。
こまごまとしたもの
新しい「経済単位」のほとんどには、自動的に生成される修飾子が含まれています。
新しい地区を追加すると、惑星上の該当する地区数を増やすための修飾子があります。
新しいジョブを作成すると、そのようなジョブを追加する修飾子などがあります。
惑星と経済の改定
スクリプトを習得する最も良い方法はスクリプトを読むことです。
ここでは惑星の特徴、地区、建物、雇用、社会的地層、および資源のデータベースといった、新しい経済と惑星タイルシステムから変更された惑星システムの基礎に関するいくつかの例を示します。
惑星の特徴
common\deposits\
古いコンセプトであるDepositsは、Planetary Featuresへと再加工されていますが、それらはまだDepositsのスクリプトとして参照可能です。
これらは惑星タイルシステムに縛られていないので、多くの点で古いスタイルより柔軟です。
これらはテラフォーム時に変更でき、代替の改造内容を惑星に適用することができます。
地表タイルブロッカータイプの機能はプレイヤーによってクリアされることで、代替機能を実行できます。
※以下コードサンプルがありますがカットします(他の項も同様)。
地区
common\districts\
以前の開発日記で説明されたように、地区は主に古い地表タイルコンセプトに取って代わります。
それらは一般的にプレイヤーによって惑星の特徴によって定義された上限まで造られ、内容に応じて仕事(job)を創造します。
基本的な鉱区の地区タイプを見てみましょう!
全体的な構造は他のエントリ(※管理人注:日記原ページのスポイラー内ソースコードを参照してください)と非常によく似ており、このパターンは2.2 Le Guinで更新されたほとんどのデータベースで実際に繰り返されます。
地区のデータベース項目は、建設に有効なビルドタイム、他の惑星タイプ(Machine Worldsなど)で変換できるもの、建設とメンテナンスに要するもの、異なる帝国に応じた異なるJobの割り当て、AIがどの地区を優先化させるかなどを制御します。
建物
common\buildings\
建物はこれまでの例から分かるように、これまで使い慣れていたものとかなり似ています。
“triggered_planet_modifier”を使用すると、建物はさまざまな要因によって異なる風味と効果を持つことができます。
以下の例(※原ページ、スポイラーを参照)のbuilding_foundry_2では、建物の管理者に応じて、同じ建物に標準帝国向けの鋳造ジョブ、ハイブマインド向けの合金ドローンジョブ、機械帝国向けのファブリケータージョブが追加されています。
建設コスト、メンテナンス費、資源生産はすべて “resources = {}”で定義します。
鋳造所はジョブを追加するだけで、実際にはそれ自体で資源を生成するわけではありません。
ジョブ(職業)
common\pop_jobs\
では建物が追加する仕事はどうでしょうか?
これらは別の「ジョブデータベース」で定義されており、それは一般的な構文を認識します。
あなたが執行者であれば1統合点を生成します。
警察国家であれば追加の統合力を生み出し、メンテナンスに2エネルギー通貨を要しますが、反犯抑制罪キャンペーンの改造をアクティブ化している場合より多くの犯罪を減らします。
社会階層
common\pop_categories\
階層または社会階級(例えば上記の執行者(Enforcer)のジョブが属しているSpecialists)ではこれまでのコードサンプルと同様の規則性に従ってください。
クラス全体の資源入力、資源出力、修飾子、およびデータベーステキストファイルで定義およびトリガされた設定があります。
リソース(資源)
common\strategic_resources\
Resources(資源)は、ハードコードされているのではなく、完全にスクリプト可能であるため、簡単にベースゲームにおけるエネルギー通貨、鉱物、合金などの安定性を補完することができます。
資源に関してデータベース・エントリは他とは少し異なっていて、トレード可能な市場価格、あなたが赤字になった場合何が起こるか、AIの判断の重み付けなどを定めます。
戦略資源もこのデータベースで定義されています。
trigger_docs (トリガーのドキュメント)
最後に、執筆時点での2.2の完全なtrigger_docsドキュメントを示します。
内容にはあいまいな情報や誤解を招く可能性のある情報を含む可能性があり、リリース前に変更されることもありますのでご注意ください。
※以下スポイラーで詳細なドキュメントがありますがカット。
終わりに
私たちはステラリスVer2.2とMegaCorpの仕上げ作業を本当に頑張っています。
ですので、より複雑な質問への回答には時間がかかるかもしれませんが、私たちはスレッドの投稿に注目しています。
来週はVer2.2のパッチノートを全て投稿します。
以上
フォーラム内のやり取り
執筆時ではまだありませんが、今回はQ&Aがあったとしても専門的になりすぎて紹介し辛いのでカットします(・_・)
感想・まとめ
以上、Stellaris 開発者日記 第135回の紹介でした。
今回の様なコードメインの日記はどうやって紹介したらいいのか困ります。
コードの書き方を全部説明するのもなんか違うと思いますし・・・(´・_・`)
それから、来週の日記ですがパッチノートの紹介ということなので全面的にカットするかもしれません(まだどうするか未定)。
パッチノートは紹介してもその後の追加パッチでまた変わってしまいますし、それを全部追いかけて紹介するのは労力的に大変&あまり意味もないかなぁと思っとります( -_-)
とりあえず来週また現物を読んでみてからどうするか考えたいと思います。
それではまた( ✧Д✧) カッ!!