{ "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 } ] } ], "battleResult": { "title": "击退成功!", "titleKey": "battle.result.victory", "stats": [ { "label": "勇气", "labelKey": "stat.courage", "variable": "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" }, "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": [ { "text": "继续前进", "textKey": "qte_fail.choice.continue", "targetScene": "continue_ending" }, { "text": "回头", "textKey": "qte_fail.choice.back", "targetScene": "intro" } ], "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" }, "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" } ] } } }