# GameBookAuthoring.app 操作マニュアル

この文書は、ビルド済みの `GameBookAuthoring.app` を使ってゲームブック用プロジェクトを作成し、Unity プレイアプリへ渡すまでの基本手順をまとめたものです。

## 1. アプリの目的

`GameBookAuthoring.app` は、分岐型ゲームブックのシーン、本文、選択肢、ダイス判定、メディア添付を編集し、Unity 側で読み込めるプロジェクトファイルとして保存するためのオーサリングアプリです。

保存したファイルは、Unity 拡張の `GameBookMaker > Import Authoring Project...` から取り込めます。

## 2. 起動

Finder で `GameBookAuthoring.app` を開きます。

初回起動時に macOS の確認ダイアログが出る場合があります。配布元が自分でビルドしたアプリであることを確認した上で開いてください。

## 3. 画面構成

主な画面領域は次の通りです。

- ヘッダー: プロジェクト操作、検証結果、ログ表示
- シーン一覧 / リスト表示: 作成済みシーンを一覧で確認
- カード表示: シーン同士の接続をカードと矢印で確認
- 編集パネル: 選択中シーンのタイトル、本文、遷移、選択肢、ダイス分岐、メディアを編集
- プレビュー / 検証: 作成内容の確認とエラー検出

## 4. 新規プロジェクトの作成

アプリを起動すると、空のプロジェクトまたはサンプル状態から編集を開始できます。

最初に確認する項目:

- プロジェクトタイトル
- Opening シーン
- 最初に表示したい本文

ゲーム開始地点は Opening シーンです。Unity 側のプレイアプリも Opening から開始します。

## 5. シーンの作成

`シーンを追加` を使って新しいシーンを作成します。

新しいシーンには自動でユニークな Scene ID が設定されます。Scene ID は遷移先指定に使うため、各シーンで確認できるようになっています。

編集する主な項目:

- Scene ID: 遷移先として指定する内部ID
- Card ID: 表示や整理のためのカード番号
- 表示タイトル: プレイヤーに見せるタイトル
- 作者用タイトル: 編集時に管理しやすくするためのタイトル
- 本文: プレイヤーに表示するテキスト
- シーン種別: Opening、通常、Ending など

## 6. シーンの削除

不要なシーンは `削除` できます。

削除前に確認すること:

- 他のシーンの選択肢から参照されていないか
- 通常遷移の行き先になっていないか
- ダイス分岐の行き先になっていないか

削除後は `検証` を実行して、存在しない Scene ID への参照が残っていないか確認してください。

## 7. 通常遷移の設定

選択肢やダイス判定を使わず、単純に次のシーンへ進ませたい場合は `通常遷移` を設定します。

遷移先は次のどちらかで指定できます。

- ドロップダウンから既存シーンを選択
- Scene ID を直接入力

Unity 側では通常遷移があるシーンに `次へ` ボタンが表示されます。

## 8. 選択肢の作成

`選択肢を追加` で、プレイヤーが選ぶ分岐を追加します。

選択肢ごとに設定する項目:

- 表示ラベル: プレイヤーに見せるボタン文言
- 遷移先 Scene ID: 選択後に移動するシーン

遷移先はドロップダウンから選択できます。必要に応じて Scene ID の直接入力もできます。

例:

```text
選択肢: 扉を開ける
遷移先: scene_hall

選択肢: その場を離れる
遷移先: scene_return
```

## 9. ダイス分岐の設定

2d6 判定を使う場合は、対象シーンにダイス分岐を設定します。

設定する主な項目:

- 判定目標値
- 成功条件
- 成功時の遷移先
- 失敗時の遷移先

成功時 / 失敗時の遷移先も、ドロップダウン選択と Scene ID の直接入力に対応しています。

Unity 側では `2d6判定` ボタンが表示され、押すとダイス結果に応じて分岐します。

## 10. メディアの添付

シーンには画像、動画、音声を添付できます。

対応する主な形式:

- 画像: `png`, `jpg`, `jpeg`, `gif`, `bmp`, `webp`
- 動画: `mp4`, `mov`, `m4v`, `webm`
- 音声: `mp3`, `wav`, `ogg`, `aiff`, `aif`, `m4a`

メディアごとに設定できる項目:

- 種別
- ファイルパス
- キャプション
- 自動再生
- ループ

Unity へインポートすると、添付メディアは `Assets/StreamingAssets/GameBookMaker/media/` にコピーされます。Mac アプリとしてビルドした場合、そのメディアもアプリ内に同梱されます。

## 11. カード表示

カード表示では、各シーンのつながりをカードと矢印で確認できます。

