Module Info Pages(情報ページ)

訳注:

この「ゲーム概要」に表示される文章は、ユーザが「MOD の品質の良し悪し」や「好みに合っているかどうかどうか」を見極めるためにプレイ開始時期に集中して読む、非常に大切な情報です。それにもかかわらず文章と実際の動きと合っていない既製 MOD を、驚くほどよく見かけます。こういった不整合は かなり稚拙でみすぼらしいバグ、と言えます。原題が Game Concepts なので、恐らく MOD 開発者がバージョン・アップを重ねる度に開発当初の設計からズレていき、それを文章にフィードバックしないままにしがちなのでしょう。しかし、このページは、開発者のための概要設計書ではなく、プレイヤーにとって取説のようなものです。MOD 開発者が どんなに手間ヒマかけて立派な MOD を作ったとしても、この文章(やヒント)で手を抜いて矛盾が生じると、MOD の評価や認知度や寿命に悪影響を与えるでしょう。だから、文章と実状の整合性を、常に神経をとがらせて最優先事項として確保すべきです。

もし既製 MOD の日本語翻訳作業に参加する機会があって、英語原文の そういった矛盾や不整合を見つけたら、開発者に(攻撃しないように)報告しつつ、日本語版のほうでは先行して直してしまいましょう。でないと、「翻訳者が誤りを拡散」することになってしまいます。

module_info_pages.py 冒頭に書かれた指定方法

(訳注: 冒頭のコメントには「Each quest record」とあるが誤り。)

各レコードには下記の項目がある。
(1) 情報ページ ID。 他のファイルから このレコードを特定するために使われる。各 ID の手前に接頭子 ip_ が自動的に付加される。
(2) 名前。 情報ページの画面に表示される題名。
(3) テキスト。 情報ページの画面に表示される本文。 (訳注: コメントには上記 2 つの項目しかないが、実際には第 3 項目があるので補った。)

Native の module_info_pages ファイルには、士気、経済、求愛、政治、人物の背景、軍事作戦に関する情報が含まれています。プレイヤーはワールド・マップ上にいる時に「メモ」(Notes)ボタンに続いて「ゲーム・コンセプト」(Game Concepts, 日本語訳によっては「ゲーム概要」など)ボタンをクリックすると、それを情報ページとして開きます。各情報の本文の文字制限は 2^14 = 16384 です。円記号「\」(英語モードのエディタや OS ではバック・スラッシュ「\」)は表示されず、文字数に含まれません。バック・スラッシュの役目は、 .py ファイルを編集中にだけ見える改行位置(行末)に置いて、読みやすくすることだけです。結果的にバック・スラッシュは無視され、プレイヤーの見る情報画面では改行されません。ただし、強制改行指示のためのハット「^」は数に含まれます [1]

(訳注: 下図は Native、つまり MOD システム 1.171 のデフォルト出力での「士気」のページです。)

動的な変更について。[メモ]-[ゲーム・コンセプト] で開く画面自体はハード・コーディングされていますが、その内容はゲーム中に「動的に」変更可能です。 header_commons.py 内に文字列レジスタをいくつか用意しておき、create_simple_text_box_overlay 命令を使って文字列レジスタに書き込むプレゼンテーションを作り(王国名のプレゼンテーションを参照)、module_info_pages.py にテキストのプレース・ホルダー(つまり初期状態は空で、ゲーム中に書き換えるレコード)を用意しておきます。最後に、追加した個々のプレース・ホルダーを確認しながら、script_game_get_info_page_note というスクリプトの中を編集し、そこから返す文字列を set_result_string 命令で作る際に、用意したレジスタの内容を使います [2]

別のやり方として、ゲーム実行中に str_store_string 命令で文字列レジスタを設定してから、add_info_page_note_from_sreg 命令、という手順もあります。ただし、その項目の全文が上書きされることに注意して下さい [3]