Sarmaticus

誰も読まないような趣味の話しかしないほうのブログ

M&B2 Bannerlordの地味なmodを紹介する

マウントアンドブレード2 バナーロードのmodをいくつか紹介する. マップとか特徴的な兵士とか武器とか追加しない, 一見して効果のわかりにくい, ゲーム内容や難易度を大きく変更しない範囲でUIを改善するものに限定して紹介する. 現時点での最新版である v1.1.1 を基準に紹介する.

追記: 100個以上の人気modを取り上げた紹介記事を書いた. 「おすすめ」かは分からないがなにかmodを探し求めているのならここよりこの新しいほうを読めばいいだろう. 以降で紹介するmodでまだ動くものもほとんどこっちで改めて紹介している

under-identified.hatenablog.com

ランチャーUI

以前も書いたが BannerLord Mod Launcher か Novus Bannerlord Launcher がよいと思う. そこで書いたようにどちらも引っかかる仕様が少しだけあるが, そこだけ注意すればデフォルトのランチャーより便利だと思う.

BUTRLoader といランチャーも有名だが, 以前書いたように勝手にロード順を変更しすぎてしまい使いづらいため, 私としてはおすすめできない. というか BUTR はBLSEへの移行が推奨されており, なおかつBLSEにはBUTR互換モードがあるので, どっちにしろ今はBUTRを使うべきではない.

例えば, 基本モジュールまで並び替えたり間に別のmodを挟む必要はないはずだがこいつはなぜかやってしまう. また, BUTRにはデフォルトのランチャーがしている, バージョンの不一致の確認を飛ばす機能があるが, あちこちのコミュニティでの初心者のトラブル報告を見ると, この機能はむしろ不具合の原因を見落とすことにつながっていることが多い気がする. 加えてBannerlordのmodの実態として, ロード順がmodの競合や不具合の原因になることは少ない. 多くのmodで参照されてなおかつロード順が決まってるのはHarmonyなどの一部の基本プラグインくらいだが, これらはほぼすべての場合で最初に一定の読み込むことが決まりきっているため, ロード順の変更を自動化する利点があまりない. それ以外のmodも依存関係といっても特定のmodで参照されるだけか, ロード順を問わない構成になっていることが多い. ついでに言うなら, 私の作った日本語修正modは「2つのモジュールで構成されている」「片方は本体より先に, もう一方は後で読み込む必要がある」という特徴があり, これは現在公開されているmod全体を見ても, 最も適用条件がややこしい部類に入ると思う. Bannerlordのmodはそれくらいロード順に関する要件がゆるい.

一方で新しいアイテムや要素を追加するのではなく本体に含まれるXMLを書き換えただけの類のmodは, ロード順によっては他の同種のmodとの競合によって意図した動作をしないことがある. そしてxmlの書き換えは最も要求される技術力が少なく手を出しやすいので, 競合することを考慮していない/作者が対処法を知らないというmodは多い. だがこのような問題はBUTRであれ他のランチャーであれ, ランチャーでは解決できない. XMLファイルだけのmodで他のmodとの競合や互換性を気にする必要がないのは言語ファイルだけのもの (ModuleData/Languages/ フォルダにのみファイルがあるmodのこと) に限られると思う. 競合が発生しても, 最悪でも翻訳テキストの統一感がなくなるとかその程度の不具合しか起きない.

基本プラグイン

いろいろなmodで要求されるプラグイン4つ. ロード順もほぼこれで固定になる. これらが必要なのにメタデータに適切に記述してないせいで, ランチャー上で有効にしても連動してこれらも有効にならないmodがあるので, modを使うのなら常時有効にしていてもあまり問題はない. 対応バージョンの制約が合わないこともたまにある点には注意が必要だが.

