テキストアドベンチャーで時間が進むのはいつか:観察・行動・待機を分ける
まずは検査しやすい時間ルールを採用できます:観察は物語の時計を進めない。移動・交渉などの行動はあらかじめ書き定めた所要時間で進める。能動的な待機は次のイベントまたは待機上限まで進める。 これは本記事の例で採用する設計方針です。作品が観察にも時間を消費させることを求めるなら、事前に告知し統一的に実行すべきです。以下では架空の「渡し場の最終便」を使ってルールを三種類の時計表に分解します。地名・人物・数字はすべて教育用の設定です。

はじめに
まずは検査しやすい時間ルールを採用できます:観察は物語の時計を進めない。移動・交渉などの行動はあらかじめ書き定めた所要時間で進める。能動的な待機は次のイベントまたは待機上限まで進める。 これは本記事の例で採用する設計方針です。作品が観察にも時間を消費させることを求めるなら、事前に告知し統一的に実行すべきです。以下では架空の「渡し場の最終便」を使ってルールを三種類の時計表に分解します。地名・人物・数字はすべて教育用の設定です。
まず三種類の時計を区別する
プレイヤー入力は大きく三種類に分かれ、それぞれ異なる時間処理に対応します。
観察は既存の情報を取得することです:掲示を見る、船頭をじろじろ見る、昨日聞いた言葉を思い出す。観察は世界時間を消費しません。なぜならキャラクターはすでに存在するものに注意を向けるだけだからです。代償は時計ではなく、情報そのものが期限切れになりうることです——ある事柄がすでに起きていれば、観察は結果しか見られません。
行動は局面を変える操作です:船票を渡す、桟橋に上がる、荷物を船頭に手渡す。行動には持続時間があり、どれだけ歩き、どれだけ行うかだけ世界時間が進みます。
待機は能動的に時間を経過させることですが、必ずトリガー条件か上限がなければなりません:船が岸に着くまで待つ、夕暮れまで待つ、ある時刻まで最大で待つ。上限のない待機はプレイヤーからテンポの制御を奪います。
この三種類を分ければ、「一目見ただけで一日消費」も「繰り返し観察して時間を稼ぐ」も起こりません。
構成例:渡し場の最終便
架空の設定:プレイヤーは川を渡る旅人を演じ、古い船票を一枚持っています。最終便は夕暮れに出ます。渡し場には掲示板、船頭の老周、一本の桟橋があります。夕暮れまでに二つのことが起こります:貨物船が先に岸に着いて荷を降ろし、老周が船票を検査しに行きます。プレイヤーは正確な時刻を知らず、環境から手がかりを読むしかありません。
まず判断を支える手がかりを書き、それからキャラクターに推論させます。掲示板には「最終便は夕暮れ、時間を過ぎたら待たない」と書かれています。老周は「貨物船が着いたら、しばらく忙しくなる」と告げます。桟橋の時計は最終便まであと二十分を示し、老周は検札が五分後に始まると説明します。プレイヤーはこれによって行動時間と余裕を比較できます。水位は環境を表すだけで、昨日の水位を一度観察したことを今日の時刻の信頼できる証明にはしません。
三種類の時計表
ルールを表に埋め、脚本を書くときに一つずつ照合します。
| 入力タイプ | 例 | 時間の進行 | トリガー条件 | 上限 |
|---|---|---|---|---|
| 観察 | 掲示を見る、老周をじろじろ見る、水位を見る | 進めない | なし | なし |
| 行動 | 船票を渡す、桟橋を歩く、荷物を手渡す | 持続時間に従って進める | プレイヤーが実行を確認 | 単一動作の所要時間 |
| 待機 | 貨物船を待つ、老周の検札を待つ、夕暮れを待つ | イベントまたは上限まで進める | イベント発生または上限到達 | 明確に書き定める |
「桟橋を歩く」は短い所要時間に定められます。たとえば岸から船まで少しの道を歩く。この道を歩き終えると、世界時間は同じだけ進みます。もしプレイヤーが桟橋の上で止まって水面を観察しても、時間はもう進みません。止まることは行動ではないからです。こうして「一目見て一日消費」は起こりません。
同時に起こるイベントをどう並べるか
貨物船の接岸と老周の検札は同時に起こりえます。書き方としては、各イベントにトリガーポイントを与えるのであって、それぞれに別のタイムラインを割り当てるのではありません。
本例では、貨物船の接岸は現在時点の五分後に書き定められ、老周はその後で検札を始めます。プレイヤーが桟橋の中ほどまで歩くには二分かかるため、到着時には貨物船はまだ接岸していません。貨物船を待つことを選べば、時間を第五分まで進めます。これは同じ一つの物語時計であり、「中ほどまで歩けば貨物船が着く」という別設定を置いてはいけません。二つのイベントが同刻に起こる場合、まず処理順を明確にし、それからフィードバックで優先的に提示されなかったイベントを伝えます。
こう書く利点は、プレイヤーが「同時」のせいでイベントを失わず、システムが代わりに順序を決めたせいで時間を盗まれたとも感じないことです。
待機には上限と出口が必要
待機は最も壊れやすい部分です。各待機には三つを書くことを勧めます:何を待つか、最大でどこまで待つか、待った後に何が起こるか。
「貨物船を待つ」の上限は現在時点の五分後です。別に遅延分岐を書くなら、第五分に「貨物船が遅延、最終便まであと十五分」と表示し、船票を渡す、老周に尋ねる、川を渡るのを諦めるという三つの出口を提供します。そのまま夕暮れまで待つと、最終便は出て、次のラウンドは滞留の処理に変わります。同じ待機フィードバックを無限に繰り返してはいけません。
待機中には観察を挿入し、現在時点の状態を読み取れます。桟橋の時計を見れば残り時間が分かります。水位を見れば環境変化だけが分かります。本来時間を消費しない観察の中でこっそり数分進め、その新しい結果で時間が過ぎたと証明してはいけません。
キャラクターが言い訳をでっち上げるときの印の付け方
老周は「船はとっくに出た、もう待つな」と言うかもしれません。この文はキャラクターの言葉であり、世界の事実ではありません。書き方としては、これを「老周の言葉」と印を付け、語り手が確認したものにしてはいけません。次のように書けます:老周は船がとっくに出たと言う。船が本当に出たかどうかは、プレイヤーが後の観察や行動で検証します。こうすれば読者はキャラクターの言い訳を新しい世界設定と誤解しません。
同様に、老周が「君の父親を知っている」と言い、前文に何の過去も提供されていなければ、この文を自動的に真実の背景にしてはいけません。彼の言葉として保留し、プレイヤーは信じるか信じないかを選べますが、システムはプレイヤーの代わりに確認しません。
周辺入力の扱い方
周辺入力とは、プレイヤーがルールの予想しなかったことをする場合です:船票を水に投げ込む、貨物船に飛び乗る、老周に嘘をつく。処理原則は、まずそれが観察・行動・待機のどれに属するかを判断し、対応する時計を適用することです。
船票を水に投げ込む:これは行動で、所要時間があり、時間は進みます。その後「船票を渡す」という道は閉じ、プレイヤーは別の方法を探さねばなりません。貨物船に飛び乗る:貨物船がすでに接岸していればこれは行動です。貨物船が接岸していなければ不可能な動作であり、「君には届かない」と応答し、時間は進めません。老周に嘘をつく:これは行動で、時間は進み、老周の反応は彼の目標に従って書かれ、彼が信じることは保証されません。
周辺入力に新しいルールは不要で、三種類の時計に戻るだけです。
完成チェック
一段書き終えたら、以下の項目で照合します:
- 各観察選択肢はどれも時間を進めないか?
- 各行動は所要時間が書かれ、その時間とイベントのトリガーポイントが合っているか?
- 各待機には明確な上限と、到達後のイベントがあるか?
- 同時に起こるイベントはそれぞれトリガーポイントを持ち、プレイヤーが参加するものが先に決算されるか?
- キャラクターの言い訳は「彼の言葉」と印を付けられ、世界の事実と混ざっていないか?
- 周辺入力は三種類の時計のどれかに分類できるか?
六項目すべてに答えられれば、時間進行は一度の観察に引きずられず、繰り返しの待機で詰まることもありません。
すぐ使える小さな行動
あなたが今書いている一場面を取って、ただ一つだけ行います:この場面でプレイヤーが選べる入力をすべて列挙し、一つずつ「観察 / 行動 / 待機」と印を付け、行動には所要時間を、待機には上限を記入します。印を付け終えてから叙事を書けば、時間ルールが執筆の途中で衝突しません。