用途:

- 分岐構造の確認
- 行き止まりの確認
- 想定外の接続の発見
- シーンをダブルクリックして編集

大きなプロジェクトでは縦方向にスクロールして、フローチャート全体を確認します。

## 12. リスト表示

リスト表示では、シーンを一覧で確認できます。

用途:

- Scene ID の確認
- タイトルの確認
- 編集対象シーンの素早い選択
- シーンをダブルクリックして編集

シーン数が増えた場合は、カード表示とリスト表示を切り替えて確認すると管理しやすくなります。

## 13. 検証

`検証` を実行すると、現在のプロジェクトの問題を確認できます。

主な検証対象:

- Opening シーンが存在するか
- 遷移先 Scene ID が存在するか
- 選択肢の遷移先が正しいか
- ダイス分岐の遷移先が正しいか
- メディア添付のパスが空でないか

ヘッダーには Error / Warning の件数が表示されます。ログ表示を開くと、過去の操作や検証履歴も確認できます。

## 14. プレイテスト

アプリ内のプレイテスト機能で、作成中のゲームブックを簡易的に確認できます。

確認すること:

- Opening から開始できる
- `次へ` で通常遷移できる
- 選択肢で正しいシーンへ移動できる
- ダイス分岐が想定通りに動く
- Ending または行き止まりで終了できる

最終的な見た目やメディア再生は、Unity 側にインポートして Play または Mac アプリ Build 後に確認してください。

## 15. 保存

保存アイコン、またはプロジェクトメニューから保存します。

推奨拡張子:

```text
.gbproject
```

保存ファイルには次の情報が含まれます。

- プロジェクト情報
- シーン一覧
- 本文
- 選択肢
- 通常遷移
- ダイス分岐
- メディア添付情報

メディアファイル本体は、オーサリング時点では元ファイルへの参照として扱われます。Unity へインポートすると、ビルド用フォルダにコピーされます。

## 16. 読み込み

開くアイコン、またはプロジェクトメニューから既存の `.gbproject` / `.json` を読み込みます。

読み込み後は、まず `検証` を実行してください。別の場所に移動したプロジェクトでは、添付メディアの元パスが見つからない場合があります。

## 17. Unity への受け渡し

保存した `.gbproject` を Unity で取り込みます。

手順:

1. Unity プロジェクトを開く
2. `GameBookMaker > Import Authoring Project...` を開く
3. 保存した `.gbproject` または `.json` を選択
4. `Import to StreamingAssets` を押す
5. `GameBookMaker > Create Runtime Player` を必要に応じて実行
6. Unity Editor で Play して確認
7. Mac app として Build

インポート後の配置:

```text
Assets/StreamingAssets/GameBookMaker/gamebook.json
Assets/StreamingAssets/GameBookMaker/media/
```

## 18. Unity でビルドしたアプリの終端操作

Unity 側のプレイアプリでは、Ending シーン、または遷移先がない終端シーンに到達すると次のボタンが表示されます。

- `Openingに戻る`
- `終了`

`Openingに戻る` はゲーム開始地点へ戻ります。`終了` はビルド済みアプリを終了します。

## 19. よくある問題

### 保存した内容が Unity に反映されない

Unity 側で `GameBookMaker > Import Authoring Project...` を再実行してください。古い `gamebook.json` が残っている可能性があります。

### 画像や音声が Unity アプリに入っていない

Unity インポート時にメディアが `Assets/StreamingAssets/GameBookMaker/media/` にコピーされているか確認してください。ビルド済み `.app` には `StreamingAssets` が同梱されます。

### 遷移先が見つからない

Scene ID の入力ミス、またはシーン削除後の参照残りが原因です。オーサリングアプリで `検証` を実行してください。

### カード表示で流れがわかりにくい

シーン数が多い場合は、リスト表示で Scene ID とタイトルを確認しながら編集してください。分岐構造はカード表示、個別確認はリスト表示が向いています。

### 終了ボタンが出ない

Unity 側の Runtime Player が古い可能性があります。最新の `Assets/GameBookMaker/Runtime` を反映した状態で、Unity アプリを再ビルドしてください。

## 20. 制作時の推奨フロー

1. Opening シーンを作る
2. 主要な分岐シーンを先に作る
3. Scene ID を確認しながら遷移を接続する
4. 選択肢とダイス分岐を追加する
5. Ending シーンを作る
6. カード表示で全体の流れを確認する
7. 検証で Error を 0 にする
8. `.gbproject` として保存する
9. Unity にインポートする
10. Unity Editor で Play して確認する
11. Mac app として Build する

