変数システム
変数システムは Alfheim のゲーム状態管理ツールで、ゲームの実行に影響する様々なデータを定義・管理します。変数はストーリーシステムにおける条件分岐と状態追跡の基盤として使用されます。
機能概要
- グローバル変数の定義と管理
- キャラクター変数テンプレート
- 4種類の変数タイプをサポート
- ストーリーシステムの条件と分岐との連携
2つの管理タブ
グローバル変数
プロジェクトレベルの変数。すべての Episode が読み書きできます。
キャラクターテンプレート
事前定義されたキャラクター変数テンプレート。キャラクターデザイナーで各キャラクターに必要に応じて追加できます。
グローバル変数
グローバル変数は章をまたいで共有されるデータで、ゲーム全体を通じて追跡が必要な状態に適しています。
典型的な用途
- 体力、コインなどのキャラクター数値
- メインストーリーの進行マーカー
- グローバルスイッチ(例:特定のイベントが発生したかどうか)
- ゲーム難易度設定
グローバル変数の作成
- グローバル変数タブで追加ボタンをクリックします。
- 変数名を入力します。
- 変数タイプを選択します。
- デフォルト値を設定します。
- オプション:変数の用途を説明する記述を追加します。
変数タイプ
| タイプ | 説明 | 例 |
|---|---|---|
| 整数 | 整数値 | コイン数:100 |
| 浮動小数 | 小数値 | 移動速度:1.5 |
| 文字列 | テキスト値 | プレイヤー名:「旅人」 |
| ブール値 | 真/偽 | クリア済み:いいえ |
キャラクター変数テンプレート
キャラクター変数テンプレートは、複数のキャラクターに一括で適用できる事前定義の変数構造です。
典型的な用途
- 好感度(各キャラクターにあり、数値は独立)
- 信頼度
- 忠誠度
- その他の汎用キャラクター属性
キャラクター変数テンプレートの作成
- キャラクターテンプレート タブに切り替えます。
- 追加ボタンをクリックします。
- テンプレート名を入力します(例:「好感度」)。
- 変数タイプを選択します。
- デフォルト値を設定します。
- オプション:説明を追加します。
キャラクターでの使用
テンプレート作成後、キャラクターデザイナー のプロフィールページで、各キャラクターはこれらの変数テンプレートをオプションで追加できます。追加後、その変数はそのキャラクターに属し、独立した値を持ちます。
ストーリーでの変数の使用
変数の主な用途は、ストーリーシステムでストーリー分岐を駆動することです:
条件ノード
ストーリーシステムの条件ノードでは、変数の値に基づいて条件を設定できます。例えば:
- 「好感度 > 50」のときに告白分岐へ
- 「鍵を所持 = 真」のときに密室への入室を許可
変数設定ノード
変数設定ノードで変数の値を変更します。例えば:
- クエスト完了後「コイン + 100」
- 選択後「好感度 + 10」
- イベント発生後「イベント発生済み = 真」
変数セレクター
ストーリーシステムで変数を参照する必要がある場合、変数セレクターが表示されます。セレクターは範囲でフィルタリングをサポートします:
- グローバル:すべてのグローバル変数を表示します。
- 章:現在の Episode のローカル変数を表示します。
- キャラクター:キャラクター変数を表示します。
グローバル変数と章変数の違い
| 特性 | グローバル変数 | 章変数 |
|---|---|---|
| スコープ | ゲーム全体 | 単一 Episode 内 |
| 章をまたぐ共有 | はい | いいえ |
| 定義場所 | 変数パネル | ストーリー計画器 |
| 典型的な用途 | 長期状態追跡 | 章内の一時的な状態 |
ヒント
- 変数名は「v1」ではなく「主人公のコイン」のように、明確で説明的な名前を使用することを推奨します。
- グローバル変数の数は適度に保ち、章をまたいで共有する必要があるデータのみにグローバル変数を使用してください。
- キャラクター変数テンプレートは、すべてのキャラクターに共通する属性を定義するのに適しており、キャラクターごとの重複作成を避けられます。
- 説明フィールドを活用して変数の用途を記録し、チーム協力と後続のメンテナンスを容易にしてください。