{
  "assetBase": "demo/",
  "locales": {
    "path": "locales/",
    "languages": [
      "zh",
      "en",
      "ja"
    ]
  },
  "startScene": "intro",
  "variables": {
    "trust": 50,
    "courage": 0,
    "investigation": 0
  },
  "introVideo": "__intro__/intro_logo.mp4",
  "menuVideo": "__intro__/menu_bg.mp4",
  "achievements": [
    {
      "id": "qte_master",
      "title": "反应达人",
      "titleKey": "achievement.qte_master.title",
      "description": "成功完成一次 QTE",
      "descKey": "achievement.qte_master.desc",
      "icon": "",
      "hidden": false,
      "condition": {
        "variable": "qte_succeeded",
        "op": ">=",
        "value": 1
      }
    },
    {
      "id": "explorer",
      "title": "探索者",
      "titleKey": "achievement.explorer.title",
      "description": "搜索过房间的所有角落",
      "descKey": "achievement.explorer.desc",
      "icon": "",
      "hidden": false,
      "condition": {
        "variable": "investigation",
        "op": ">=",
        "value": 2
      }
    },
    {
      "id": "game_finished",
      "title": "通关达成",
      "titleKey": "achievement.game_finished.title",
      "description": "完成一次游戏",
      "descKey": "achievement.game_finished.desc",
      "icon": "",
      "hidden": false,
      "condition": {
        "variable": "completed_game",
        "op": ">=",
        "value": 1
      }
    }
  ],
  "endings": [
    {
      "id": "trust_end",
      "label": "信任的伙伴",
      "labelKey": "ending.trust_end",
      "sceneId": "trust_ending",
      "chapterId": "ch1",
      "thumbnail": "ui/images/end_trust.jpg"
    },
    {
      "id": "alone_end",
      "label": "独行之路",
      "labelKey": "ending.alone_end",
      "sceneId": "alone_ending",
      "chapterId": "ch1",
      "thumbnail": "ui/images/end_alone.jpg"
    },
    {
      "id": "continue_end",
      "label": "继续前行",
      "labelKey": "ending.continue_end",
      "sceneId": "continue_ending",
      "chapterId": "ch3",
      "thumbnail": "ui/images/end_continue.jpg"
    }
  ],
  "chapters": [
    {
      "id": "ch1",
      "label": "第一章：醒来",
      "labelKey": "chapter.ch1",
      "startScene": "intro",
      "thumbnail": "ui/images/ch1.jpg",
      "defaultVariables": {
        "trust": 50,
        "courage": 0,
        "investigation": 0
      }
    },
    {
      "id": "ch2",
      "label": "第二章：调查",
      "labelKey": "chapter.ch2",
      "startScene": "desk_detail",
      "thumbnail": "ui/images/ch2.jpg",
      "defaultVariables": {
        "trust": 60,
        "courage": 10,
        "investigation": 1
      }
    },
    {
      "id": "ch3",
      "label": "第三章：终局",
      "labelKey": "chapter.ch3",
      "startScene": "qte_success",
      "thumbnail": "ui/images/ch3.jpg",
      "defaultVariables": {
        "trust": 70,
        "courage": 20,
        "investigation": 2
      }
    }
  ],
  "scenes": {
    "intro": {
      "id": "intro",
      "videoUrl": "intro/intro.mp4",
      "streamingUrl": {
        "超清 (1080P)": "intro/1080p/index.m3u8",
        "高清 (720P)": "intro/720p/index.m3u8",
        "标清 (480P)": "intro/480p/index.m3u8"
      },
      "subtitleUrl": "intro/intro.vtt",
      "subtitles": {
        "zh": "intro/intro.vtt",
        "en": "intro/intro_en.vtt",
        "ja": "intro/intro_ja.vtt"
      },
      "bgmUrl": "shared/calm_bgm.mp3",
      "bgmVolume": 0.6,
      "bgmCrossFade": 1.5,
      "videoMuted": true,
      "choices": [
        {
          "text": "走向左边那扇发光的门",
          "textKey": "intro.choice.left_door",
          "targetScene": "left_door",
          "effects": [
            {
              "type": "add",
              "target": "courage",
              "value": 10
            }
          ]
        },
        {
          "text": "走向右边那扇普通的门",
          "textKey": "intro.choice.right_door",
          "targetScene": "right_door",
          "effects": [
            {
              "type": "add",
              "target": "courage",
              "value": -5
            }
          ]
        },
        {
          "text": "仔细搜索房间",
          "textKey": "intro.choice.search",
          "targetScene": "investigation_site"
        },
        {
          "text": "留在原地，什么也不做",
          "textKey": "intro.choice.stay",
          "targetScene": "stay"
        }
      ],
      "thumbnail": "intro/thumb.jpg"
    },
    "investigation_site": {
      "id": "investigation_site",
      "type": "image",
      "videoUrl": "",
      "imageUrl": "investigation_site/investigation_scene.jpg",
      "contentSize": {
        "w": 1280,
        "h": 720
      },
      "subtitleUrl": "investigation_site/investigation.vtt",
      "subtitles": {
        "zh": "investigation_site/investigation.vtt",
        "en": "investigation_site/investigation_en.vtt",
        "ja": "investigation_site/investigation_ja.vtt"
      },
      "hotspots": [
        {
          "id": "hs_desk",
          "label": "查看书桌",
          "labelKey": "investigation_site.hotspot.desk",
          "targetScene": "desk_detail",
          "x": 154,
          "y": 144,
          "width": 230,
          "height": 101,
          "effects": [
            {
              "type": "add",
              "target": "investigation",
              "value": 1
            },
            {
              "type": "toggleFlag",
              "target": "checked_desk"
            }
          ]
        },
        {
          "id": "hs_window",
          "label": "查看窗户",
          "labelKey": "investigation_site.hotspot.window",
          "targetScene": "corridor",
          "x": 602,
          "y": 43,
          "width": 192,
          "height": 202
        },
        {
          "id": "hs_closet",
          "label": "检查衣柜",
          "labelKey": "investigation_site.hotspot.closet",
          "targetScene": "desk_detail",
          "x": 422,
          "y": 346,
          "width": 128,
          "height": 187,
          "conditions": [
            {
              "variable": "investigation",
              "op": ">=",
              "value": 1
            }
          ],
          "effects": [
            {
              "type": "add",
              "target": "investigation",
              "value": 1
            }
          ]
        }
      ],
      "choices": []
    },
    "corridor": {
      "id": "corridor",
      "videoUrl": "corridor/corridor.mp4",
      "streamingUrl": {
        "超清 (1080P)": "corridor/1080p/index.m3u8",
        "高清 (720P)": "corridor/720p/index.m3u8",
        "标清 (480P)": "corridor/480p/index.m3u8"
      },
      "contentSize": {
        "w": 1280,
        "h": 720
      },
      "skippable": false,
      "hotspots": [
        {
          "id": "hs_left",
          "label": "走向左边通道",
          "targetScene": "left_door",
          "x": 26,
          "y": 216,
          "width": 384,
          "height": 324,
          "showAt": 1.5,
          "effects": [
            {
              "type": "add",
              "target": "courage",
              "value": 5
            }
          ]
        },
        {
          "id": "hs_center",
          "label": "走向中间通道",
          "targetScene": "trust_ending",
          "x": 422,
          "y": 180,
          "width": 435,
          "height": 396,
          "showAt": 3.0
        },
        {
          "id": "hs_right",
          "label": "走向右边通道",
          "targetScene": "alone_ending",
          "x": 870,
          "y": 216,
          "width": 384,
          "height": 324,
          "showAt": 5.0
        }
      ],
      "thumbnail": "corridor/thumb.jpg"
    },
    "left_door": {
      "id": "left_door",
      "videoUrl": "left_door/left_door.mp4",
      "streamingUrl": {
        "超清 (1080P)": "left_door/1080p/index.m3u8",
        "高清 (720P)": "left_door/720p/index.m3u8",
        "标清 (480P)": "left_door/480p/index.m3u8"
      },
      "subtitleUrl": "left_door/left_door.vtt",
      "subtitles": {
        "zh": "left_door/left_door.vtt",
        "en": "left_door/left_door_en.vtt",
        "ja": "left_door/left_door_ja.vtt"
      },
      "choices": [
        {
          "text": "与陌生人握手",
          "textKey": "left_door.choice.handshake",
          "prompt": "陌生人会记住你的善意",
          "promptKey": "left_door.prompt.handshake",
          "targetScene": "trust_ending",
          "effects": [
            {
              "type": "add",
              "target": "trust",
              "value": 30
            }
          ]
        },
        {
          "text": "拒绝握手，保持警惕",
          "textKey": "left_door.choice.reject",
          "targetScene": "alone_ending"
        }
      ],
      "thumbnail": "left_door/thumb.jpg"
    },
    "right_door": {
      "id": "right_door",
      "videoUrl": "right_door/right_door.mp4",
      "streamingUrl": {
        "超清 (1080P)": "right_door/1080p/index.m3u8",
        "高清 (720P)": "right_door/720p/index.m3u8",
        "标清 (480P)": "right_door/480p/index.m3u8"
      },
      "skippable": false,
      "bgmUrl": "right_door/tense_bgm.mp3",
      "bgmVolume": 0.7,
      "bgmCrossFade": 2.0,
      "videoMuted": true,
      "battleHUD": [
        {
          "label": "你",
          "labelKey": "battle.hud.player",
          "stats": [
            { "variable": "courage", "label": "勇气", "labelKey": "stat.courage", "max": 100 }
          ]
        }
      ],
      "qte": {
        "triggerTime": 1.0,
        "prompt": "躲避飞来的石块！",
        "promptKey": "right_door.qte.dodge",
        "keys": [
          "ArrowLeft",
          "ArrowRight",
          "a",
          "d"
        ],
        "timeLimit": 3.0,
        "successScene": "qte_success",
        "failScene": "qte_fail",
        "effects": {
          "success": [
            {
              "type": "add",
              "target": "courage",
              "value": 15
            },
            {
              "type": "set",
              "target": "qte_succeeded",
              "value": 1
            }
          ],
          "fail": [
            {
              "type": "add",
              "target": "trust",
              "value": -20
            }
          ]
        }
      },
      "thumbnail": "right_door/thumb.jpg"
    },
    "qte_success": {
      "id": "qte_success",
      "videoUrl": "qte_success/qte_success.mp4",
      "streamingUrl": {
        "超清 (1080P)": "qte_success/1080p/index.m3u8",
        "高清 (720P)": "qte_success/720p/index.m3u8",
        "标清 (480P)": "qte_success/480p/index.m3u8"
      },
      "battleResult": {
        "title": "击退成功！",
        "titleKey": "battle.result.victory",
        "stats": [
          { "label": "勇气", "labelKey": "stat.courage", "variable": "courage", "max": 100 },
          { "label": "QTE 成功", "labelKey": "stat.qte_succeeded", "variable": "qte_succeeded" },
          { "label": "信任值", "labelKey": "stat.trust", "variable": "trust" },
          { "label": "调查进度", "labelKey": "stat.investigation", "variable": "investigation", "max": 3 }
        ]
      },
      "choices": [
        {
          "text": "继续前进",
          "textKey": "qte_success.choice.continue",
          "targetScene": "continue_ending"
        },
        {
          "text": "回头",
          "textKey": "qte_success.choice.back",
          "targetScene": "intro"
        }
      ],
      "thumbnail": "qte_success/thumb.jpg"
    },
    "qte_fail": {
      "id": "qte_fail",
      "videoUrl": "qte_fail/qte_fail.mp4",
      "streamingUrl": {
        "超清 (1080P)": "qte_fail/1080p/index.m3u8",
        "高清 (720P)": "qte_fail/720p/index.m3u8",
        "标清 (480P)": "qte_fail/480p/index.m3u8"
      },
      "choices": [],
      "thumbnail": "qte_fail/thumb.jpg"
    },
    "desk_detail": {
      "id": "desk_detail",
      "videoUrl": "shared/continue_ending.mp4",
      "streamingUrl": {
        "超清 (1080P)": "shared/1080p/index.m3u8",
        "高清 (720P)": "shared/720p/index.m3u8",
        "标清 (480P)": "shared/480p/index.m3u8"
      },
      "choices": [
        {
          "text": "返回调查现场",
          "textKey": "desk_detail.choice.return",
          "targetScene": "investigation_site"
        },
        {
          "text": "离开",
          "textKey": "desk_detail.choice.leave",
          "targetScene": "corridor"
        }
      ],
      "thumbnail": "shared/thumb.jpg"
    },
    "stay": {
      "id": "stay",
      "videoUrl": "stay/stay_loop.mp4",
      "streamingUrl": {
        "超清 (1080P)": "stay/1080p/index.m3u8",
        "高清 (720P)": "stay/720p/index.m3u8",
        "标清 (480P)": "stay/480p/index.m3u8"
      },
      "subtitleUrl": "stay/stay.vtt",
      "subtitles": {
        "zh": "stay/stay.vtt",
        "en": "stay/stay_en.vtt",
        "ja": "stay/stay_ja.vtt"
      },
      "bgmUrl": "shared/calm_bgm.mp3",
      "bgmVolume": 0.6,
      "videoMuted": true,
      "loopStart": 3.0,
      "loopEnd": 6.0,
      "choices": [
        {
          "text": "站起来离开",
          "textKey": "stay.choice.stand",
          "targetScene": "alone_ending"
        }
      ],
      "thumbnail": "stay/thumb.jpg"
    },
    "trust_ending": {
      "id": "trust_ending",
      "videoUrl": "trust_ending/trust_ending.mp4",
      "streamingUrl": {
        "超清 (1080P)": "trust_ending/1080p/index.m3u8",
        "高清 (720P)": "trust_ending/720p/index.m3u8",
        "标清 (480P)": "trust_ending/480p/index.m3u8"
      },
      "choices": [
        {
          "text": "开启信任的旅程（需要 trust >= 80）",
          "textKey": "trust_ending.choice.journey",
          "prompt": "你们的羁绊将改变一切",
          "promptKey": "trust_ending.prompt.journey",
          "targetScene": "secret_ending",
          "conditions": [
            {
              "variable": "trust",
              "op": ">=",
              "value": 80
            }
          ]
        },
        {
          "text": "离开这里",
          "textKey": "trust_ending.choice.leave",
          "targetScene": "alone_ending"
        }
      ],
      "thumbnail": "trust_ending/thumb.jpg"
    },
    "secret_ending": {
      "id": "secret_ending",
      "videoUrl": "shared/continue_ending.mp4",
      "streamingUrl": {
        "超清 (1080P)": "shared/1080p/index.m3u8",
        "高清 (720P)": "shared/720p/index.m3u8",
        "标清 (480P)": "shared/480p/index.m3u8"
      },
      "choices": [],
      "onEnter": [
        {
          "type": "set",
          "target": "completed_game",
          "value": 1
        }
      ],
      "thumbnail": "alone_ending/thumb.jpg"
    },
    "continue_ending": {
      "id": "continue_ending",
      "videoUrl": "shared/continue_ending.mp4",
      "streamingUrl": {
        "超清 (1080P)": "shared/1080p/index.m3u8",
        "高清 (720P)": "shared/720p/index.m3u8",
        "标清 (480P)": "shared/480p/index.m3u8"
      },
      "choices": [],
      "thumbnail": "shared/thumb.jpg"
    },
    "alone_ending": {
      "id": "alone_ending",
      "videoUrl": "alone_ending/alone_ending.mp4",
      "choices": [],
      "onEnter": [
        { "type": "set", "target": "completed_game", "value": 1 }
      ],
      "thumbnail": "alone_ending/thumb.jpg"
    },
    "combat_router": {
      "id": "combat_router",
      "videoUrl": "",
      "nextScene": [
        { "conditions": [{ "variable": "courage", "op": ">=", "value": 20 }], "targetScene": "trust_ending" },
        { "conditions": [{ "variable": "courage", "op": "<=", "value": -10 }], "targetScene": "alone_ending" },
        { "targetScene": "right_door" }
      ]
    }
  }
}