最近はずっとこれを作っていました。
Baldur’s Gate 3のマルチプレイにおける「ストーリー体験」と「戦闘の楽しさ」を両立させるためのMODです。
なぜこのMODを作ったのか?(開発経緯)
BG3のマルチプレイは非常に楽しいですが、ストーリー重視でプレイしようとすると、「誰がオリジンキャラ(コンパニオン)の操作権を得るか」というジレンマに必ず直面します。
以前、当ブログの別記事(https://nettoge.com/bg3-multiplayer-tips/)でも詳しく解説しましたが、BG3のマルチプレイには以下のような独特な仕様があります。
キャラクターの操作割り当て
- 参加者が操作するキャラクターは、ホストがメニューから割り当てることができる
- メニュー>マルチプレイ>キャラクターの操作割り当て
- 参加者が操作するオリジンキャラに、ホストは話しかけることができない
- 逆も同じ。なので「オリジンキャラ同士の掛け合い」や「ホストがNPCとしてのオリジンに話しかけたい」場合、そのオリジンキャラを参加者に割り当てない方がイベントを見逃しにくいと海外でもしばしば言及される。
- ただし野営地(キャンプ)内では会話制限が解除され、ホストも参加者も連れ歩き設定に関係なくオリジンキャラに話しかけられる。
- 参加者がセッションを退出したり落ちたりすると、そのキャラクターの操作権は自動的にホストへ戻るか、ホストが再割り当て(他の参加者へ)できる。
会話・カットシーンの仕様
- 原則、会話を開始したプレイヤー(ホスト または 参加者)がメインの選択肢を操作する。
- 通常の会話(繰り返し聴ける話など)は、会話を開始したプレイヤーの後に別のプレイヤーが会話をしても、最初から会話を進行できる。
- 重要な会話(会話後戦闘になったり重要なイベントが進行する)である場合、会話を開始したプレイヤーの後に別のプレイヤーが会話をしても、結果は変わらない。
- 他のプレイヤーは会話に「割り込む」ことはできず、代わりに画面左下の会話ログをクリックして「リッスンイン(会話を視聴)」する形を取る。
- この場合、会話は始めたプレイヤーの操作に追従して進行する。
- オプションに、いずれかのプレイヤーが会話を開始したら、強制的に会話画面をリッスンインできる項目がある。
- ホストがNPCとしてのオリジンキャラに話しかけることで発生する専用イベント(掛け合い)がある。
- 参加者にオリジンを割り当てると、フィールド上ではその掛け合いが起きない/制限される場合が多い。
- フィールド上を探索中に、特定のオリジンキャラをパーティに連れていると発生する専用会話も発生しない。
例えば、ホストがシャドウハートを連れていて、参加者がアスタリオンを連れている場合の話です。
この場合、
- ホストとシャドウハートの会話
- 参加者とアスタリオンの会話
は発生します。
しかし、シャドウハートとアスタリオンの会話は発生しません。
- 参加者が操作するキャラクターは、ホストの会話に参加しないし、会話画面にも原則表示されない。
- 逆も同じ(参加者の会話にホストは介入できない)
- 原則「会話を発生させたプレイヤーの画面」でカットシーンが展開される。
- 参加者が操作しているキャラクターは会話中に映らない、あるいは背景に立っているだけ、という挙動が多い。
- 一部の重要イベントでは、強制的に全員の画面にカットシーンが入ることもある。
ロマンス関連の仕様
- 各キャラクターでロマンスフラグを立てる・好感度を上げる行為を行った場合、それを操作しているプレイヤーがメインで進める。
- パーティ内で複数人が同じNPCとロマンスを進める場合、競合が起きる/イベントが上書きされるなどの報告もあり、注意が必要。
ここまでを踏まえると、「シングルプレイと同じシナリオ体験、つまりすべての掛け合いを発生させながら進行したい」場合、他プレイヤーにキャラを割り当てるのは非常に都合が悪い、という結論になります。
だから、割り切らずにシナリオ体験を優先したい場合、2Pなどは戦闘時に自キャラ(カスタムキャラ)のみを動かす羽目になります。
Party Limit Begoneなどで人数を増やすMODを使う場合は特に顕著で、1P(ホスト)がたくさんのオリジンキャラを連れ歩き、2Pや3Pは常にパーティグループが自分自身のみ、という状態になりがちです。
問題は戦闘時
シナリオ体験を優先するためにすべてのキャラの操作権を1P(ホスト)が持つことにより、戦闘時にすべてのキャラの戦闘指示を1Pが出す羽目になります。2Pや3Pは自キャラの操作が終われば傍観するだけになり、連れ歩き人数が多ければ多いほど待ち時間が長くなりがりです。
- ホストが全キャラの戦闘指示を出すことになり、手数が多すぎてテンポが落ちる
- 参加者は自キャラを動かし終えると、残りは待ち時間になりやすい
- 連れ歩き人数が多いほど「待つだけの時間」が長くなる
シナリオ体験を守ろうとすると、戦闘の協力プレイ感が薄れ、ただの順番待ちになってしまう。ここがマルチプレイの最も厄介な点。
そこで作ったのが、このMOD
このMODは、シナリオ体験をホスト中心で維持したまま、戦闘だけ協力プレイに戻すためのものです。
普段はホストがオリジンを抱えたまま進行し、戦闘に入った瞬間だけ、指定したキャラの操作権を他プレイヤーへ自動で渡します。
- 戦闘開始時:設定したキャラの操作権を参加者へ自動移行
- 戦闘終了時:操作権を元の状態へ自動復帰
- ついでにポートレート順や追従チェーンも可能な限り元に戻す
つまり「会話と探索はホストの体験を優先」「戦闘は参加者もちゃんと動かす」という、割り切りと快適さの両立を狙ったMODです。
導入と使い方、注意点(特にアバター再割り当ては危険、ロード時の人数一致など)は、日本語でNexusの説明にまとめています。
PCが2台しかないので、2人プレイしかテストしてませんが、同じコードで3~8人まで処理しているので正常に動くはずです。
動作環境
- Baldur’s Gate 3: Patch 8 (v4.1.x.x)
- 必須 BG3 Script Extender: v22以上
テスト状況:
- ✅ 2人プレイ – 複数の戦闘シナリオでテスト済み
- ⚠️ 3-4人プレイ – 動作するはず(同じロジック)、限定的なテストのみ
- ❌ 5-8人プレイ – 未テスト
- ❌ ゲーム全体の通しプレイ – 未テスト
互換性
以下との互換性は保証できません:
- パーティ操作システムを変更する他のMOD
- 将来のゲームアップデート(内部システムが変更される可能性)
問題が発生した場合は、他のMODを無効にして原因を特定してください。
Script Extenderのみで実装しているので、ほとんどのMODと競合しないはずです。
使い方
- 全プレイヤーが接続した状態でマルチプレイを開始
- Insertキーで設定UIを開く(ホストのみ)
- 各コンパニオンについて、戦闘中に操作するプレイヤーを選択
- 設定完了!
- 戦闘開始/終了時に自動で処理されます


重要な注意事項
絶対にやってはいけないこと
- 戦闘中にMODを削除しない – キャラクターが間違ったプレイヤーに残る可能性
- 戦闘中にMODを導入しない – 問題が発生する可能性
- セーブ時と異なるプレイヤー構成でロードしない – 2人でセーブしたら2人でロード
- これに関してはたぶん処理的には問題なく動くが、影響が分からない。
制限事項
- カスタムキャラ(プレイヤー作成キャラ)の再割り当ては非推奨
- たとえばホストの作ったキャラ自体を2Pに操作権移したりすると、1Pがなにもできなくなったり、不具合までいかないが変な挙動になります。
- 5人以上のプレイヤーでは未テスト
- 環境がなかったので…。誰か試して下さい
- ゲーム全体の通しプレイは未テスト
アバターを別プレイヤーに割り当てる場合(実験的)
プレイヤーのアバター(メインキャラ)を戦闘中だけ別のプレイヤーに割り当てることは可能です。
使用例:
- 戦闘が苦手なプレイヤーが、自キャラも含め全キャラを上手いプレイヤーに操作を任せたい
- 難しい戦闘で全キャラを一人に集中させたい
ただし、これは未テストで問題が発生する可能性があります:
- 元のプレイヤーは戦闘中に操作するキャラがいなくなる
- 会話やカットシーンで不明なバグが発生する可能性
- 自己責任で使用してください!
なにかあればコメントで。
分割画面にも対応できないかNexusにコメント来てたので、それもそのうち対応するかもしれません。
しばらくは通しプレイでのデバッグ…!


コメント