World Maps: 設定、作成、移動
対応バージョン: このガイドはWorld Maps 1.3.1に対応しています。このバージョンは、RoleplayとGameのチャットでMarinara Engine 2.3.5~3.xをサポートします。Engine 2.4.1では、移動ストリームのクリーンアップと、ポータブルインポート後のLorebooksの即時更新が加わります。Engine 2.3.5~2.4.0でも動作しますが、インポート後にLorebooksを手動で更新する必要があります。
World Mapsを使うと、海岸、町、地区、宿屋のように、場所の中に別の場所を入れられるマップを物語に持たせられます。Marinaraはパーティーが今どこにいるかを常に把握し、AIはそれを使って一貫性を保ちます。試すには、Agent Organizer(エージェント管理)でWorld Mapsをインストールして再起動し、クイックスタートの手順に従ってください。
場所を1つの自由入力テキストとして持つのではなく、世界を入れ子になった場所の集まりとして表します。
The Shattered Coast
└── Brinewatch
├── Harbor District
│ ├── Tideglass Inn
│ └── Quest Hall
└── Old SewersMarinaraは、この階層のどこが現在地なのかを正式な情報として保持します。現在のパンくず、その場所の詳細、近くの行き先、条件を満たしたリンク済みのロアが、次の返答の土台になります。さらに、直近のユーザーメッセージがはっきり示した移動や発見に追従することもできます。表示されるAIの描写はその結果を語れますが、描写だけでマップを動かしたり新しい場所を作り出したりすることはできません。
マップはチャットごとに独立させることも、アカウントが所有する1つの共有ワールドにリンクすることもできます。テンプレートはきれいなコピーを作り、そこから内容を変えていけます。一方で共有ワールドは正式な階層と画像一式を1つに保ち、リンクした各チャットは自分の現在地、移動履歴、スナップショット、Gameのひも付けを個別に保持します。
機能の概要
World Maps 1.3.1でできることは次のとおりです。
- 地域、集落、場所、建物、フロア、部屋の入れ子構造と、パンくず表示、正式な現在の物語上の場所
- リスト表示、配置マップ表示、レイヤー順表示と、親子間の移動、直通リンク、複数ターンにわたるルート
- 直近のメッセージが示した、検証済みの移動と発見
- アカウント全体のテンプレートと、RoleplayとGameのチャットをまたいでリンクできる共有ワールド、チャットごとの確認付きの下書き
- AI支援によるマップの下書きと拡張、公開用の説明文、モデル向けの非公開メモ、その場所限定のロア
- リンクしたロアと画像を任意で含められる、持ち運べるインポートとエクスポート
- 場所の参照画像と背景、未設定の画像の確認付き一括生成
- AIによるマップ作成と、実行時の場所挿入文のための全体プロンプトライブラリー
行ける場所はモデルのコンテキストに含まれます。CYOAの選択肢をオンにしていると、モデルは現在地の子の場所や、つながった場所を次の選択肢として提示できます。実際の選択肢は、引き続きモデルが生成します。
適切なマップの関係を選ぶ
ライブラリーには、アカウントが所有する再利用できるリソースが2種類あります。一方で、実行時の現在地と履歴はチャットごとに保持されます。表示上の名前はリソースの識別子ではありません。World Maps 1.3.1は、新しく保存するリソースの名前が既存のものと重なる場合に、(copy)または番号を付けます。
| リソースまたは状態 | 所有者 | 選ぶ場面 | あとからの編集が影響する範囲 |
| 独立したチャットのマップ | RoleplayまたはGameのチャット1つ | この物語だけの世界を持たせたいとき | そのチャットだけ |
| 独立したテンプレート | アカウント | 繰り返し使える出発点がほしいとき | 新しいコピーだけ。作成済みのチャットは更新されません |
| 正式な共有ワールド | アカウント | 複数のチャットで1つの階層を維持して使いたいとき | リンクしたチャットが使う共有の定義 |
| リンクしたチャットの下書き | 公開するまでは、リンクしたチャット1つ | リンクした物語で見つけたものや編集した内容が共有ワールドに入るかもしれないとき | Publishを選ぶまで、他のチャットには影響しません |
| 切り離した独立コピー | かつてリンクしていたチャット1つ | 現在のマップを残したまま、共有ワールドの編集を受け取らないようにしたいとき | 切り離したチャットだけ |
コピーとリンクは別物です。Use template、Add to chat、Independent copyは、それぞれ別のマップを作ります。Gameの初期設定のUse shared worldと、ライブラリーのLink to chatは、そのチャットを正式な共有ワールドにつなぎます。
クイックスタート
- Agents(エージェント)を開き、Agent Organizer(エージェント管理)をクリックしてWorld Mapsをインストールします。このパッケージにはサーバー側のコードが含まれるため、再起動を求められたらMarinaraを再起動します。
- RoleplayまたはGameのチャットを開きます。
- Agents → World Maps(EngineにWorld Mapsの地球儀アイコンがある場合はそれ)を開き、そのチャットで有効にします。Chat Settings → Agents(チャット設定 → エージェント)から有効にすることもできます。
- Use template、Create with AI、Build manuallyのいずれかでマップを作成します。既存のチャットではマップファイルのインポートもできます。
- 作業中の階層を確認して開始地点を選び、Enabled(有効)をオンにしてSave(保存)をクリックします。
- チャット中にStory mapを開きます。到達できる行き先を選んで次のターンを送るか、メッセージの中でパーティーの移動を書いて、Mapsに到着を検証させて反映させます。
- 任意: Galleryの画像を場所に割り当てるか、Location artworkで未設定の画像を確認して生成します。
テンプレートの適用、AIの下書き、ファイルのインポートは、いずれもエディターの作業用コピーだけを変更します。階層を有効にして保存するまで、返答には反映されません。
うまくいかなかった場合は、Chat SettingsにWorld Mapsが表示されないを参照してください。
パッケージのインストールと有効化
World Mapsのページには、インストール済みのバージョンと利用できる状態かどうか、アカウント全体のワールドマップライブラリー、操作対象のチャット、そのチャットのマップの状態が表示されます。パッケージをインストールすると使えるようになりますが、すべてのチャットでオンになるわけではありません。
Roleplay
- Roleplayのチャットを開き、Chat Settings(チャット設定)をクリックします。
- Enable Agentsをオンにします。
- Tracker Agentsの下でWorld Mapsを有効にします。
- Edit world mapまたはWorld map libraryを開きます。対応しているEngineでは、デスクトップの上部バーにある地球儀のアイコンから同じライブラリーを開けます。モバイルでは、Chatsのドロワーにある地球儀のアイコンを使います。
ライブラリーは、どこから開いても同じように動作します。独立したテンプレートのコピーがほしいときはAdd to chat、継続して使う共有ワールドにつなぐときはLink to chatを使います。
Game
Gameの初期設定でWorld Mapsを選ぶと、次のいずれかの作成方法を選べます。
- Create with AIは、生成した階層を確認用に用意します。
- Use templateは、Gameを作成する前にワールドライブラリーを開きます。
- Build manuallyは、編集できる空の階層から始めます。
- From the world(世界から)は、Gameが世界を作るときに表示されます(世界を作るを参照)。その世界の地域、集落、場所と、それらを結ぶ道を移動時間とともにマップとして配置します。保存する前に内容を確認できます。AIによる生成は不要で、マップの場所は世界の場所そのものです。プレイ中は、マップと世界が連動します。Game Masterと市場は、マップ上でパーティーがいる場所を使います。Game Masterが世界の場所の名前を挙げると、マップはパーティーをそこへ移動させます。World Maps 1.6.0以降では最短の経路をたどります。それより前のバージョンでは、内側の場所、それを囲む場所、道でつながった場所のいずれかへ1段階だけ移動します。
Use templateを選ぶと、選択画面には最初にShared worldsが、次にIndependent templatesが表示されます。
- Use shared worldは、新しいGameをアカウント所有の正式なワールドにリンクします。Gameは自分の現在地、履歴、スナップショット、ひも付け、未公開の発見を引き続き個別に保持します。
- Use templateは、確認用にGameが所有する作業用コピーを作ります。アカウントのテンプレート自体が編集されることはありません。
選んだリソースの場所が、そのまま階層の初期状態の世界になります。代わりの通常のGameマップが繰り上がって使われることはありません。
既存のGameにあとからWorld Mapsを追加することもできます。Chat Settings → Agentsから行います。
マップテンプレートの作成と再利用
World Maps → Open world libraryを開きます。テンプレートは1つのチャットではなくアカウントに属するので、繰り返し使う二次創作の世界、キャンペーンの舞台、ダンジョン、都市に向いています。
ライブラリーでは、テンプレートを手動またはCreate with AIで作成する、.hierarchical-map.jsonファイルをインポートする、テンプレートを検索、表示、編集、エクスポート、削除する、開いているRoleplayまたはGameのチャットでAdd to chatを使う、Gameの初期設定でUse templateを選ぶ、といった操作ができます。
使うたびに独立した作業用コピーが作られます。あとからテンプレートを編集しても、すでにコピーしたチャットは変わりません。逆にチャット側の編集もテンプレートには影響しません。
テンプレートは、アカウント全体で使えるGlobal Galleryの画像への参照を保持します。チャットでSave as templateを使うと、Mapsは参照されているチャットの画像をGlobal Galleryへ引き上げ、同じ共有画像がすでにあればそれを再利用します。共有されるのは画像だけです。適用した各マップは、あくまで独立したコピーです。
複数のチャットを1つの共有ワールドにリンクする
複数のRoleplayまたはGameのチャットで同じ階層を参照したいときは、World map libraryのShared worldsを使います。空の共有ワールドを作成する、インポートする、テンプレートをMake sharedで引き上げる、保存済みのチャットのマップを開いてMake sharedを選ぶ、のいずれかで用意できます。最後の方法では、参照しているチャットの画像がGlobal Galleryへ引き上げられ、共有ワールドが作られ、元のチャットがそこにリンクされます。
ライブラリーに操作対象として表示されているチャットをつなぐにはLink to chatを選びます。現在地と、キャンペーンの履歴がすでに使っている場所IDは、共有ワールド側に存在している必要があります。存在しない場合はIndependent copyを使うか、先にそのチャットの現在のマップを新しい共有ワールドへ移行してください。
リンクしたチャットが共有するのは、マップの定義とGlobal Galleryの画像だけです。メッセージ、現在地、移動のスナップショット、Gameの状態、Gameマップとのひも付け、プロバイダーへの接続、認証情報は共有されません。
リンクしたチャットの中で行った編集や発見は、そのチャットの未公開の下書きとして保存されます。Publishを選ぶまで、正式なワールドにも他のチャットにも反映されません。下書きはDiscardで破棄することも、Detach and keep copyでチャットの現在のバージョンを保ったまま共有をやめることもできます。下書きが残っている間に正式なワールドが変更された場合、Mapsは競合として報告し、どちらかを黙って上書きせずに切り離しか破棄を求めます。
公開すると、このブラウザータブにキャッシュされている、未編集のリンク済みチャットのエディターは、新しい正式なリビジョンに更新されます。未保存の作業があるエディターは、上書きされずに下書きを保ち、競合を表示します。ほかのブラウザータブやウィンドウで開いているリンク済みチャットは、開き直すと新しいリビジョンが読み込まれます。
ライブラリーから共有ワールドを編集した場合は、正式な定義が直接更新されます。共有ワールドのエディターには、場所を完全に削除する操作がありません。IDを安定して残せるようにアーカイブしてください。リンクしたチャットでも、Detach and keep copyを選ぶまでは場所を完全に削除できません。共有ワールド自体も、リンクしているチャットをすべて切り離すかリンクし直すまで削除できません。
共有ワールドとテンプレートは、画像ファイルを各チャットにコピーせずにGlobal Galleryの画像への参照を保持します。保存済みのテンプレート、共有ワールド、独立したチャットのマップ、リンクしたチャットの下書きのいずれかがまだ参照している間、MarinaraはGlobal Galleryの画像の削除をブロックします。画像そのものを削除したいときは、先に参照を外してください。
切り離し、差し替え、作り直し
これらの操作は、それぞれ目的が異なります。
- リンクしたチャットの現在の階層を残したまま共有をやめるには、エディターの未保存の変更を保存するか破棄してから、Detach and keep copyを選びます。そのチャットは独立したものになり、以降は正式なワールドの更新を受け取りません。
- 共有は続けたまま別の正式なワールドに切り替えるには、操作対象として表示されているチャットのワールドライブラリーを開き、差し替え先でLink to chatを選びます。履歴との整合性の確認は同じように行われます。
- 独立したチャットのマップを差し替えるには、そのエディターを開いてReplace / start overを選びます。先にテンプレートとして保存したりバックアップをエクスポートしたりしてから、Create with AI、Use template or shared world、Import map file、Start blankのいずれかを選べます。
- まったく関係のないマップに入れ替えたいときも、同じ差し替えの流れを使います。エージェントをいったん削除して追加し直しても、マップはリセットされません。
差し替えた内容はSaveをクリックするまで作業用コピーのままです。差し替えを保存すると、予約中の行き先やルートは取り消されます。メッセージ履歴が場所IDを参照するようになったあとは、過去のパンくずを守るために、無関係なマップへの差し替えが拒否されることがあります。その場合は独立したコピーを保ったまま、既存のマップを拡張するかアーカイブしてください。
マップエディターの見方
デスクトップでは、エディターは3つのペインに分かれます。画面が狭いときはHierarchy、Local、Detailsのタブを切り替えます。
- Hierarchyは階層全体を表示します。場所を選ぶとその内容を編集できます。Enterで表示する階層の位置が変わるだけで、物語上の現在地は動きません。
- Localは現在地の直下の子を、リスト、配置マップ、レイヤー順のいずれかで表示します。
- Detailsでは、場所の文章、階層、ロア、画像、リンク、状態、Gameマップとのひも付けを編集します。
エディターのヘッダーには、AIによる作成の操作、Templates、Export、Import、Enabledスイッチ、Saveがあります。保存していない変更があるとUnsavedと表示されます。保存せずに離れようとすると、破棄してよいか確認されます。
場所に設定できる内容
場所ごとに次の情報を持てます。
- 親1つと、任意の数の子
- Region、Settlement、Place、Building、Floor、Roomのいずれかの種類
- 名前とアイコン
- 公開用の説明文と、モデル向けの非公開メモ
- 短い認識用の要約
- その場所限定のロアブックへのリンク
- 他の場所への一方向または双方向の直通リンク
- 子の見せ方(List、Map、Layers)
- 場所の参照画像と、画像を使うかどうかのトグル
- Map表示を使うときの、子マップ専用の背景
- 有効またはアーカイブ済みの状態
Map表示では、子をドラッグして配置するか、XとYの座標を0から100までの数値で入力します。選んだ親には、子の背後に表示するGalleryの画像も設定できます。Layersでは、子ごとに重ならないレイヤー順を指定します。
直通リンクは、階層の中で条件を満たす場所どうしを自由につなげます。町と町を結ぶ渡し船、選んだフロアどうしをつなぐ階段、世界間のポータル、別の建物の部屋どうしをつなぐ隠し通路などです。
25階建ての塔は、25段の親子の連なりではなく、1つの塔の下に並ぶ兄弟としてフロアを表すのが基本です。マップは最大5,000か所、階層は20段までです。
AIでマップを下書き・拡張する
空のマップからはCreate with AIまたはDraft with AIをクリックします。すでにマップがある場合はExpand with AIをクリックします。
何を読ませるかを選ぶ
Build fromで、次のいずれかの情報源を選びます。
- Game setupは現在の設定内容とキャラクターを使います。Gameでは、世界の概要とパーティーのキャラクターが含まれます。
- Selected loreは選んだロアブックを使います。Strict canonはロアに根拠のある場所だけを作ります。Canon + expansionは、世界観に合う場所の追加を許可します。
作成機能はターンの履歴を読みません。設定内容やロアに書かれていないことは、What should this world include?またはWhat should be added?に書き足してください。
規模を選びます。
| 規模 | 生成される場所の目安 |
| Small | 8か所 |
| Medium | 16か所 |
| Large | 28か所 |
生成されるのは下書きで、保存済みのマップではありません。プレビュー全体を検索したり展開したりして場所を選び、パス、説明文、モデル向けの非公開メモ、どのロアに基づくかを確認します。続ける前にEdit prompt、Regenerate、Discard draftを使えます。
モデルが返したJSONの形式が崩れていても内容が完結している場合、World Mapsは形式だけを直す修復を1回試みます。修復のリクエストでは、JSONの構文だけを直し、生成されたすべての場所と値をそのまま残すようモデルに指示します。途中で切れた応答は修復に回しません。代わりに、接続のMax Output Tokens(最大出力トークン数)を増やすか、より小さいマップの規模を選んでから再試行するよう案内します。
新しいマップならContinue to editor、拡張ならAdd to working mapをクリックします。キャンペーンの履歴が場所IDを参照するようになったあとは、Mapsが既存の参照を守るため、無関係な全面差し替えではなく拡張だけを許可します。
マップを手動で作成・編集する
空のマップからはBuild manuallyをクリックします。Mapsは大きなくくりの開始地点を1つ作ります。それを階層で選んでから、次の操作を使います。
- Add child: 選んだ場所の内側に場所を作る
- Add sibling: 同じ親の下に、隣り合う場所を作る
- Duplicate: 場所とその配下をコピーしてから編集する
- Archive: 過去の参照を消さずに場所を使わなくする
物語の出発点はSet as starting locationで決めます。階層を有効にするには、有効な開始地点が必要です。エディターに表示された問題を解決してからEnabledをオンにし、Saveをクリックします。
モデルに届く情報を理解する
有効かつ保存済みのマップがあると、生成のたびに次の内容を含む正式な空間コンテキストのブロックが1つ渡されます。
- 現在のパンくずのパス
- 現在地の正確なIDと公開用の説明文
- 現在地のモデル向け非公開メモ(設定されている場合)
- 1回の移動で行ける行き先
- 有効な既知の場所とその正確なIDの、件数を制限した一覧
既知の場所の一覧があることで、返答は保存済みの世界の別の場所への到着も認識できます。近くの行き先は、通常の描写やCYOAの選択肢にも活かせます。
親の名前は位置関係の手がかりになりますが、親の説明文、親の非公開メモ、親の画像、親にリンクしたロアは引き継がれません。現在地がTower → Floor 7 → Alchemy Labなら、有効になるのは実験室の情報だけで、塔とフロアはパンくずに名前を提供するだけです。
Private model memoryは保存したAI専用のメモで、自動で更新される記憶機能ではありません。秘密、雰囲気、その場に残り続ける危険、土地固有のルール、その場所でだけ有効にしたい事実に使ってください。モデルに必ず届けたい情報は、認識用の要約だけに頼らず、公開用の説明文かモデル向けの非公開メモに書きます。
物語の中で移動する
Mapsは、予約した移動、あらかじめ計画したルート、ユーザー主導の到着の検証に対応しています。移動はターンと一緒に保存されるので、現在地は選ばれているメッセージ履歴とスワイプに追従します。Marinaraを再起動しても、現在地が意図的にリセットされることはありません。メッセージの分岐やスワイプを切り替えると、その履歴と一緒に保存された空間のスナップショットが復元されます。
行き先を明示して予約する
行き先を選ぶと移動が予約され、その場では移動しません。次に送るメッセージと同時に移動が確定するので、現在地とターンのずれが起きません。
1回の移動で行ける場所は次のとおりです。
- 現在地の親
- 現在地の有効な子
- 使える直通リンクでつながった場所
1ターンで確定できる階層の移動は1段階だけです。予約した行き先はXで取り消せます。送信前にマップの版か現在地が変わった場合、予約中の移動はNeeds reviewになります。
ガイド付き生成、再生成、続きの生成は新しいユーザーターンを作らないため、予約中の行き先やルートの段階を消費しません。Impersonateはユーザーメッセージを作成します。そのため、Impersonateしたターンが成功すると、予約中の移動が1回確定します。プロバイダーが失敗した場合は何も確定せず、古くなった移動は現在地を変えずに確認待ちに戻ります。
複数ターンのルートを計画する
ワールドマップで離れた有効な場所を選びます。親子関係と使えるリンクの経路がつながっていれば、Mapsは最短ルートを表示し、Plan routeを提示します。
ルートは最初の1歩を予約します。以降はユーザーのターンを送るたびに1歩ずつ確定し、次の1歩を予約しながら目的地まで進みます。ルートを進めるための専用のボタンはありません。ルートはいつでも取り消せます。マップや現在地が想定外に変わった場合、ルートは新しい経路を推測せずにNeeds reviewになります。
たとえばFloor 1から兄弟のFloor 25へ移動するには、通常は塔へ出るのに1ターン、Floor 25へ入るのにもう1ターンかかります。直通リンクがあれば、この移動は1歩で済みます。
ユーザー主導の移動への追従と、新しい場所の発見
マップの自動更新の根拠になるのは、直近のユーザーメッセージです。
- 焦点になっているパーティーの移動を現在形または命令形で直接書くと、到着が確定します。「Kitchenへ行く」「彼女が屋外の区画へ入っていくので、私たちもついていく」のような文で、一致する既知の場所へ移動できます。
- 名前があり、その後も残り、また訪れられる重要な場所への到着や発見をはっきり書くと、その場所を世界に追加できます。「隠し部屋を見つける」と書けば、その場所を作ってそこへ入れます。
- 表示される返答はその結果を描写できますが、AIの描写だけで移動や新しい場所が認められることはありません。
- これからの意図、失敗した移動や途中で終わった移動、言及、NPCだけの移動、想像上の場所、一時的な野営地、廊下、乗り物といった一時的な要素では、場所は作られず現在地も動きません。
書き方を解釈して隠しMapsディレクティブを出力するのは、あくまでモデルの役目です。アプリはその内容を検証します。あいまいな文章では、言語モデルごとに判断が分かれることがあります。次のターンで確実に移動させたいときはSet destinationを、すでに保存された状態を直したいときはSet current story locationを使ってください。
Marinara Engine 2.4.1以降では、完全なMapsの移動・発見の指示は、ストリーミング中の本文と保存されたメッセージから取り除かれます。通常の角括弧付きの文章とその空白は変わりません。生のMaps指示がメッセージに表示された場合は、Marinara EngineとWorld Mapsの両方をアップデートし、求められたら再起動したうえで、該当するメッセージを再生成するか削除してください。そうすれば、その指示が後のコンテキストで再び使われることはありません。
検証を通ったユーザー主導の到着は、1回の移動で行ける範囲という制限を越えられます。必要な場合、Mapsは現在地からの直通リンクを使えるものとして記録します。すでに行き先を予約していた場合は、その予約分がまずユーザーのメッセージと一緒に保存され、続いてユーザー主導の到着が返答側の最終的な現在地になります。1回かぎりの予約はこの時点で解除されます。ルートを計画している場合、次の予定どおりの場所へ到着すれば通常どおり進みます。それ以外の場所へ到着した場合は、ルートの先の段階へ飛んだときも含めて、ルートはNeeds reviewになり、Mapsが計画を黙って書き換えることはありません。そのルートは、到着後の現在地から取り消すか計画し直してください。
開始地点と現在の物語上の場所の違い
開始地点は、新しい物語を始めるときのデフォルトの場所です。現在の物語上の場所は、そのチャットが今いる場所です。開始地点を変更しても、すでに進んでいるチャットの現在地は直りません。
保存済みの状態を直すには、エディターのDetailsペインで有効な場所を選び、Set current story locationを選びます。これは物語として移動するのではなく、管理上の修正です。Saveをクリックした時点で反映され、予約中の行き先やルートは取り消されます。過去のメッセージが書き換えられることはありません。
Roleplayでの移動
Story locationの操作はメッセージ入力欄の上に表示されます。
- 物語のマップを開いて、階層と現在のパンくずを確認します。
- 場所を選んで説明文を読みます。
- Explore inside、Browse up、パンくずを使うと、移動せずに見て回れます。
- 到達できる場所にはSet destination、到達できる遠くの目的地にはPlan routeをクリックします。
- 次のメッセージを送ると、予約した1歩が確定します。
Gameでの移動
Game ModeにはHierarchical world mapが加わります。You are hereが現在の物語上の場所を示します。見て回る、中心に合わせる、内容を確認するといった操作ではパーティーは動きません。行き先かルートを予約してから、次のGameのターンを送ってください。
直近のユーザーメッセージがパーティーの到着をはっきり示している場合、生成されたGameの返答は、階層上の場所を更新する隠しコマンドを出力できます。更新後は現在地の情報が、GM、パーティー、シーンの画像、条件を満たす絵コンテの参照の土台になります。
階層のワールドマップと通常のGameマップの違い
Gameには2種類のマップの仕組みが共存できます。
- World Mapsは、
The Shattered Coast → Brinewatch → Tideglass Innのような、物語や世界の中での正式な場所です。 - 通常のGameのグリッドマップやノードマップは、その物語上の場所の内側にある局所的・戦術的な情報で、Gameの時間と天候にも関わります。
World MapsがGameの初期設定を担当する場合、選んだテンプレートまたは確認済みの下書きが初期状態の世界になります。通常のGameマップは、プロンプトの入力として使い回されることも、代わりの階層として繰り上げられることもありません。
さらに踏み込んだ使い方として、階層上の場所をGameマップ全体、1つのグリッドのマス、1つのノードにひも付けられます。ひも付けたGameの位置を選ぶと、対応する階層の移動が準備されます。ひも付けていない位置は、通常どおりの戦術的な動作のままです。ひも付けを編集する前に階層を保存してください。ひも付けを解除しても、どちらのマップも削除されません。
場所に見た目の個性を与える
場所の参照画像と子マップの背景は、同じGalleryの画像を使っていても別々に扱われます。
| 画像 | 用途 | 画像生成に送られるか |
| Location reference image | 現在いるその場所の見た目を固定します。チャットまたは共有のGlobal Galleryの画像を選ぶか、AIで作成します。 | 送られます。Use for Roleplay illustrations and Game storyboardsが有効で、条件を満たすリクエストの場合のみです。 |
| Child map background | Map表示を使う親の下で、動かせる子の場所の背後に表示します。マップのレイヤーごとに別々の背景を設定できます。 | 送られません。表示専用です。 |
キャラクターやペルソナの参照が「誰がいるか」を保つのに対し、場所の参照は「どこで起きているか」を保ちます。プロバイダーが対応していれば、両方を組み合わせることで、複数の画像にわたってキャラクターと背景の両方を一貫させやすくなります。
条件を満たす場所の参照が添付されると、画像生成のパイプラインは次の指示を追加します。
場所の扱い: 添付された場所の参照画像を利用できます。この画像を使って、シーンの場所を設定してください。
参照画像の上限はプロバイダーごとに異なります。リクエストで明示した参照やキャラクターの参照が多いと、自動で付く参照の入る余地はその分減ります。
場所の参照画像を設定する
エディターで場所を選び、Location reference imageを開きます。
- Choose artworkは、現在のチャットまたは共有のGlobal Galleryから、確認済みの画像を割り当てます。選択画面には画像ごとの出どころが表示されます。
- Create with AIは、編集できる情景描写のプロンプトを開き、使うかどうかを決める前に結果をGalleryへ保存します。
- Use for Roleplay illustrations and Game storyboardsは、選んだ画像を条件を満たす生成に使うかどうかを切り替えます。
Map表示を使う親では、Child map backgroundを別途開きます。Galleryの画像を選び、子のマーカーの背後に配置します。この画像は、マップ上に表示されているというだけでプロバイダーに送られることはありません。100 × 100の座標グリッドに合わせて、1024 × 1024 pxなどの正方形の画像を使ってください。エディターとチャット中の表示では、同じ正方形のキャンバスを使います。
1枚のGallery画像が両方の役割を担っている場合、Remove reference only(参照だけを外す)を使うと、その画像は子マップの背景として残ります。画像がどちらの役割にも合わない場合は、Reject both and create replacement(両方を却下して代わりを作る)を使ってください。生成後にUse for both(両方に使う)を選ぶと、新しい画像を場所の参照画像と子マップの背景に一度に割り当てます。
未設定の場所の画像をまとめて生成する
エディターのLocation artworkでは、参照画像や子マップの背景が未設定の場所を探せます。
- Review requestsをクリックします。
- プロバイダーへのリクエストを消費する前に、件数を確認します。
- 画像用の接続、モデル、Engineのスタイル、キャンペーンの画風の設定、保存済みの画像への指示、出力サイズを確認します。
- 必要に応じて、ポジティブとネガティブのプロンプトをすべて編集します。
- 確認を取り消すか、Generate N imagesをクリックして確定します。
- 生成された画像を作業中のマップで確認し、Saveをクリックします。
未設定の画像1枚ごとに、プロバイダーへのリクエストが1回発生します。大きな世界では時間も費用もかさむため、確認画面はスクロールでき、件数も常に見える状態を保ちます。既存の画像は、可能なかぎり追加のリクエストなしで再利用します。新しく生成した画像は場所の参照画像になり、そのマップに背景が必要な場合は子マップの背景にもなります。
保存済みのGalleryリンクの画像がもう存在しない場合も、未設定として扱います。生成の実行中に場所を編集した場合、Mapsは結果を、まだ未設定のままの画像の役割にだけ適用します。新しく選んだ差し替え画像、参照のスイッチ、背景の位置、アーカイブの状態、関係のない下書きの編集は、完了したリクエストによって上書きされません。
確認画面に表示されている、編集後のポジティブとネガティブのプロンプトがそのままプロバイダーへ送られます。ポジティブのプロンプトの内容がネガティブ側へコピーされることはありません。
自動生成の画像プロンプトをカスタマイズする
Settings → Generations → Prompt Overridesを開き、Maps location artworkを選びます。これは、Mapsが場所の画像をプレビューして自動生成するときに使う全体のテンプレートです。変数は${variableName}の形式で書き、エディターから挿入できます。
| 変数 | 意味 |
${locationName} | 場所の名前 |
${locationDescription} | その場所の公開用の説明文 |
${locationType} | Region、Settlement、Place、Building、Floor、Roomのいずれか |
${locationPrompt} | Mapsが用意した、情景描写の完全な代替プロンプト |
${parentLocationName} | 直接の親の名前。ルートでは空 |
${parentLocationDescription} | 直接の親の公開用の説明文。ない場合は空 |
${locationPath} | ルートからその場所までのパンくず全体 |
${genre} / ${genreLine} | Gameのジャンル(そのまま/句読点付き)。Game以外では空 |
${campaignArtStyle} / ${campaignArtStyleLine} | Use campaign art styleがオンのときだけ入るキャンペーンの画風 |
${imageInstructions} / ${imageInstructionsLine} | Chat Settingsに保存した画像への指示(そのまま/整形済み) |
組み込みのテンプレートは、その場所のプロンプトに加えて、任意でジャンル、キャンペーンの画風、保存済みの画像への指示を使います。親の説明文とパス全体をデフォルトで含めないのは意図的な設計で、塔のような親の目印がすべての子やフロアの画像に入り込むのを防いでいます。
よくあるカスタマイズは次のとおりです。
- 自動生成のマップ画像にGameのジャンルを入れたくない場合は、
${genreLine}を削除します。 - チャットごとのUse campaign art styleトグルでその内容を制御したい場合にだけ、
${campaignArtStyleLine}を残します。トグルがオフのとき、この変数は空になります。 ${parentLocationName}、${parentLocationDescription}、${locationPath}は、プロバイダーに広い文脈が必要なときだけ追加します。- 組み込みのテンプレートに戻すにはReset to defaultを使います。
Engineのスタイルプロファイルと、全体のポジティブとネガティブの画像設定は、このテンプレートのあとに適用されます。これらはMaps専用の設定ではなく、Illustratorや画像生成で共通の設定です。ネガティブのプロンプトに身に覚えのない文字列が残る場合は、全体のネガティブ画像設定と、確認画面の編集欄を確認してください。
場所にロアをリンクする
World Mapsは、ロアを2つの形で使います。
- AIによる作成機能が、下書きや拡張のときに選んだロアブックを読みます。
- 保存済みの場所が、そこが現在地である間だけエントリーを有効にします。
実行時のロアをひも付けるには、場所を選んでLinked loreを開き、使えるエントリーを検索して、必要なものをひも付けてから保存します。
ひも付けたエントリーでOpen(開く)を選ぶと、マップの作業領域を離れてそのロアブックを開きます。作業領域に変更がなければ、そのまま閉じます。マップに未保存の変更がある場合は、先に保存するか、下書きを破棄してよいことを明示的に確認してください。World Mapsが、表示されたままのマップエディターの裏でロアブックを開くことはありません。
ひも付けたエントリーは親から子へ引き継がれません。Brinewatchにひも付けたロアは、Tideglass Innにも同じくひも付けないかぎり、そこでは有効になりません。
現在地のロアはキーワードの一致を必要としませんが、ロアブック側の制御を素通りするわけではありません。無効になっているロアブックやエントリー、そのチャットから除外されているロアブックやエントリーは使えないままで、エントリーの条件、タイミング、確率、トークン予算も引き続き適用されます。参照が見つからない場合もエディターには表示されるので、修復するか、ひも付けを外せます。
Mapsの高度なプロンプト設定
Agents → World Mapsのメインページには、全体に効く2つのプロンプトの仕組みがあります。
- Generation promptは、AIによるマップの下書きと拡張のための、Roleplay/Game向けの名前付きライブラリーです。チャットごとに別々の選択肢を選べます。プレビューは、モデルへのリクエストを発生させずに、実際の設定内容、キャラクター、ロア、マップのコンテキストを使って解決結果を表示します。
- Turn prompt insertは、通常のターンで現在地を提示する、Roleplay/Game共通のシステム文を制御します。Marinaraはその周囲に、アプリが管理する
<spatial_context>の囲みと、正式な情報であることを示す必須の変数を維持します。
同じページのConnection Overrideは、AIによるマップの下書きと拡張に影響します。現在のチャットの接続を使う場合は空のままにします。これらの設定は、全体のGeneration設定にあるMaps location artworkの上書きとは別物で、置き換えるものではありません。
これらは高度なカスタマイズ向けの設定です。必要な変数を残し、保存する前に解決結果のプレビューで確認してください。
安全にインポート、エクスポート、アーカイブする
ポータブルマップをエクスポートする
チャット、テンプレート、共有ワールドのエディターでExportを使うと、作業中の階層を.world-map.jsonファイルとしてダウンロードできます。ダウンロードする前に、リンクしたロアをどこまで含めるかを選びます。
| ロアのオプション | ファイルの内容 |
| Map only | 階層と、場所とロアの対応を読み取れる出典情報。ロアブックの内容は含まないため、欠けたエントリーは再作成できません。 |
| Map + linked entries | マップがリンクしているエントリーと、それらを整理するのに必要なフォルダーのパスだけ。持ち運び用として推奨されるオプションです。 |
| Map + complete lorebooks | リンクしている各ロアブックのすべてのエントリーとフォルダー。マップと関係のない内容も含みます。 |
ファイルを共有する前に、一覧に表示されたロアブック、エントリー数、推定サイズ、展開できる場所とロアの対応を確認してください。完全なロアブックには、非公開のメモや関係のないメモが含まれていることがあります。
Include map artwork(マップの画像を含める)をオンのままにすると、参照している場所の画像と子マップの背景を同じファイルにまとめます。バックアップを小さくしたいときはオフにしてください。古い.hierarchical-map.jsonファイルも引き続きインポートできます。
マップをインポートしてポータブルロアを復元する
Importを使うと、階層をチャットの作業用コピー、独立したテンプレート、共有ワールドのいずれかに読み込めます。ファイルにロアブックの内容が含まれている場合、Restore portable map loreはExact IDs、Unique content、Need a choice、New entriesの4つのグループをプレビューします。
エントリーIDの完全一致が確定扱いになるのは、そのIDがインポート先のロアブックに属している場合だけです。別のソースのIDは自動的な一致ではなく、あいまいなものとして扱われます。インポート先の正確なLorebook → Entry (ID)の行か、Import a new copyを選んでください。それ以外の場合、World Mapsがエントリーを再利用するのは、持ち運べる内容と設定の全体が一意に一致するときだけです。名前だけでは一致とみなされません。
想定される結果を確認してから、インポート全体の方針を選びます。
- Import separate copiesはエントリーを1つも再利用しません。
Original Lorebook - Map Name (World Map)のように出どころを示す名前を付けた独立したロアブックを作り、ライブラリー内の名前の衝突を避けるために(copy)または(copy N)を付けます。 - Reuse matches & import the restは、完全一致と一意の一致を使い、あいまいな行には選んだ内容を適用して、まだインポートが必要なエントリーにだけ新しいロアブックを作ります。
インポート後、Mapsは実際に再利用したロアブックと作成したロアブックを一覧表示します。作成したコピーは、あとでマップを削除してもLorebooksのライブラリーに残ります。Engine 2.4.1以降では、メインのLorebooks画面がすぐに更新されます。Engine 2.3.5~2.4.0では、ポータブルロアを復元したあとにMarinaraを1回更新してください。
同梱された画像も復元され、画像へのリンクが付け替えられます。チャットが所有する画像は、インポート先のチャットのGalleryに戻ります。共有の画像は、同じ画像がすでにGlobal Galleryにあればそれを再利用し、テンプレートや共有の参照に必要な場合はGlobal Galleryに1回だけ追加します。
インポートしたマップを確認し、Saveをクリックして正式なマップとして反映してください。インポートしただけでは、すぐには保存されません。Map onlyのエクスポートは、読み取れるロアの出典情報と既存の完全一致IDのリンクを保てますが、ロアブックやエントリーの内容がファイルに含まれていないため、削除されたものは再作成できません。
キャンペーンの履歴がマップを参照するようになったあとは、インポートする変更でも既存の場所IDを保つ必要があります。階層を無関係なIDで置き換えるのではなく、場所を追加または更新してください。
場所をアーカイブまたは完全に削除する
アーカイブは古い参照を保ちます。場所をアーカイブする前に、次の点を確認してください。
- 有効な子は移動するかアーカイブする
- 必要であれば別の有効な開始地点を選ぶ
- その場所が実行時の現在地であれば、代わりの有効な場所を選ぶ
アーカイブした場所は、Detailsのペインから元に戻せます。World Maps 1.3.1では、アーカイブ済みの場所や、配下がすべてアーカイブ済みの枝を安全に取り除ける場合に、Delete permanentlyも使えます。保存済みの開始地点または現在の物語上の場所である、メッセージ履歴に登場する、Gameマップとひも付いている、予約中の行き先やルートに含まれる、共有ワールドにまだリンクしているチャットに属している、のいずれかに当てはまる場合、エディターはこの操作を無効にします。共有ワールドとテンプレートのエディターには、場所を完全に削除する操作がありません。まず表示された依存関係を解消するか、必要に応じてリンクしたチャットを切り離すか、その場所をアーカイブしたままにしてください。
完全な削除は、Saveをクリックした時点で作業中の下書きからその場所を取り除き、階層と直通リンクの参照も整理します。保存せずに閉じた場合、削除は破棄されます。削除した場所はエクスポートに含まれなくなります。一方、保護されたまま残っているアーカイブ済みの場所は、履歴やひも付いたデータを支えるIDを安定して残すために、引き続きエクスポートされます。この保護を回避するために、エクスポートしたJSONを編集しないでください。
トラブルシューティング
Chat SettingsにWorld Mapsが表示されない
パッケージをインストールして、Marinaraを再起動します。チャットはRoleplayまたはGameである必要があります。Enable Agentsをオンにしてから、Tracker Agentsの下でWorld Mapsを有効にします。
ワールドライブラリーにAdd to chatやLink to chatがない
ライブラリーを開く前に、RoleplayまたはGameのチャットを開いてください。ライブラリーには操作対象のチャットの名前が表示され、テンプレートにはAdd to chat、共有ワールドにはLink to chatが表示されます。Gameの初期設定では、これに相当する操作がUse templateとUse shared worldです。共有ワールドが一覧に並んでいるのにUse shared worldが表示されない場合は、ブラウザーがまだ古いパッケージのクライアントを実行している可能性があります。開いているマップエディターを保存するか破棄してから閉じ、ほかのタブで関係のない作業を保存したうえで、Marinaraを1回だけ強制的に再読み込みし、Gameの初期設定を開き直してください。
Gameの初期設定で意図しない場所や代わりの場所が使われた
初期設定を完了する前に、Use templateを選び、独立したコピーならUse templateを、リンクならUse shared worldを確定してください。そのうえでGameのマップを確認して保存します。
リンクしたチャットに古い共有ワールドが表示される
公開したタブにあるエディターは、自動的に更新されます。未保存または未公開の変更があるチャットは、下書きを保って競合を表示します。ほかのタブやウィンドウにあるチャットは、開き直すと新しいリビジョンが読み込まれます。
マップを有効にできない
有効な場所を1つ以上作り、有効な開始地点を設定します。エディター上部に表示されている問題をすべて解決してから、もう一度有効にして保存してください。
AIによるマップ生成が使えない、または失敗する
- チャット、またはWorld MapsのページのConnection Overrideに、動作する言語モデルの接続が設定されているか確認します。
- AIによる作成画面を開き直す前に、エディターの変更を保存するか破棄してください。拡張の場合は有効な対象を選びます。ロアに基づく生成の場合は、有効でチャットから除外されていないロアブックを1つ以上選びます。
- 完全なJSONになる前に応答が終わったとMapsが報告した場合は、接続のMax Output Tokens(最大出力トークン数)を増やすか、より小さいマップの規模を選びます。Mapsは途中で切れた応答を修復しません。
- MapsがJSONの形式の崩れを報告した場合、構文だけの修復はすでに1回試されています。もう一度試してください。モデルが失敗し続ける場合は、別の接続かモデルを使ってください。
メッセージを送っても現在地が変わらない
自動での移動には、直近のメッセージがパーティーの到着を直接示していることと、モデルが有効な隠しMapsディレクティブを出力することが必要です。AIの描写だけ、意図、相談、失敗した移動、NPCだけの移動、一時的な場所では、現在地のマーカーは動きません。「Kitchenへ行く」のような直接的な書き方を試してください。次のターンで確実に移動させたいときはSet destinationを使います。
チャットを開き直したら現在地が変わっていた
選ばれているメッセージの分岐とスワイプを確認してください。現在地は、その履歴と一緒に保存されたスナップショットに追従します。履歴は正しいのにマーカーが間違っている場合は、エディターを開いて正しい有効な場所を選び、Set current story locationを選んでSaveをクリックします。
行き先やルートがNeeds reviewと表示される
移動を予約したあとに、マップの版か現在地が変わっています。物語のマップを開いてパスを確認し、行き先かルートを選び直してください。まだ表示されている行き先は、いったん取り消してから選び直します。
計画したルートが進まない
ユーザーのターンを送るたびに、表示されている1歩が確定し、次の1歩が予約されます。ターンを送ってもルートが進まない場合は、いったん取り消して現在地から計画し直してください。保存されている現在地が間違っている場合は、Set current story locationとSaveを使います。これで古いルートは取り消されます。
このチャットにまったく別のマップを使いたい
エディターを開いてReplace / start overを選びます。必要なら、先にテンプレートとして保存するかエクスポートしてください。チャットがリンクしていて、その階層を残したい場合は、先にDetach and keep copyを使います。World Mapsを削除して追加し直しても、マップは消えません。
離れた場所を選べない
有効な親、子、リンクをたどる経路があればPlan routeを使います。経路がない場合は、直通リンクを追加するか、到達できる場所を1ターンずつ経由して移動してください。見て回るだけでは物語は動きません。
自動生成の画像プロンプトに不要な内容が入る
- Gameのジャンルが必ず入る: Settings → Generations → Prompt Overrides → Maps location artworkを開き、
${genreLine}を削除して保存します。 - オフのはずのキャンペーンの画風が入る: Chat Settings → Illustrator → Use campaign art styleを確認します。オフのときは、
${campaignArtStyle}と${campaignArtStyleLine}は空になります。 - 親の目印がすべての子の画像に入る: 必要な場合を除き、テンプレートで
${parentLocationDescription}と${locationPath}を使わないでください。 - ネガティブのプロンプトに身に覚えのない文字列が入る: 確定する前にネガティブの欄を編集し、そのうえで全体のネガティブ画像設定を確認します。Mapsのテンプレートが組み立てるのはポジティブのプロンプトだけです。
場所の参照画像が画像や絵コンテで使われない
Galleryの画像がまだ存在していること、そして現在いるその場所でUse for Roleplay illustrations and Game storyboardsがオンになっていることを確認します。子マップの背景は表示専用なので、同じ画像を場所の参照画像としても設定しないかぎり、参照の代わりにはなりません。
モデルがマップを無視する
そのチャットでWorld Mapsが有効になっていること、階層がEnabledになっていること、変更が保存されていること、Story locationの操作に現在地が表示されていることを確認します。原因を調べるには、Turn prompt insertの解決結果のプレビューが役立ちます。
リンクしたロアが有効にならない
エントリーが現在いるその場所にひも付いていること、エントリーとロアブックが有効で、チャットから除外されていないことを確認します。親にひも付けたロアは引き継がれません。インポートしたマップの場合は、インポートの概要を確認してください。Map onlyはロアブックの内容を含まないため、Map + linked entriesまたはMap + complete lorebooksでエクスポートしたファイルをインポートし、完全一致、あいまいな場合のインポート先、別コピーのいずれかを選んでください。Engine 2.3.5~2.4.0では、ロアを復元したあとにMarinaraを1回更新してください。
関連ガイド
- エージェント: チャットを支えるAIヘルパー
- ダウンロードできるエージェント一覧
- ロアブック
- Roleplayモード: はじめに
- Game Mode: はじめに
- Game Mode: マップ、時間、天候