テキストアドベンチャーに同じ名前の箱が二つあるとき、プレイヤーの代わりに選ばず確認するには
プレイヤーが「箱を開ける」と入力したら、「開ける」という行動を保留し、すでに示した位置の違いで対象を確認する。返答が一つの候補に絞れ、現場も変わっていない場合にだけ実行を再開する。候補、追加の返答、キャンセル、失効条件を「対象確認ターンカード」にまとめる。

はじめに
「箱を開ける」が二つの木箱のどちらにも当てはまる場合は、まず「開ける」という行動を保留し、どちらを指しているのかだけを尋ねる。プレイヤーが「窓際のほう」と答え、元の現場条件も維持されている場合に限り、「窓際の木箱を開ける」へとつなげる。近い、重要である、先に描写されたといった理由で、プレイヤーの代わりに箱を選んではいけない。
以下では、物置の窓際にある木箱とテーブルの下にある木箱を使い、「対象確認ターンカード」を記入する。そのうえで、確認、実行の再開、キャンセル、失効までをたどる。場面、会話、処理ルールはいずれも、解説のために独自に作成した架空の設計例である。実際のユーザー事例や実測結果ではなく、DramaFork の製品機能を示すものでもない。
1. 足りないのは行動ではなく対象かを確かめる
この例の入室時の描写は、次のとおりとする。「物置には、ふたの閉まった木箱が二つある。一つは窓際、もう一つはテーブルの下に置かれている。あなたは入口のすぐ内側に立っており、どちらの箱も見えている」。さらに、どちらもそのまま開けられ、この確認ターンでは場面内の出来事が進行しないものとする。
プレイヤーが「箱を開ける」と入力した時点で、行動は明確であり、足りないのはその対象である。ここで「あなたは窓際へ歩み寄り、箱のふたを持ち上げる」と書けば、対象を勝手に補ったことになる。あとから取り消せるようにしても、最初の選択権を守ったことにはならない。
適切な応答は、「窓際の木箱とテーブルの下の木箱、どちらを開けますか? 場所で答えるか、『キャンセル』と入力してください」のようなものだ。この一文で、引き継ぐ行動、候補、やめ方を伝えられる。「どちらですか?」とだけ尋ね、前の文章を読み返して対象を探させないようにする。
候補の集合は、現在のコマンドに対応させる。この例なら、すでに描写されていて、「箱」という呼び方が当てはまる二つの物体である。まだ発見していない隠し収納付きの箱を候補に加えてはいけない。また、作者が窓際の木箱を調べてほしいからといって、テーブルの下の木箱を候補から外してもいけない。
2. 見分けるための表現には、すでに示した手がかりを使う
この例では、「窓際」と「テーブルの下」が区別に使える。「木製」「ふたが閉まっている」も描写済みだが、どちらにも当てはまるため、二つを見分ける役には立たない。確認には、すでに知られていて、かつ候補を絞れる特徴を選ぶ必要がある。
まだ箱を開けていないのに、突然「帳簿が入っているほうですか、それとも工具が入っているほうですか?」と聞いてはいけない。「安全なほうですか、危険なほうですか?」と尋ね、未知の結果を対象の呼び名として明かすのも避けたい。作者が把握している設定と、プレイヤーが識別に使える情報は同じではない。
それまで「木箱が二つある」としか書いておらず、位置の違いを示していないなら、まずキャラクターが今観察できる情報を補う。「一つは窓際、もう一つはテーブルの下にある」と描写してから、選んでもらう。これは目の前の状況を伝えるものであり、探索しないと発見できない情報とは分けて扱う。
位置を使った表現は短く済むが、位置は変わりうる。十分に目立つ外見上の特徴なら、より安定して使える場合もある一方、手がかりを明かしてしまう可能性もある。どの特徴を使うかは、その場面ですでに何を伝えているかによる。それでも見た目で区別できないなら、観察可能な違いを補う。作者の頭の中にある番号をプレイヤーに当てさせてはいけない。
3. 対象確認ターンカードを記入する
場面の原稿の横にカードを置き、まず作者が保持すべき情報を、次にプレイヤーに実際に見せる質問を書く。以下は、この例の記入済みカードである。物体と行動を差し替えれば、別の場面にも使える。
| 項目 | この例の記入内容 |
|---|---|
| 元の行動 | 開ける。対象は未確定で、箱を開ける行動はまだ一切実行していない |
| 現場の候補 | 物置の窓際の木箱、物置のテーブルの下の木箱。それぞれの物体としての識別情報を保持し、位置を表す語だけで記録しない |
| 区別に使う表現 | 窓際の木箱/テーブルの下の木箱。いずれも入室時の描写に基づく |
| 確認の質問 | 窓際の木箱とテーブルの下の木箱、どちらを開けますか? 場所で答えるか、「キャンセル」と入力してください |
| 追加の返答 | 「窓際」「窓際のほう」「窓際の木箱」を受け付ける。このターンの候補のうち、一つだけに対応する必要がある |
| 実行の再開 | 元の行動を補完し、対象が元の場面に残っていて行動も可能かを再確認したうえで、一度だけ実行し、保留情報を消去する |
| キャンセル方法 | 「キャンセル」「やっぱりやめる」で保留情報を消去する。明確な新しい行動は、古い要求を置き換える |
| 失効条件 | 物置を出る、候補が場面からなくなるか位置を変える、実行条件が変わる。いずれの場合も古い確認を終了する |
このカードでは、慎重なルールを採用している。対象の識別や実行に関わる現場の変化が起きたら、改めてコマンドを入力してもらう。ときには確認が一度増えるものの、古い位置表現が、あとからその場所に置かれた別の箱に結び付くのを防げる。
「保留」にも範囲を設ける。この例で保持するのは、補完待ちの行動一つだけである。プレイヤーが続けて「テーブルを調べる」と入力したら、まず「先ほどの『箱を開ける』という指示はキャンセルしました」と明示し、新しい行動を処理する。テーブルを調べたあと、黙って箱を開ける処理に戻ってはいけない。
4. 三つの会話で、勝手に行動していないか確かめる
以下はカードに沿って順に検討した架空の分岐であり、実行テストの記録ではない。どの会話も、二つの箱がまだ開いていない状態から始まる。
返答で対象が一つに決まったら、元の行動を引き継ぐ。
プレイヤー:箱を開ける。
応答:窓際の木箱とテーブルの下の木箱、どちらを開けますか? 場所で答えるか、「キャンセル」と入力してください。
プレイヤー:窓際のほう。
応答:あなたは窓際の木箱を開ける。ふたが後ろへ倒れる。
ここで「窓際のほう」が補うのは対象だけであり、動詞は保留中の「開ける」を引き継ぐ。現場が変わっていないことを再確認してから、一度だけ実行して記録を消去する。その後、プレイヤーが再び「窓際のほう」と言っても、補完待ちの行動はもうない。その返答だけで、もう一度開けてはいけない。
返答が両方に当てはまるなら、対象の確認を続ける。
プレイヤー:木でできているほう。
応答:どちらも木箱です。窓際のほうですか、テーブルの下のほうですか? キャンセルもできます。
どちらの候補も「木でできている」に当てはまるため、対象はまだ一つに決まっていない。元の行動を保留したまま、キャラクターを移動させず、箱にも触れない。返答で対象を特定できなかったことを理由に、物語上の罰を与えてもいけない。プレイヤーが「両方開ける」と答えた場合は、対象の範囲が変わっている。複数の対象への新しい要求として扱い、適当に一つを選んで古い要求を完了させてはいけない。
候補が場面からなくなったら、古い確認への返答は無効になる。
場面の変化:窓際の木箱が物置の外へ運び出された。
応答:窓際の木箱は運び出されました。先ほどの「箱を開ける」という指示はキャンセルしました。テーブルの下の木箱を開けたい場合は、改めて指示してください。
プレイヤー:窓際のほう。
応答:先ほどの指示はすでに無効です。今、物置で見える木箱はテーブルの下のものだけです。
候補が一つだけ残っていても、プレイヤーがそれを選んだことにはならない。「窓際のほう」をテーブルの下の木箱に割り当て直してはいけないし、運び先まで追いかけて実行を続けてもいけない。
5. キャンセルと退室を明確な終了点にする
プレイヤーが自分でキャンセルしたら、「わかりました。箱はひとまず開けません」と短く返し、保留情報を消去する。物置を出る際は、退室時の応答に「あなたは物置を出る。先ほどの『箱を開ける』という指示はキャンセルされた」と書いてもよい。戻ったときに二つの箱がまだあっても、新しい行動の要求が必要である。古い位置表現だけで、以前の要求を復活させてはいけない。
この方法は、行動が明確で候補が限られており、追加の返答を短時間待てる自由入力の場面に向いている。時間が継続して進む場面では、確認に時間を消費するかを別途決め、あらかじめプレイヤーに伝える必要がある。この例の「出来事が進行しない」という取り決めを、そのまま適用してはいけない。一つの入力に複数の行動が含まれる場合も、どの行動を補完しているのかを先に決め、位置表現を別の行動につなげないようにする。
原稿を渡す前に、この一か所を確認する。一つに特定できる対象、共通する特徴、キャンセルの言葉、退室後の古い確認への返答を、それぞれ入れてみる。元の行動を再開できるのは最初のものだけで、それ以外は確認を続けるか、要求を終了するべきである。どれか一つでも箱が自動的に開いてしまうなら、カードに戻り、対象の結び付け方と保留情報を消去するタイミングを見直す。






