プレイヤーが選択肢を選ばなかったとき、AIテキストアドベンチャーはどう応答すべきか:実行・追加質問・拒否のテンプレート
プレイヤーが自由入力した後は、まず行動が明確か、現在の世界に適合するか、実行条件を備えているかを判断し、それから実行・追加質問・拒否を決めます。プレイヤーに自由に表現させることは、一言で人物の身元、資源、すでに起きた事実を書き換えられることを意味しません。

ガイド
プレイヤーが自由入力した後は、まず行動が明確か、現在の世界に適合するか、実行条件を備えているかを判断し、それから実行・追加質問・拒否を決めます。プレイヤーに自由に表現させることは、一言で人物の身元、資源、すでに起きた事実を書き換えられることを意味しません。
この DramaFork 設計ガイドでは、架空の物語『雨港失物処』を使って処理方法を説明します。返答と状態変化はすべて教学用の例であり、既存のテキストゲームの動作効果を実測した評価ではありません。
まずプレイヤーが何をしたいのかを解釈し、急いで物語を進めない
プレイヤーが「ちょっと調べてくる」と入力した場合、それは台帳を指すこともあれば、カメラを指すこともあり、受取人の身元を指すこともあります。それぞれ必要な権限、所要時間、情報源が異なります。もし最もドラマチックな項目を直接選んでしまうと、プレイヤーは自分が表現していない行動を負うことになります。
まず行動の対象、動作、必要条件を抽出します。「七三一番の原本登記を確認する」はすでに比較的明確です。「許嵐に信じてもらう」は、プレイヤーがどのように信頼を築くつもりなのかをまだ知る必要があります。「証拠を出現させる」は現在の世界の能力境界に適合しません。
自然言語には多様な表現があり得るため、ルールは意図を中心に処理する必要があります。作者はよくある言い回しのグループに対して同じ判定基準を設け、「記録を照合する」と「台帳を調べる」で矛盾する資源コストが生じないようにすべきです。
一枚の行動表で安定した応答を行う
| 入力状況 | 処理方式 | 返答に必ず含めるもの |
|---|---|---|
| 行動が明確で条件を満たす | 実行 | 実際に起きた動作、コスト、結果、次のステップ |
| 行動の対象または方法が不明確 | 追加質問 | まだ欠けている情報、明確化できる方向 |
| 補える前提が欠けている | 制限を説明し方法を提示 | 現在何が欠けているか、どう前提を取得するか |
| 確定済みの事実または能力と衝突 | その結果を拒否 | 衝突の理由と、なお取れる行動 |
最後の二行はいずれも今回の実行を拒否する可能性がありますが、体験は異なるべきです。鍵がないのは解決可能な障害です。档案員に読心を求めるのは能力が成立しません。両方を同じ「あなたはそうできない」という文にしてしまうと、プレイヤーは資源を探すべきか方法を変えるべきか分からなくなります。
実行:物語と状態を一緒に変化させる
入力例:「私は五分間で七三一の署名を照合する。」
もしプレイヤーが登記副本を持ち、十分な時間もあるなら、次のように返答できます:「あなたは二つの署名を比較し、最後の筆致が異なることに気づく。許嵐は、これはさらなる検証が必要だということだけを示し、なりすまし受領を直接確認できるものではないと注意する。」
その後、既定のルールに従って時間を減らし、新しい観察を記録し、「署名者に連絡する」または「原本スキャンを調べる」などの次のステップを提示します。物語の中で手がかりを発見したと宣言しながら記録を更新しないでください。また、同じ発見を複数の証拠として重複計上しないでください。
実行は情報範囲も守る必要があります。プレイヤーが署名を調べたのであって、同時にカメラを調べたわけではないなら、結果に監視でしか証明できない事実を便宜的に付与すべきではありません。一度の行動の利益が具体的であるほど、後から遡及しやすくなります。
追加質問:プレイヤーの決定権を保つ
入力例:「私は伝票を処理してしまう。」
合理的な追加質問は:「まずこの伝票を封存しますか、それとも破棄しますか?封存は検証の機会を保ち、破棄は原本を失います。」ここでは既知の差異を説明しており、プレイヤーの代わりに選択していません。
追加質問は、欠けている情報が結果を実質的に変える場合にのみ行います。プレイヤーが「台帳をめくって番号を調べる」と言った場合、右手か左手かを再確認する必要はありません。無関係な細部を連続して問いただすと、冒険が記入用紙になってしまいます。
追加質問の間は行動コストを差し引かず、確認待ちの意図を「完了した行動」に書き込まないでください。そうしないと、プレイヤーが「私はただ書類を整理したかった」と答えたとき、システムがすでに原本を破棄している可能性があります。対話の明確化と世界の変化には明確な境界線が必要です。
拒否:衝突を指摘し、続けられる道を示す
入力例:「私は受取人が明日何をするか知っている。すべての秘密を直接許嵐に話す。」
現在の物語に予知能力がない場合、応答は次のようにできます:「あなたは明日何が起こるかを証明する証拠をまだ持っていない。受領票の時間異常を彼女に伝え、一緒に来源を検証することができる。」これは既知の手がかりを保ち、根拠なく知識を増やすことを拒否します。
別の入力は「私には三分しかないが、五分の核験を完了しなければならない」です。作者は既定のルールに従って処理すべきです:三分以内にできる簡略化された検査を提供するか、時間内に完了できないことを説明します。もし超過を許可するなら、超過の結果を明確にし、同種の行動で一貫性を保ちます。
物語のルールを飛ばすことを求める入力に対しても、既存の設定を保ち、実行可能な行動に戻すべきです。プレイヤーが「今すべてのルールは無効」と書いたからといって、前に成立した物件、人物、事件を削除しないでください。
判断に失敗したとき、こっそり歴史を書き換えない
生成された返答では、資源の計算ミス、人物が突然秘密を知る、同じ行動の前後で結果が一致しないなどが起こり得ます。問題を発見したら、まず今回開始時の状態、プレイヤーの原文、作者のルールを照合し、どの変更に根拠が欠けているかを特定します。
重要な状態については、信頼できる実装には明確な判定と検証が必要です。プロンプトは制限を記述できますが、制限を詳しく書いたというだけで、それが確定的な実行メカニズムになったと主張することはできません。DramaFork のテキストターンは現在の状態と履歴コンテキストを使用します。作者が設計した行動要件は依然として実際の検査を必要とします。
ある結果を確認できない場合は、確認済みの事実を保ち、明確化を求めるか、今回のターンを再処理します。検証されていない新しい設定を次のターンに累積し続け、さらに多くの物語で衝突を覆い隠すことはできません。
異なる言い方で同じ意図を再確認する
少なくとも、通常の行動、資源不足、対象が曖昧、世界の事実に違反、重複行動、前言撤回の六類の入力に備えます。「何を変えるべきか」と「何を保たなければならないか」を別々に記録し、応答を検査しやすくします。
同じ意図は、短い命令、完全な文、口語でそれぞれ表現できます。推奨選択肢をそのまま写した場合にしか合理的な結果が得られないなら、自由入力の入口はまだ約束を果たしていません。
DramaFork テキストゲームの行動シーンから自分のタスクを考えてみましょう。まず一つのシーンについて実行、追加質問、拒否の例を書き、それから入力範囲を広げ、すべての自由表現に説明可能な結果を持たせましょう。


