テキストアドベンチャーのオブジェクトを操作可能にする:説明文に露出すべき用途の手がかりとは?
プレイヤーは「古い温室」で行き詰まり、真鍮のバルブに「ひねって開ける」「回す」「開ける」「ねじって開ける」と入力しても、システムは「それはできない」としか返さない。問題は通常、動詞ライブラリではなく、説明文が用途の手がかりを示していないことにある。操作可能なオブジェクトの説明は、四種類の情報を同時に露出させる必要がある:材質と構造、位置と向き、現在の状態、接続関係。プレイヤーはこれに基づいて「それに対して何ができるか」を推論するのであり、作者の頭の中にある唯一の動詞を当てるのではない。

ガイド
プレイヤーは「古い温室」で行き詰まり、真鍮のバルブに「ひねって開ける」「回す」「開ける」「ねじって開ける」と入力しても、システムは「それはできない」としか返さない。問題は通常、動詞ライブラリではなく、説明文が用途の手がかりを示していないことにある。操作可能なオブジェクトの説明は、四種類の情報を同時に露出させる必要がある:材質と構造、位置と向き、現在の状態、接続関係。プレイヤーはこれに基づいて「それに対して何ができるか」を推論するのであり、作者の頭の中にある唯一の動詞を当てるのではない。
以下では架空の教育用事例「古い温室」を一貫して用いる。この例に登場する人物、オブジェクト、数値はすべて作成上の例であり、実測資料ではない。
まず手がかりのない説明文を見てみよう
温室の隅にバルブがある。そばの床に布切れが一枚、棚の上にガラス瓶が置かれている。
この文章は読めるが、操作はできない。プレイヤーはバルブが何につながっているのか、布切れが乾いているのか濡れているのか、瓶に蓋があるのか分からない。どんな動詞も推測に頼るしかない。作者が判定を「バルブをねじって開ける」しか受け付けないと書けば、プレイヤーが「ひねる」「回す」「レバーを動かす」と入力してもすべて拒否される。挫折感は説明文の欠落から生じるのであり、プレイヤーが賢くないからではない。
四種類の手がかりを補った後の対照
| 手がかりの種類 | 静的な書き方 | 操作可能な書き方 |
|---|---|---|
| 材質と構造 | バルブがある | バルブ本体は真鍮で、六角ナットが管口に噛んでおり、ハンドルは上を向いている |
| 位置と向き | そばに布切れがある | 布切れはバルブの真下の鉄柵に掛かり、一端が溜まり水に垂れている |
| 現在の状態 | 棚の上にガラス瓶がある | ガラス瓶は中段の棚に横たわり、瓶口にコルク栓が詰まり、瓶身に細かいひびがある |
| 接続関係 | バルブは管につながっている | バルブの上端は錆びた縦管に、下端は短い横管に接続し、横管はガラス瓶の上方のノズルへ通じている |
四種類の手がかりが揃えば、プレイヤーは推論できる:バルブはハンドルを回せる;布切れは水を吸える、またはハンドルに巻き付けられる;瓶の栓は抜ける;ノズルの向きは瓶に向いている。試せる行動の範囲はこれで説明可能になり、無限の動詞表ではなくなる。
手がかりを試行可能範囲として書く
説明の後には、「試行可能範囲」の一文で締めくくり、どの行動が判定内で、どれが単なる環境描写かを明確にすることを勧める:
あなたはハンドルを回せる、布切れをハンドルに巻き付けてから回せる、瓶の栓を抜ける、瓶をノズルの下から移せる。バルブは管路に固定されており、全体を持ち去ることはできない。
この文の役割は境界を引くことだ。「バルブを持ち去る」は除外され、プレイヤーはターンを無駄にしない;「布切れを巻いてから回す」は含まれ、組み合わせ行動が可能だと示す。作者はすべての同義動詞を列挙する必要はなく、行動の物理的範囲を説明すればよい。
オブジェクト動作語表
同じオブジェクトでも状態が異なれば、受け入れられる行動は変化する。まず古い温室の三つのオブジェクトそれぞれに小さな表を作る。
真鍮のバルブ
| 状態 | 試行可能な行動 | 受け入れにくい |
|---|---|---|
| ハンドルが上向き、ナットが噛んでいる | ハンドルを回す、ハンドルをレバーで動かす、布切れを巻いてから回す | バルブを直接引き抜く |
| ハンドルが半分まで回っている | 続けて回す、元の位置に戻す | 分解可能な構造が説明されていないため、ハンドルを直接取り外すことはできない |
濡れた布切れ
| 状態 | 試行可能な行動 | 受け入れにくい |
|---|---|---|
| 一端が水に浸かっている | 持ち上げる、水を絞る、ハンドルに巻く、拭く | 火をつける(環境に火元が示されていない) |
| バルブのハンドルに巻かれている | 引き締める、解く、ハンドルごと回す | 単独で「使う」 |
ひびの入ったガラス瓶
| 状態 | 試行可能な行動 | 受け入れにくい |
|---|---|---|
| 横たわり、コルク栓が詰まっている | 起こす、栓を抜く、移す;割る場合は破壊の結果を確認する必要がある | 栓を抜かずに水を受けられない |
| すでに水を受けている | 傾ける、棚に戻す、ノズルの下に置く | さらに水を加える前に満杯かどうかを確認する |
語表は判定のホワイトリストではなく、作者の自己点検ツールである:各状態で列挙された行動は、説明文に対応する手がかりが見つかるはずである。
実行不能と実行可能な破壊を区別する
実行不能な場合は、欠けている条件を指摘する;実行可能だがオブジェクトを損傷する場合は、まず既知の結果を提示し、プレイヤーに確認させる。どちらも「だめ」とだけ書いてはいけない。同義動詞は意図に従って理解し、日常的な用語を誤りとして扱わない。
- 「布切れに火をつける」と入力:布切れは濡れており、温室には火元がない。フィードバックは「布切れはまだ滴っており、周囲に火を引けるものはない。」と書ける。
- 「ガラス瓶を割る」と入力:まず「そうすると水を受ける容器を失うが、それでも割るか?」と応答する。確認後に初めて破片を描写し、オブジェクトの状態を損傷に変更する。
- 「バルブを開ける」と入力:ハンドルを回すこととして理解し実行する;プレイヤーが存在しない蓋を明確に開けるよう要求した場合にのみ、構造が対応していないと説明する。言葉が異なっても行動意図が同じなら、同じ処理を採用すべきである。
フィードバックに手がかりを含めれば、プレイヤーは次回に行動を修正できる。
完成チェック
オブジェクトの説明を書き終えたら、この五項目で確認する:
- 四種類の手がかりが少なくともそれぞれ一度は現れているか?
- 「試行可能範囲」を書き、明らかだが成立しない行動を一つ除外したか?
- 各状態に動作語表が付き、表内の行動がすべて説明文に根拠を見つけられるか?
- 誤用フィードバックは、単に否定するだけでなく、欠けている手がかりを指摘しているか?
- 唯一の動詞しか受け付けないことを避けているか?
第5項が通らない場合、判定を同義行動または組み合わせ行動を受け入れるように変更し、説明文に戻って手がかりを補う。
AI生成ナラティブに関わる場合、これらの手がかりはプロンプト制約に書き込む必要がある;プロンプト制約は毎回の出力が正しいことを保証しない。作者は生成結果が材質、位置、状態、接続関係を保持しているかを依然として人手で確認する必要がある。
次のステップ:手元でプレイヤーが行き詰まっているオブジェクトを一つ選び、上表に従って四種類の手がかりを補い、さらに試行可能範囲の一文を書く。


