テキストアドベンチャーにおける交渉で条件の一貫性を保つ方法:約束、オファー、撤回をどう記録するか?
交渉を第三ラウンドまで書くと、最も起こりやすい問題は条件がひっそりと差し替えられることです。第一ラウンドで相手が「飛行船を三日間貸す」と言い、第二ラウンドで「五日間に貸す」に変わり、第三ラウンドでまた「保証金が必要」と出てくる。プレイヤーが前文を覚えていれば、世界が信じられないと感じます。解決策は作者が暗記することではなく、各発言を三種類の記録に分解することです:オファー、約束、撤回。オファーは「私が何を提案するか」、約束は「双方が何を確認したか」、撤回は「誰がいつどの条項をキャンセルしたか」です。三

ガイド
交渉を第三ラウンドまで書くと、最も起こりやすい問題は条件がひっそりと差し替えられることです。第一ラウンドで相手が「飛行船を三日間貸す」と言い、第二ラウンドで「五日間に貸す」に変わり、第三ラウンドでまた「保証金が必要」と出てくる。プレイヤーが前文を覚えていれば、世界が信じられないと感じます。解決策は作者が暗記することではなく、各発言を三種類の記録に分解することです:オファー、約束、撤回。オファーは「私が何を提案するか」、約束は「双方が何を確認したか」、撤回は「誰がいつどの条項をキャンセルしたか」です。三者を分けて記録すれば、条件は混ざりません。
まず交渉台帳を作る
台帳は複雑である必要はなく、一枚の表で十分です。各ラウンドの交渉前に明確に書きます:誰が話しているか、彼は何を望んでいるか、彼は何を提供する用意があるか、彼は何を明確に拒否するか。以下に架空の教育例で説明します。例の中の数字と原文はすべて創作であり、実測資料ではありません。
物語の背景:プレイヤーは北の風蝕谷へ行くために飛行船を借りたい。飛行船は「グレイホーク商隊」という組織に属し、管理者はレイラという。飛行船の借用権は物語リソースであり、現実の取引とは関係ありません。
第一ラウンドの会話:
レイラ:「飛行船は貸せる、三日間。あなたたちは燃料を満タンにし、さらに一人を私のところに残してマストを修理する。」 プレイヤー:「三日では足りない、五日間欲しい。燃料は我々が出す、人は残せない。」 レイラ:「五日は無理。四日、人は残さなくていい、ただし戻る時に風蝕谷の晶砂を一箱持ってくる。」
このラウンドが終わった時、台帳はこう記録すべきです:
| ラウンド | 話者 | 種類 | 内容 | 状態 |
|---|---|---|---|---|
| 1 | レイラ | オファー | 三日間貸す、プレイヤーは燃料を補充し一人を残してマストを修理 | プレイヤーに拒否された |
| 1 | プレイヤー | 反対オファー | 五日間貸す、プレイヤーが燃料を出し、人は残さない | レイラに拒否された |
| 1 | レイラ | 反対オファー | 四日間貸す、人は残さない、戻る時に晶砂一箱 | 確認待ち |
重要な点:レイラが最初に言った「人を残してマストを修理」はすでにプレイヤーに拒否されており、後文で自動的に復活してはいけません。もし第三ラウンドでレイラが再び「人を残すと約束したではないか」と言えば、それは条件の不一致です。ただし途中のラウンドで明確に再提案され受け入れられた場合を除きます。
「提案」と「受け入れ」を区別する
多くの作者はキャラクターが口にした言葉を直接成立した条件と見なし、その結果後でキャラクターが撤回すると、読者はどちらが正しいかわかりません。有効な方法は各条件に状態フィールドを追加することです:提案、受け入れ、拒否、撤回、期限切れ。
第二ラウンドの会話の続き:
プレイヤー:「四日でいい、晶砂もいい。ただし四日で戻れなければ、晶砂は免除。」 レイラ:「だめ。四日は絶対、晶砂も絶対。一日遅れたら、晶砂は倍。」 プレイヤー:「なら借りない。」 レイラ:「待って。一日遅れたら、もう一箱多く持ってくる、倍にはしない。これが私の限界。」
このラウンドが終わった後、台帳を更新:
| ラウンド | 話者 | 種類 | 内容 | 状態 |
|---|---|---|---|---|
| 2 | プレイヤー | 反対オファー | 四日、晶砂持参、ただし超過時は晶砂免除 | レイラに拒否された |
| 2 | レイラ | 反対オファー | 四日、一日遅れたら晶砂倍 | プレイヤーに拒否された |
| 2 | プレイヤー | 撤回 | 借りないと言う | 交渉一時停止 |
| 2 | レイラ | 反対オファー | 四日、一日遅れたらもう一箱多く、倍にはしない | 確認待ち |
「借りない」は一回の撤回であり、それはプレイヤーが以前に未確認のすべてのオファーを撤回しますが、レイラがすでに提示した条件を自動的に撤回するものではありません。レイラの後の「もう一箱多く、倍にはしない」は新しいオファーであり、古いオファーの修正ではありません。作者がここで「レイラは自分がさっき倍と言ったことを思い出した」と書けば、前後矛盾します。
第三ラウンド:受け入れ、約束、撤回の結果
第三ラウンドで双方が確認:
プレイヤー:「四日、我々が燃料を出し、人は残さない。戻る時に晶砂一箱。一日遅れたら、もう一箱多く、倍にはしない。これだけ?」 レイラ:「これだけ。飛行船は明日日の出時に出発できる。」
ここで初めて最初の「受け入れ済み約束」が現れます。台帳でこの条項を別にマークします:
| 約束番号 | 内容 | 提案ラウンド | 受け入れラウンド | 状態 |
|---|---|---|---|---|
| P1 | 飛行船を四日間貸す、プレイヤーが燃料を出し、人は残さない | 1-2 | 3 | 有効 |
| P2 | プレイヤーが戻る時に晶砂一箱持参 | 1-2 | 3 | 有効 |
| P3 | 一日遅れたらもう一箱多く、倍にはしない | 2 | 3 | 有効 |
約束が一旦成立すれば、後で変更するには「撤回」または「再オファー」を経なければならず、直接上書きできません。例えば第四ラウンドでレイラが条件を追加したい:
レイラ:「考えたけど、やはり一人残してほしい、マストが本当に人手不足で。」
この文は物語内で起こり得ますが、それは「リマインダー」ではなく「撤回」です。作者は彼女が受け入れ済みのP1を覆していると明確に書く必要があります。撤回の結果を事前に表にしておき、執筆時に根拠を持たせます:
| 撤回者 | 撤回内容 | 物語リソースへの影響 | 相手の可能な反応 |
|---|---|---|---|
| レイラ | 人を残すよう要求、P1を覆す | プレイヤーが使用可能なキャラクターを一人失う | プレイヤーは拒否するか、補償を要求できる |
| プレイヤー | 晶砂を持参しない、P2を覆す | 商隊が晶砂一箱失う | レイラは次回の借用を拒否できる |
| レイラ | 一日遅れたら倍、P3を覆す | プレイヤーが一箱多く支払う | プレイヤーは協力を中止できる |
この表はルールエンジンではなく、執筆のヒントに過ぎません。それは撤回に代償があることを保証し、口先で条件を変えることを防ぎます。
各ラウンド終了前の完了チェック
一回の交渉を書き終えたら、以下の五項目を確認:
- このラウンドで誰が新しい条件を提案したか?新しい条件は受け入れ済み約束と衝突しないか?
- 「提案」を「すでに承諾した」と誤解した人はいないか?
- 拒否と撤回は明確に書かれているか?拒否された条件が後文で復活していないか?
- 撤回が発生した場合、どの約束番号を撤回したか?結果は物語リソースに反映されているか?
- 次のラウンド開始時、双方が覚えている条件は台帳と一致しているか?
この五項目がすべて合致すれば、交渉は毎ラウンドで根拠なく価格を変えることはありません。台帳は文書の隅に書いてもよく、プレイヤーに見せる必要はありませんが、作者は必ず一部持つ必要があります。AI生成対話を扱う場合、受け入れ済み約束をコンテキスト要約としてプロンプトに入れられますが、出力は依然として逸脱する可能性があり、人間が台帳に基づいて確認する必要があります。
最後に小さな動作:今書いている交渉シーンを開き、直近三ラウンドの会話にあるすべての条件文を三列の表に書き写します——誰が言ったか、どんな条件か、現在の状態。書き写した後、どの条件が「撤回」や「再オファー」なしに内容が変わっていないか確認します。一つ見つけたら、なぜ変わったかを説明するキャラクターの台詞を一句追加します。


