パラドックス社の公式フォーラムに
ステラリスの開発者日記 第115回が掲載されています。
今週休みって言ったからゆっくりしてたのに・・・( ´Д`)
今回はボーナス扱いの開発者日記ということで、Ver2.1におけるアノマリーのMOD制作に関する内容のようです。
コードの書き方など技術的な事が多いようなので、簡単な紹介にしたいと思います。
※当記事内のコードはフォーラム内のものを引用。
以下開発者日記を意訳したものです。
ステラリス 開発者日記 第115回 Ver2.1のアノマリーMod 2018/5/17
冒頭のお知らせ
簡単な予告なしの驚きのボーナスdev日記へようこそ!
アノマリー関係のMOD制作コードを大幅にスリム化
私達はPDXCon(※)の準備にほとんどの時間を費やしていますが、参加者の開催までの待ち時間にDistant Stars Story Packについて紹介したいと思います。
私たちは、2.1アップデートにおける詳細な変更の一部をMOD製作者向けに紹介したいと思います。
私たちは以前2.1のNivenアップデートにてアノマリーに起こる変更について説明しましたが、それらが実際にプレイヤーやMod製作者にとって何を意味するのでしょうか・・・?
うまくいけば、再設計されたアノマリーのバックエンドはあなたの人生をもっと楽にしてくれるはずです。
ここからはちょっと技術的になります。
昔の古いコードを振り返ってみましょう。
00_anomaly_categories_3.txt
anomaly_category = { key = "DES_BURIED_CAT" desc = "DES_BURIED_DESC" picture = "GFX_evt_desert" level = 2 spawn_chance = { modifier = { add = 3 is_planet_class = pc_desert from = { owner = { NOT = { has_country_flag = masters_writings_politics_found has_country_flag = ai_admiral_found } } } } } on_spawn = { } on_success = { } on_fail = { ship_event = { id = anomaly_failure.4030 } } }
00_anomalies_3.txt
anomaly = { event = anomaly.4030 category = "DES_BURIED_CAT" weight = 1 potential = { always = yes } } anomaly = { event = anomaly.4135 category = "DES_BURIED_CAT" weight = 1 potential = { owner = { NOT = { has_ethic = ethic_gestalt_consciousness } } } }
酷いって?全くそうです。
これは、50行のスクリプトを2つの異なるファイル間で3つのエントリに分割したものです。
しかし、恐れてはいけない、未来は明るいです!
New script in 03_anomaly_categories.txt
DES_BURIED_CAT = { picture = "GFX_evt_desert" level = 4 spawn_chance = { modifier = { add = 3 is_planet_class = pc_desert } } max_once = yes on_success = { 1 = anomaly.4030 1 = { modifier = { factor = 0 owner = { has_ethic = ethic_gestalt_consciousness } } anomaly_event = anomaly.4135 } } }
25行未満のスクリプトになりました。クリーンで効率的でなめらかです。
Mod製作者が2.1向けにイベントModを更新したい場合に備えて、便利な説明者を用意しました。
an_anomaly_category = { # Anomaly category ID key should_ai_use = yes/no # Allows AI empires to generate the category. Default: no desc = "key" # Optional, if no desc is given "<category key>_desc" is assumed desc = { # Can also use triggered descs. First valid entry will be used. trigger = { ... } # Scope: planet, from = ship text = "key" # Localization key for description } picture = GFX_picture # Picture displayed in category window level = int # Anomaly level, 1 to 10 null_spawn_chance = 0.5 # Default 0. 0.0 - 1.0 (0 to 100%) chance category will NOT spawn # even if it is picked by the anomaly die roll. Used to make # categories for unusual objects (e.g. black holes) actually rare. max_once = yes/no # default NO, if true will spawn category only once per empire max_once_global = yes/no # default NO, if true will spawn category only once per game spawn_chance = { # Chance for this anomaly category to spawn, base = <num> # relative to other valid categories. Default: base = 0 modifier = { # Spawn chance modifier add/factor = <num> <triggers> # Scope: planet, from = ship } } on_spawn = { <effects> } # Executes immediately when anomaly category is spawned. # Scopes are this/root: planet, from: ship # NOTE: on_spawn effects will not run if category is spawned through console on_success = { # Picks anomaly event to fire; similar to random_list 1 = { # Base chance max_once = yes # Individual outcomes default to max_once = yes, max_once_global = no # and max_once_global = no modifier = { # Optional modifiers add/factor = <num> <triggers> # Scope: ship, from: planet } anomaly_event = <id> # New effect anomaly_event fires specified event ID. Scope: ship, from: planet } # Can also use ship_event, though it gets different scopes: # ship, from: ship, fromfrom: planet 1 = <event id> # shorthand for 1 = { anomaly_event = <event id> } } on_success = <event id> # Shorthand for on_success = { 1 = { anomaly_event = <event id> } } } # Only use if there is only one outcome in the category
これが今日のすべてです!
PDXConでのニュースに注目してください。
以上
※パラドックス社が主催する年に1度の大規模イベントのこと。
フォーラム内のやり取り
感想・まとめ
以上、Stellaris 開発者日記 第115回の紹介でした。
先週、お休みって言ったのに・・・。
チェックしたら開発者日記が載っててびっくりしました。
115回って番号が振ってあるので紹介しないわけにもいきませんし・・・( ´Д`)
日記の内容としてはコードの仕様が代わってModが作りやすくなった点と、
コードに関する注釈の紹介と言った感じですね。
主にModを作る人向けの内容でしたが、Modを使う側の人も中身はこうなっているんだ~と少しでも把握しておくと何かの時に役に立つかもしれません(・∀・)
それからパラド社によるとPDXConでステラリス関係の発表があるみたいなので
そちらも楽しみですね。
それではまた( ✧Д✧) カッ!!