ロジック » 変数
April 26, 2026

変数

作業中

このドキュメントはまだ拡張・修正中です。機能、スクリーンショット、説明はTalescapeの公開リリースまで変更される可能性があります。わかりにくい点や助けが必要な場合は、公式Talescape Discordで質問してください。必要に応じてページを明確化したり更新したりします。

変数は、あなたの物語で何が起きたか、プレイヤーが何をしたかという情報を保存します。選択を記憶したり、進行状況を追跡したり、世界の反応を制御したり、必要に応じてプレイヤー向けの重要なステータスを表示するために使います。

変数はTalescapeにおけるlogicの基盤です。会話の選択肢を制御したり、イベントを発火させたり、アイテムを解放したり、どのシーンが利用可能になるかを決めるのに一般的に使われます。

変数はストーリー全体、チャプター、または単一のシーンに属することができます。これにより、ローカルな状態は使う場所の近くに置きつつ、重要な値はどこでも利用可能にしておけます。

1. 変数の作成

変数はVariables パネルで作成します。各変数には以下の設定があります:

  • Name: エディタ内で変数を識別するための説明的なラベル。
  • Type: 変数が保持する値の種類を決めます。
  • Scope: 変数がストーリー、チャプター、シーンのどれに属するかを決めます。
  • Starting Value: 物語開始時に割り当てられる値。
  • Stat Settings (optional): 変数をプレイヤーに見えるステータスとして表示するかどうかを決めます。

開始値はオプションです。値が指定されていない場合、変数は空かデフォルト値で開始します。

2. 変数のスコープ

変数のスコープは、変数がどこに属し、通常どこで使うべきかを決めます。

  • Story: ストーリー全体で重要な値に使います。例えば体力、正気度、好感度、後のチャプターに影響する大きな選択など。
  • Chapter: そのチャプター内だけで重要な値に使います。例えばそのチャプターで集めた書類の数など。
  • Scene: 1つのシーン内のローカルな状態に使います。例えばテレビが点いているかどうかなど。

Story 変数は以前の挙動と一致します。Chapter や Scene の変数は、一時的なスイッチがコアなストーリー状態の隣に置かれる必要をなくすことで、大規模なプロジェクトを読みやすくします。

3. 選択(Choice)変数

3. 選択(Choice)変数

Choice variables は単純な true または false の値を保存します。はい/いいえの決定に使われ、最も一般的なタイプの変数です。

典型的な用途:

  • プレイヤーが特定の行動を行ったかどうかの追跡
  • 会話中に下した決定の記録
  • イベントや会話オプションの解除

例:

  • プレイヤーは宝箱を開けたか?
  • プレイヤーは漁師を助けたか?
  • 洞窟の入り口は見張られているか?

Choice variables はactioneventsを通じてtruefalseの間で切り替えることができます。

4. 数値(Number)変数

4. 数値(Number)変数

Number variables は数値を保存します。回数、スコア、進行度などを追跡する必要があるときに便利です。

典型的な用途:

  • 集めた資源の追跡
  • 何回起きたかのカウント
  • 通貨やポイントの管理

例:

  • プレイヤーは鍵をいくつ持っているか?
  • いくらの金が集まったか?
  • いくつの手がかりが見つかったか?

Number variables はゲームプレイ中に増減させたり、特定の値に設定したりできます。

5. テキスト(Text)変数

5. テキスト(Text)変数

Text variables は短いテキストを保存します。名前、コード、プレイヤーが選んだ選択肢などを記憶する必要があるときに便利です。

典型的な用途:

  • プレイヤーが選んだ名前の保存
  • どのオプションが選ばれたかの記録
  • コードや識別子の保存

例:

  • プレイヤー名
  • 選択された派閥
  • 入力されたドアコード

Text variables は新しい値を保存する必要があるたびに更新できます。

6. 計算(Calculated)変数

Calculated variables は固定の値を持つのではなく、式から値を導出します。その式は単純な数値や他の変数のプレースホルダーを使えます。

サポートされている演算子は *, +, /, %, - と丸括弧です。

Calculated variables は、防御後のダメージ、複数のカウンターから算出されるスコア、集めたアイテムに基づく進行度などに便利です。派生したロジックを一箇所にまとめ、複数の個別の変数更新を不要にします。

7. 変数のステータス表示

7. 変数のステータス表示

変数は内部のストーリーロジックとして非表示にしておくことも、プレイヤーがプレイ中に現在の値を理解すべき場合にはstatsとしてマークすることもできます。

ステータス表示が有用な値の例:

  • 体力やスタミナ
  • 正気度、疑い、危険度
  • 関係値
  • 集めた資源
  • チャプターの進行度やパズルの進捗

ステータスは異なる形式で表示できます:

  • Text: 値をそのまま表示。名前、ラベル、カウンター、正確な文言が重要な値に有用です。
  • Bar: 塗りつぶしバーで進行度を表示。体力、スタミナ、正気度など最小値と最大値が明確な値に有用です。
  • Segments: 進行を別個のチャンクで表示。ハート、チャージ、手がかりの進行、限られた資源に有用です。

プレイヤーが見ることでメリットがある場合にのみ、変数をステータスとしてマークしてください。隠れた条件、分岐、内部のストーリー状態だけを制御する変数は通常の変数として残せます。

8. 変数のプレースホルダー

変数はサポートされているテキストフィールドにプレースホルダーとして挿入できます。テキストフィールドがプレースホルダーに対応している場合、エディタはピッカーを表示するので正確な変数名を覚えておく必要はありません。

これはプレイヤー名、集めたアイテム数、選択された派閥、覚えた答え、またはテキストに表示すべきその他の値に便利です。

同じピッカーは、条件やアクションで変数の値が必要な場所でも利用できます。これにより、執筆とロジックの間で変数の再利用が一貫します。

9. 変数の使用方法

変数はエディタ全体で物語の挙動を制御するために使われます。

次のような用途があります:

  • 会話オプションの表示/非表示
  • トリガーやイベントの起動
  • 分岐するストーリーパスの制御
  • シーン、アイテム、インタラクションの解放
  • 保存された値でサポートされたテキストフィールドを埋める
  • 他の変数から値を計算する

変数が変更されると、新しい値は即座に保存され、プレイスルーの残りで有効になります。

10. 変数のテスト

10. 変数のテスト

テスト中はDebug Menuを開いて、変数をリアルタイムで確認・変更できます。

これにより以下が可能になります:

  • ストーリーで現在使われているすべての変数を確認する
  • 値を変更して別の経路をテストする
  • 変数を開始値にリセットする
  • 関連するシーンやチャプター内のスコープされた変数を検証する

これにより、物語全体をやり直さずに複雑な分岐ロジックをテストしやすくなります。

11. ベストプラクティス

  • 単純なはい/いいえの決定には Choice variables を使う。
  • カウンター、資源、進行の追跡には Number variables を使う。
  • 実際のテキスト値を保存する必要がある場合のみ Text variables を使う。
  • 他の変数から導出される値には Calculated variables を使う。
  • どこでも重要でない一時的な状態はシーンやチャプター変数に保持する。
  • プレイヤーがプレイ中にその値を見るべき場合にのみ変数を stats としてマークする。
  • 変数名は後で分かりやすいよう説明的に保つ。
  • 使われていない変数はプロジェクトを整理するために削除する。

変数によりTalescapeは何が起きたかを記憶し、それに応じて反応できます。変数はconditions、アクション、そして物語のあらゆる分岐パスの根幹を成します。

ドキュメント