特にButterLibはエラーの原因がわかりやすくなるので, modをいくつも入れるなら要求されていなくても入れておいたほうがいいだろう. 英語が読めないなら, バージョンの制約が厳しいが後述の Better Exception Window用の日本語パッチを作ったのでそっちも併用すればよい.

  1. Harmony: 他のいろいろなゲームでも利用されている, プログラムに「割り込む」ためのプラグインである. MB2は公式にmodding kitが用意されているが, アイテムやマップなどのアセットの追加を主に意図しているので, 本体のバグの多い処理を公式キットのできる範囲で変更することは難しい. そのためかなりの数のmodでHarmonyが使われている.
  2. Butterlib: ゲーム実行中のスクリプトのエラーログを表示するためのもの. 主に上記Harmonyに依存したmodのバグや, それらを複数使用した場合の競合によるエラーの原因を探るのに使える. 一方でXMLをいじっただけのmodやゲーム本体の不具合には無力なことが多い.
  3. UIExtenderEx: UIの改造をするための共通プラグインで, これもHarmonyに依存している. 公式キットにもUIを改造するための機能はあるのだが, うまく動作しないところが多いためこのmodが必要なケースもそれなりにある.
  4. Menu Configuration Menu (MCM): 他の多くのゲームタイトルにもある同名のmodと同じように, modオプションの共通インターフェースを用意する. 上記の3つのmodに依存しているので, 多くのmodを遊びたい場合は事実上この4つが必須になる. ただし, MCMに対応しているかどうかは作者のやる気と技術次第なので, MCMではなくどこかに作られる設定ファイルを書き換える必要のあるmodもある.
BannerLib Input Library

www.nexusmods.com

上記4つに比べるとあまり使われることがない. ホットキーに何かの動作を割り当てるmodで使用されることがある共通プラグインである.

Adonnay's Troop Changer

ここに紹介するのはちょっと違う気もするが, Harmony - MCM の次くらいによく出てくるのでついでに紹介しておく. ATC と略される事が多く, modで兵士ツリーを変更する際にツリーのつながりがおかしくなる問題を修正する機能がある. そのためツリーを変更するmodの多くで要求される.

ゲームプレイ中のUI

Better Exception Window

ButterLibの拡張版とでも言うべきもの. エラー発生時の通知を見やすくする. XMLの文法ミスがないか (深刻なものでないものの, たいていは公式が一番ミスが多いのだが)とか, エラー時のスクリーンショットやセーブデータを取得するとか, いろいろ便利な機能が利用できる. これを使用する場合は, Butterlibより前にロードする. 冒頭の4つの基本modの定番のロード順に割り込むmodはこれしかないというくらい珍しい.

Aggregated Income

収支報告のツールチップをタイトル通り集約する. バニラでは XX村の税収, YY城の関税収入, バターの売上高, ビールの売上高, ...と羅列されていたものを, 集落の収入, 政策効果による収入, 生産物による収入, などに要約して画面からはみ出さないようにする. Improved Garrison や Agricultural Estates にも連携している. そのうち日本語ファイル作るかもしれない.

I don't Care - Cmapign Log Filter

キャンペーンマップ上のログにフィルタをかけることができる. 例えばあなたがクーザイトに仕えているとして, 遠く離れたヴランディアの領主がバッタニアの捕虜になったとか, そのクランの年長者が家族に看取られながら安らかに亡くなったとかは限りなくどうでもいいはずだ. 知らないNPCが競技会で優勝したからどうしたというのだ. また, 軍隊の結成などはログにも画面右のポップアップアイコンにも追跡マーカーにも表示されとてもしつこい. この mod はログのカテゴリごとに表示非表示を設定できる. 項目名は DLL にハードコートされているので日本語にするのは今の所難しい.

Fast Dialogue

前作からそうだけど, なんでいつも軍隊を率いながら敵対領主や盗賊とお見合いしてるんすかね…

Troop Sorting

かなり細かい設定で部隊の兵士をソートできる. 上部にカテゴリごとの人数を表示する機能もあったが, v1.1.0 以降は公式に追加されたのでデフォルトで非表示になった. ソートは v1.1.x のものよりも多機能なので依然として利用するメリットはあるが, 条件をあらかじめ XML ファイルに記述しておく必要がある. 最大9種類のプリセットを設定でき, それぞれゲーム中に「Ctrl + 数字」のショートカットキーで実行できる.

Sort Unitsというのもあるが, こっちは機能が限定されている上そもそも更新されてないので最新版で動かない

Useful Skips

キャンペーン開始時のいろんなやつを省略する. 省略するものは MCM で設定する.

起動時の金槌叩く動画の再生も飛ばすことができる. 一方でキャンペーン開始直後のチュートリアルスキップがうまくいってない気がする. オルトスがずっと村にいる.

Family Tree

