Files
tianshu-engine/public/scenes/demo.json

563 lines
15 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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,
"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" }
]
}
}
}