名前通り家系図を表示する. 婚姻すると元の所属をたどるのが難しいので便利. 現時点では v1.1.0 以降とは互換性がない

追記: Steam Workshop で別人物が作り直して公開しているようだ.

www.nexusmods.com

公開当初はメインメニューの余計なUIを消去するように変更しただけのXMLだったが, 更新してあちこちのUIの背景を消すなど変更箇所を増やした. 劇的な変化はないが, 場所によっては見やすくなったりあまり変わらなかったりする. M&B2のGUIはかなり古臭い (ゲームの時代設定が古いという意味ではなく) ので, これくらいシンプルでもいいと思う. ただし, XMLで変更できるのはいわゆるスキンの変更程度だと思ったほうがいい. 独特の妙なレスポンスや導線設計を変更するのはこれだけでは難しい.

Always Show Titles/Noble Titles

めったに表示されない君主や領主(=クランのリーダー)たちの称号を常に表示させる.

さらに, 君主や領主以外の一般貴族にも称号を付ける領主の権勢の強さに応じて肩書きが変化する Noble Titlesというものもある. 一般貴族の称号は本来存在しないので, 好きに書き換えるとよい. オリジナルはEA時期の古いバージョンでしか動かず, 別の人物が 1.0.2 向けにビルドしたものが別に存在する. しかしこれも v1.1.x では動かなかった.

自分で修正を試みたら意外と簡単に出来たので, オリジナルやv1.0の作者に確認して更新する気がなかったら自分で最新版を公開してみようと思う

追記: 上記説明が誤っていたので訂正. とはいえどちらにしろ貴族の敬称が全員についてないのが不満だったので自分で機能を追加する予定

最新版での表示例, 語順やスペースは調整の余地がある, 称号はテキストファイルを書き換えるだけで自由に命名できる
開発中

追記: オリジナルに多少機能を追加して, かつ v1.1.x で動作するものを公開した. 詳細はリンク先に書いてある.

www.nexusmods.com


更に補足: Noble Title は勢力ごとに序列を計算して称号を与えているが, 単純にクランTierで決めるVassal Titlesというものもある. ただし長いこと更新されていない.

Settlement Icons - Redesign

動作確認バージョン: v1.0.7/本体v1.2.8

集落や部隊のアイコンのデザインを変更する. デフォルトの変な影が消えてキャンペーンマップ上の表示がスッキリする. 敵対・中立・自勢力の識別はアイコンの枠線の色でできる. v1.1.4 現在は 「XX城」の「城」に追跡マークが重なってしまうのと, 軍隊のアイコンが少しずれているのが気になるが, 動作する (英語でも発生しているので日本語特有の問題ではないと思う). 更新されていないが, v1.2.8でも動作している.

Color Blind Accessible UI

タイトルどおり. アイコンやテキストなどの色を変更する. しかし最初からカラーバリアフリーな組み合わせにしてくれるわけではなく, 1つ1つ手動設定する必要がある.

(追記)グラフィックを修正するやつ

いろいろな旗を修正する.
キャンペーンマップ上で城や都市に立っている旗の色がおかしいのとか, 槍に付いている房や旗が静電気を帯びたような動きをすることが減る. Raise Your Banner が依存するmodでもある

v1.1.4 時点ではこれを使っていても攻城戦で相変わらず旗や槍の房が洗濯のりで固めたように動かなくことがある. しかし作者のコメントを見ると, マップによっては物理演算効果やLODの設定が忘れられている箇所があり, そのせいで旗が動かなくなるようだ. LODが原因なら設定の変更でなんとかなることもあるらしいが, 旗の問題ではないので根本的な修正が難しい. 要するに,「ゲーム本体の手抜き」が原因であるということになるようだ.

カスタム軍旗に関する多くのバグを解消する. また, デフォルトでは軍旗は二色刷りだがより多くの色を使えるようにするオプションもある. このオプションはEurope 1100とか旗のデザインに凝ってるいくつかのmodでも併用が要求されている.

POC color randomizer mod

軍旗や服や盾の色をランダムに変更する. それだけ? と思うかもしれないが全員同じ色と模様の服を着て一糸乱れぬ動きをしているよりも自然に見える. 類似のmodとして, 体格や装備に多様性を持たせる Random Bodies と Variety Unlocked というものがある. しかしどれも, v1.1.4以降かそれ以前からかはわからないが, たまにクラッシュの原因になっている気がする. 他のmodとの競合?

Better NPC

デフォルトのNPCの顔はランダムすぎて変なので, NPCの文化枠に応じてある程度偏らせる. キャンペーン開始時の固定NPCの顔の設定を全て変え, 自動生成NPCの顔も文化に対応したものに変える. 作者によるとこのmodはよくある「美化」ではなくより現実味のある顔にするのが目的だとしている. ただし, キャンペーンモードのNPCはキャンペーン開始時に生成されるというこのゲームの仕様上, インストールは少し面倒で, 既に始めたキャンペーンのセーブデータに途中から適用する場合は輪をかけて面倒になる. この手順を読まずに文句言う人があまりに多かったので作者はコメント欄を一時期ロックしてしまったことがある.

v4.0.3 時点でのインストール方法について説明する. まず, 貴族NPCの顔だけ変更する Only Lord and Ladies バージョンの場合は, modのXMLファイルをSandBoxに上書きするとよい. 全NPCを変える Complete バージョンも本体ファイルを上書きするが, SandBox と SandBoxCore に上書きするファイルの両方がある. spnpccharacters.xmlspnpccharacterstemplates.xmlが SandBoxCore\ModuleData に上書きするファイルで, それ以外は SandBox に上書きする. Submodle.xml はいずれのバージョンでも不要なので消して良い. (ファイル構造を本体と同じにすれば手順で文句言う人が減る気がするが…)

  • Modules
    • SandBox
      • ModuleData
        • Lord.xml
        • bandit.xml (Compele版のみ)
    • SandBoxCore
      • ModuleData
        • spnpccharactertemplates.xml (Compele版のみ)
        • spnpccharacters.xml (Compele版のみ)

作者はやる前に上書き対象のバックアップを取れと言っているが, MO2を使えばこれは多少楽になるだろう. MO2の場合は手動でこういう構造にすれば動作するはずだ.

MO2でのBetter NPC のファイル配置

既に開始しているキャンペーンモードでNPCの顔を変えるにはこのmodをインストールするのでなく, Detailed Character Creation が必要になる. NPC Codes というファイルをダウンロードすると, DCC用のコード一覧が並んでいるのでこれをコピペして一人ひとりの顔を修正する必要があるようだ. 途中からのセーブデータにそのままmodを使うとクラッシュすることがある?

DLSS 3.1 For Bannerlord

DLSSの最新バージョンを使用できるようにする. ゲーム本体の bin\Win64_Shipping_Client にある同名のDLLを上書きする必要がある. 正直こういうバイナリだけなのは警戒してしまうのだが, アップロードしてる人物が面白い(かつ作るのが面倒な)modをいつも作っている人なのでとりあえず試してみる. (いい加減な根拠) ちなみにM&B2本体のv1.0.xまではDLSSを使用しているとNPCやオブジェクトを強調する輪郭が大きくずれて表示されるバグがあったが, v1.1.0で修正されている.

難易度にもわりと影響する, デフォルトの挙動の気に入らない箇所あるいはバグを修正するやつ

Formation Sorter

戦闘中の編隊やコマンドに関するもの. MCMで 歩兵, 騎兵, Tier などで分けた兵士に対してデフォルトの陣形を設定したり, ホットキーを設定したりできる.

Achievement Un(bloc)ker

私の Correct Localization JP を使いつつ実績解除したい場合は必須

Bannerlord AutoTrader

文字通り自動売買する. 多数のオプションがある. 煩雑・単純な操作を減らすという点でUI改善に入れるか迷ったが, 売買のbot化はゲーム難易度にも影響するのでこっちで

Neated's NPC Upgrade Equipment

NPC領主が都市でより優れた装備を見つけた時にアップデートするようになる.

Telepathy

徘徊癖のある領主と話すために探し回らなくても百科事典から選んで脳に直接送ることができる. 超能力者になるのが気に入らない場合はより現実的に, 伝書鳩で連絡を取るという設定で, 反応にタイムラグのあるテレパシーができるようになる (Diplomacy には金を払って伝令を送る機能が内蔵されていることに注意)

最新版 (v1.1.1) で動くか怪しい

No Safe Mode Prompt

セーフモードはウィンドウズのトラブルシュートと同じくらい役に立ったためしがない. 問題はこれ自身がアップデートで動作しなくなりエラーの原因となる可能性が生じることだが仕方ない.

No Splash Videos - Skip Splash Screen

起動時のトンカンやる動画を再生させない. ファイルを消せば再生されないのでぶっちゃけそっちのほうが早い. modも最新版では動かないっぽいし

具体的には Modules/Native/Videos にある ivf, mp4. ogg の各ファイルを消すかリネームすると再生されない. Videosフォルダそのものを消したりリネームしても良い.

加えて, 現在は Useful Skips という, より多機能なmodが存在する.

Equip Best Item

名前通り最強装備を自動選択する

Leave on Click

キャンペーンマップ上でいちいち「去る」をクリックしなくても, マップ上のどこをクリックしても集落のペーンから抜けられるようにする


Hitmarker Remover

近接武器を使っている間はヒットマーカーを表示させない. 作者曰く, EA中はこういう仕様だったが今は近接武器で敵を倒したときにも表示されてうざいから消したかった, とのこと. 私はあまり気にならないが, いちおう紹介しておく

Hero Encyclopedia Entry Fix

成人直前までずっと赤ん坊アイコンなのはおかしいので修正する

Relation Notifications on the Game Log

キャンペーンログから好感度の変化に関する表示を消す. 今はそもそも表示されなくなり, また, I don't Care という包括的な機能のmodがある. だが好感度に関しては画面上部に表示されるようになったのでUIは分散されある意味悪化しているといえる

個人的に欲しい物

スクリプトいじらないと作れなさそうでめんどくさいので不平とクレクレとだけ言っておく

百科事典のリンクをつける

ゲーム中のチュートリアル, 「ゲーム中ほとんどの場面でその人物の百科事典項目を開けます」と紹介されるが対応状況がとても中途半端で使えない. 具体的には縁談が来たときとかどこのクラン・勢力かよくわからないまま決断を迫られる. もっと徹底してくれ

部隊命令UIの改良

もうすこし見やすくしてくれ, 自動戦闘のオンオフとか悪いUIの見本そのものだ. あとまだ配属がでたらめになるバグが直ってなくない?

全体的なUIの改良

なんでクリックのレスポンスの悪いのとか, キャンペーンマップ上で操作可能なタイミングがわかりにくいのとか, 10年経っても据え置きなんでしょうかね? あとテクスチャの読み込みが少し遅れてる現象も前作からよく見かけたんだけど, まさか10年前のエンジン使いまわしているわけではないよね?

経路探索のバグフィックス・スタック回避

未だにキャンペーンマップ上で時々ハマることがある Europe Campaign Map ではなくバニラの話だ. また, 純粋な経路探索の問題ではないが, キャンペーンマップ上では前作以上に軍隊が本来の目的とは関係ない敵部隊を延々と追いかけて右往左往し自滅することがとても多い. 攻城戦でもNPCは城壁を制圧してから城門を開くこともせず右往左往して分断され結局自滅することがとても多い. 攻城戦といえばスタックがいまだによく起こる. 10年前の前作でも梯子スタックがひどかったが今作はそれだけでなく本来入れないはずの場所に敵がめりこんでお互い攻撃が届かず進行不能になるバグが特定の場所で必ずと言っていいほど起こる.

自分で作るかもしれないやつ

翻訳エンジンの改良

v1.2はまだ未確認だが, たぶん仕様ですということで現状よりましになることは無いだろうと予想している

DLLにハードコートされているテキストをなんとかする

現時点でも個別のmodに対して何度かなんとかしているが, 技術的には個別に対処せずに済む方法もある

JSONに設定を書かせるmodの撲滅

コンフィグのインターフェースは少なくとも今はJSONパーサーを書くよりMCMのAPIで書いたほうがはるかに簡単に実装できるようになっている. 作る側も使う側もMCMを選ばない理由がない.

XML の競合チェッカー

観測の範囲でXXと一緒に使ったらクラッシュした, という話の原因は9割がたXMLの書き換え箇所が干渉しているためだった. やる前からこうなることは予想できたろうに, 特に公式がなぜ用意しないのか理解に苦しむが, スカイリムの TESEdit みたいな差分を表示するエディタがあるだけでだいぶ改善されそうな気がする. しかしここまでやるまで気力が続くかはわからない. Windowsアプリとか作ったこと無いし