🔔 Bladewake GDD
📄 Doc 23 · Thế giới & truyện

23 — World Map & Hub (bản đồ thế giới Xứ Vọng & Tháp Chuông Gãy)

bản đồ thế giới (vùng, sông, kênh, mốc), cách 1 run đi qua các vùng, và toàn bộ hub HUB_BELL_TOWER — sơ đồ ô, 8 trạm, vị trí NPC, phòng/khu, palette, tile/prop, ambience, tiến hoá theo Phục Dựng.

Cập nhật: 2026-11-07
13
mục ##
9
mục ###
15
bảng
5134
từ

1Giới thiệu & bản đồ tài liệu

📌
Mục đích: bản đồ thế giới (vùng, sông, kênh, mốc), cách 1 run đi qua các vùng, và toàn bộ hub HUB_BELL_TOWER — sơ đồ ô, 8 trạm, vị trí NPC, phòng/khu, palette, tile/prop, ambience, tiến hoá theo Phục Dựng. Phụ thuộc: 00-Design-Bible.md §3 + data/_bible.json (meta.hub, biomes[], npcs[]) · 16-Run-Structure-Map.md §1, §3, §7 · 18-Meta-Hub-Progression.md §1–§3 · 20-World-Lore.md §4, §8 · 30-Art-Direction.md §3, §4, §6 · 31-VFX-Bible.md §2–§6 · 32-Audio-Bible.md §3.7, §5.2, §7.2, §10.1 · 51-Data-Schema.md §4.13–§4.14. Được dùng bởi: data/biomes/HUB.json · data/av/ENV_HUB.json · dev Unity (scene Hub_BellTower, Hub_TowerLoft, RunController DOCK) · agent art (pixelfx env/prop) · agent audio · agent biome B1–B6 (luật nút DOCK, chuyển cảnh).
🗺️
Bản trực quan: Bản đồ thế giới.
Độ dài từng mục (nghìn ký tự)Độ dài từng mục (nghìn ký tự)0. Phạm vi & nguồn sự thật0. Phạm vi & nguồn sự thật: 0.4k0.4k1. Bản đồ thế giới — Xứ Vọng1. Bản đồ thế giới — Xứ Vọng: 3.6k3.6k2. Run đi qua các vùng2. Run đi qua các vùng: 2.6k2.6k3. Hub HUB_BELL_TOWER — Tháp Chuông Gãy3. Hub HUB_BELL_TOWER — Tháp Chuông Gãy: 10k10k4. Mood, ánh sáng, palette4. Mood, ánh sáng, palette: 1.5k1.5k5. Tileset & prop (spec đủ trong av/EN…5. Tileset & prop (spec đủ trong av/ENV_HUB.json › env_assets, 73 mục): 1.5k1.5k6. Âm thanh & nhạc6. Âm thanh & nhạc: 1.5k1.5k7. Tiến hoá hub theo truyện (Phục Dựng…7. Tiến hoá hub theo truyện (Phục Dựng + cờ): 1.6k1.6k8. Kể chuyện bằng môi trường (đặt cố đ…8. Kể chuyện bằng môi trường (đặt cố định, không thoại): 0.7k0.7k9. VFX & SFX hub (spec đủ trong av/ENV…9. VFX & SFX hub (spec đủ trong av/ENV_HUB.json): 1.5k1.5k10. Dữ liệu & dựng Unity10. Dữ liệu & dựng Unity: 0.7k0.7kQuy tắc cho dev/AIQuy tắc cho dev/AI: 1.2k1.2kQuyết định đã chốtQuyết định đã chốt: 2k2k
Bấm tên mục để nhảy tới mục đó.
Mục lục chi tiết (## và ###)

20. Phạm vi & nguồn sự thật

Nội dungNguồn (thắng khi lệch)
Tên hub, 8 trạm, 7 NPC, GD1–GD5 + giáBible §3 / _bible.json meta.hub
Ô trạm (x, y), mở trạm, cảnh GĐdoc 18 §1.1–§3
Dữ liệu hub (palette, tile, prop, phòng, landmark, ambience)data/biomes/HUB.json (doc này giải thích)
Spec sprite tile/prop + VFX + SFX hubdata/av/ENV_HUB.json
Hub = 0 quái, 0 hazard, 0 sát thươngdoc này (khoá)

31. Bản đồ thế giới — Xứ Vọng

Xứ Vọng là khối núi hình chuông úp: chân = đồi làng, sườn = đầm + mỏ đồng, đỉnh = vực + kinh đô treo + Đại Chuông. Sông Tro chảy vòng chân núi (sông vành): bờ trong = Xứ Vọng, bờ ngoài = Bờ Lặng (B6). Kênh Dẫn Hồn chảy từ đỉnh xuống, đổ ra Sông Tro ngay cạnh hub. Run đi từ vành vào tâm, thấp lên cao.

1.1 Sơ đồ (nhìn từ trên, Bắc lên trên; không theo tỉ lệ)

                         .-----------------------------.
                        /   [B5] ĐỈNH CHUÔNG CÂM        \
                       /    sân tròn r260 dưới miệng     \
                      /     Đại Chuông · ngai Mũ Chuông   \
                     |  ......... Cầu Xích Vua ........... |
                     |  [B4] THÀNH CHUÔNG TREO             |
                     |   kinh đô treo xích qua Vực Vọng    |
                     |   tháp cờ hiệu · chuồng rồng tro    |
                     |                 ║                   |
            mỏ đồng  |  [B3] LÒ ĐÚC CÂM ║  Lò Mẹ           |
            (sườn Tây)|  băng chuyền khuôn║ kho chuông câm  |
                     |                 ║ Kênh Dẫn Hồn      |
                     |  [B2] ĐẦM VẢI LIỆM (đò ngược kênh)  |
                     |   Rừng Đước Liệm · Bến Đò Lật       |
                     |                 ║                   |
                     |  [B1] ĐỒI MỘ TRO ║                  |
                     |   Làng Gặt · Nhà Nguyện Chuông Đá   |
                      \  Sân Hầm Tro    ║                 /
   ~~~~~~~~~~~~~~~~~~~~\~~[HUB] THÁP CHUÔNG GÃY ═╝~~~~~~~/~~~~~~~~~~~~~~~
   ~~~~~~~~~~~~~~~~~~~~ SÔNG TRO (sông vành, chảy Đông → Tây) ~~~~~~~~~~~~
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   ░░░░░░░░░░░░░░░░ [B6] BỜ LẶNG — bờ ngoài, Bãi Gương ░░░░░░░░░░░░░░░░░░
   ║ = Kênh Dẫn Hồn (đỉnh → sông) · ═╝ = cửa kênh đổ ra sông cạnh hub

1.2 Vùng

VùngHồi (act)Độ cao tương đốiMốcNối tớiNhạc
HUB Tháp Chuông GãyHUB0 (bờ sông)Chuông Gãy, Lửa Canh Cuối, Cửa KênhB1 (bộ + đò men bờ), B6 (đò cuối)HUB · HUB_BELL_TOWER Tháp Chuông Gãy (mọi trạm ST_*) · S0 + stem GĐ Phục Dựng đã mở (GD1–… MUS_hub_bell_tower
B1 Đồi Mộ TroI1Sân Hầm Tro, Nhà Nguyện Chuông Đá, Làng GặtB2 (DOCK)EXPLORE/COMBAT · Hồi I B1 Đồi Mộ Tro · bản đồ + mọi nút CMB/ELT/CHL/RSC/EVT/SHP/RST/SEC c… MUS_b1_grave_hill
B2 Đầm Vải LiệmII2Bến Đò Lật, Rừng Đước LiệmB3 (DOCK)EXPLORE/COMBAT · Hồi II B2 Đầm Vải Liệm · bản đồ + mọi nút chiến/tiện ích B2 · lớp theo I MUS_b2_shroud_marsh
B3 Lò Đúc CâmIII3Lò Mẹ, băng chuyền khuônB4 (DOCK)EXPLORE/COMBAT · Hồi III B3 Lò Đúc Câm · bản đồ + mọi nút chiến/tiện ích B3 · lớp theo I MUS_b3_mute_foundry
B4 Thành Chuông TreoIV4Cầu Xích Vua, tháp cờ hiệuB5 (DOCK + leo cầu)EXPLORE/COMBAT · Hồi IV B4 Thành Chuông Treo · bản đồ + mọi nút chiến/tiện ích B4 · lớp t… MUS_b4_hanging_city
B5 Đỉnh Chuông CâmV (Kết)5sân r260, ngai Mũ ChuôngB6 nếu Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPENFINALE · B5 Đỉnh Chuông Câm (Kết, act V): ải 60 s trộn quái 4 Hồi (lớp theo I) + BS_FINAL… MUS_finale_crown
B6 Bờ LặngVI (Bí mật)0 (bờ ngoài)Bãi Gương— (kết)SECRET · B6 Bờ Lặng (Bí mật, act VI, cần FLAG_SHORE_OPEN): ải 45 s quanh Tiếng Câm EN_B6_… MUS_quiet_shore

1.3 Luật thế giới áp cho mọi bản đồ

  • Tro rơi như tuyết B1–B4, dày dần theo độ cao (hub = 40% mật độ B1); B5 tro lơ lửng/rơi ngược; B6 không tro.
  • Không mặt trời: trăng tro xám là nguồn chung, đặt cố định trên-trái; ánh ấm chỉ ở lửa người sống (hub có nhiều nhất).
  • Chuông có ở mọi vùng. Chuông phe địch câm/nứt/đục; tiếng ngân trong trẻo chỉ của mảnh lưỡi hero và chuông tháp hub (Chuông Thử 196 Hz, GD5 chuông lớn).
  • Nước: hub sông/kênh xám-lam trôi; B2 nước nông; B6 gương phẳng không phản chiếu, không tiếng vọng.

42. Run đi qua các vùng

 HUB ──(ST_DOCK: chọn mode, cảnh 6 s)──► B1 Hồi I (R1…R5 → R6 BOS BS_B1)
                                            │ DOCK ≤ 20 s (đò ngược Kênh Dẫn Hồn)
                                            ▼
                                         B2 Hồi II (+ Act Mutator) → BS_B2
                                            │ DOCK
                                            ▼
                                         B3 Hồi III → BS_B3
                                            │ DOCK
                                            ▼
                                         B4 Hồi IV → BS_B4
                                            │ DOCK + leo Cầu Xích Vua (20 s)
                                            ▼
                                         B5 Kết: ải 60 s → BS_FINAL ──► ENDING
                                            │ chỉ khi FLAG_SHORE_OPEN: đò cuối xuôi kênh 15 s
                                            ▼
                                         B6 Bí mật: ải 45 s → BS_TRUE ──► END_QUIET_SHORE
 chết ở bất kỳ đâu / thắng ──► SUMMARY ──► mảnh lưỡi kéo về Lửa Canh ──► HUB (thức dậy ST_HEARTH)
ChặngPhương tiệnThời gianMànGhi chú
HUB → B1đò Calla men bờ 3 s + đi bộ lên bậc đá chân đồi 3 s6 s (bỏ qua sau 1 s)Cảnh Xuất Phát RM_HUB_departuređồng hồ run bắt đầu khi bản đồ Hồi I hiện
B1→B2, B2→B3, B3→B4đò ngược Kênh Dẫn Hồn≤ 20 sBoong Đò Calla (nút DOCK) RM_HUB_ferry_deck (nút DOCK)hồi 25% HP · Sạp Rong 4 ô · 1 lần đổi thẻ miễn phí · 1 beat Calla ≤ 6 s
B4→B5DOCK rồi leo Cầu Xích Vua (không đò)≤ 20 s + 20 sBoong Đò Calla (nút DOCK) RM_HUB_ferry_deck → cảnh cầu (doc biome B5)không bản đồ ở Kết
B5→B6đò cuối xuôi kênh ra sông, sang bờ ngoài (Chìa Đò)15 scảnh (doc biome B6)chỉ khi Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN
chết/thắng → HUBmảnh lưỡi kéo về (HubArrive (vào hub sau chết/thắng) t=0, trước hearth_flare 0.4 s VFX_ENV_HUB_blade_return)màn tổng kết + 1.2 s thức dậyscene hub"Thức Lại" bỏ hub, vào run mới ≤ 5 s

Nút DOCK dùng chung 1 phòng: Boong Đò Calla (nút DOCK) RM_HUB_ferry_deck (480 × 540 px sàn, camera cố định 480×270). Nền = parallax 3 lớp của biome Hồi kế (0.2× / 0.5× / 0.8×) trượt Tây → Đông 24 px/s; nước kênh tint LUT biome kế. Biome B1–B5 chỉ cung cấp 3 lớp parallax ENV_<Bn>_dock_bg_far|mid|near (đề xuất cho agent biome); nếu thiếu → dùng parallax mặc định sương tro của hub.

Bến (DOCK) của B1–B5 ở doc 20 (Bậc Đá Bến Kênh, Bến Calla, Bến Cống Xỉ, Bến Chân Cầu Xích…) = nơi đò rời bờ, chỉ hiện qua parallax ENV_<Bn>_dock_bg_far|mid|near của phòng Boong Đò Calla (nút DOCK) RM_HUB_ferry_deck; không có phòng DOCK riêng trong biomes/<Bn>.json.

53. Hub HUB_BELL_TOWER — Tháp Chuông Gãy

1 scene Hub_BellTower + 1 sub-scene Hub_TowerLoft. 0 quái · 0 hazard · 0 sát thương (trừ đòn hero vào bù nhìn Sân Tập). Đi bộ tốc hero gốc; dịch chuyển nhanh MAP (Back/Tab) → danh sách trạm đã mở → mờ 0.25 s (FastTravel (MAP → chọn trạm): t=0 ở chỗ cũ, t=0.25 ở trạm đích VFX_ENV_HUB_fast_travel) → đứng trước trạm. Trong r24 px của trạm → nhắc INTERACT (A/E).

3.1 Lưới & quy đổi toạ độ

Đại lượngGiá trị
Lưới hub60 × 34 ô màn 16 px = 960 × 544 art px màn = 960 × 1.088 px sàn (tilt 0.5)
Ô (x, y) → px sàn(16x + 8, 32y + 16)
Ô (x, y) → px màn(16x + 8, 16y + 8)
Tile UnityFLOOR 32×16 màn (cell (2,1)) = 2 × 1 ô hub; PPU 16
Camera480×270, theo hero, kẹp trong scene, deadzone 24×12, zoom 1× (menu Lửa Canh 1.25×)
VDLửa Canh ô (30,14) → sàn (488, 464) · màn (488, 232)

3.2 Sơ đồ đầy đủ (1 ký tự = 1 ô 16 px màn; Bắc lên trên)

##^^^^^^^^^^^^^^^^^^^^^^^^^^::::^^^^^^^^^^^^^^^^^^^^^^^%%%##
##^^^^^^^^^^^^^^^^^^^^^^^^^^:||:^^^^^^^^^^^^^^^^^^^^^^^%%%##
##^^^^^^^^^^^^^^^^^^^^^^^^^^::::^^^^^^^^^^^^^^^^^^^^^^^%%%##
##.......................s..::::...s..................-%%%##
##...........................GGG......................-%%%##
##....................s...............s...............-%%%##
##............................B.......................-%%%##
##....................................................-%%%##
##....................s....TTTTTTTT...s...............-%%%##
##..............#####......TTTTTTTT.W...#####.........-%%%##
##..............#####......TTTTTTTT./...#####.........-%%%##
##...............FFF.......TTTTTTTT./....LLL..........-%%%##
##...............FFF.......TTTTTTTT/.....LLL..........-%%%##
##............................:.......................-%%%##
##...........................HHH.............e.e.e.e.e-%%%##
##........................o.......o...................-%%%##
##............................S..............e.e.e.e.e-%%%##
##............................:.......................-%%%##
##......::::::::::::o:::::::::::::::::::o::::::::::...-%%%##
##............................:...........o,,,,,,,,,,o-%%%##
##............................:...........,,,,,,,,,,,,-%%%##
##............................:...........,,,,,,,,,,,,-%%%##
##.........#######............:...........,,,,,,,,,,,,-%%%##
##...........MMM..............:...........,,,,,YYY,,,,-%%%##
##...........MMM..............:...........,,,,,YYY,,,,-%%%##
##............................:...........,,,,,,,,,,,,-%%%##
##..........................=====.........,,,,,,,,,,,,-%%%##
##.........................o=====o........,,,,,,,,,,,,-%%%##
##..........................=====.........o,,,,,,,,,,o-%%%##
##,,,,,,,,,,,,,,,,,,,,,,,,,,=====,,,,,,,,,,,,,,,,,,,,,-%%%##
##----r-----r-------r-------=====-----r-------r----r--.%%%##
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~DDD~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~DDD~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ký hiệuNghĩaAsset
#tường đá (sau chái/hiên, mép scene)Tường đá thấp sau Lò Rèn, Sổ Tang, Chợ Đò (#), mép Tây/Đông scene; rê… ENV_HUB_wall_n_bank / Tường đá tháp & chái: đỉnh w0, mặt đứng w1/w2 48 px, chân w3; khe cửa… ENV_HUB_wall_n_tower
^vách đồi Bắc (không đi)Vách đồi phía Bắc (^): mặt dốc đất tro + đá, rễ khô treo; RuleTile 47… ENV_HUB_edge_cliff
.sàn đá bếnSàn đá bến chính (ký hiệu . trên bản đồ): 2–3 phiến chữ nhật nằm/ô, m… ENV_HUB_floor_quay
,đất tro (bờ, Sân Tập)Đất tro nén (,) ở bờ sông và Sân Tập: mặt lì hạt 1 px soil_ash/floor_… ENV_HUB_floor_ash_soil
:lối đá lát / bậcLối đá lát (:) nối trạm: phiến vuông sáng hơn sàn 1 bậc (floor_lit) đ… ENV_HUB_floor_path
=ván bến, cầu tàuVán bến/cầu tàu (=): 4 tấm ván chạy Bắc–Nam/ô, khe wood_3 1 px, đinh … ENV_HUB_floor_plank
~ / %Sông Tro / Kênh Dẫn HồnSông Tro (~): gợn ngang trôi Đông → Tây 1 px/frame, đốm tro trôi shro… ENV_HUB_liquid_ash_river / Kênh Dẫn Hồn (%): dòng chảy dọc Bắc → Nam (xuống sông), gợn chữ V 1 p… ENV_HUB_liquid_canal
-lan can thấpLan can gỗ thấp mép sông/kênh (-): cột 2 px mỗi 16 px + thanh ngang; … ENV_HUB_wall_s_rail
T /thân tháp / cầu thang ngoàiThân Tháp Chuông Gãy 176 px (LMK_HUB_bell_tower), ô (27–34, 8–12). 6 … ENV_HUB_tower_body / Cầu thang đá ngoài sườn Đông tháp ô (35–36, 10–12) lên cửa loft. Biến… ENV_HUB_tower_stair
H SLửa Canh / điểm thức dậyST_HEARTH prop chủ 64 px: bếp đá tròn, lửa hổ phách 8 frame @8 fps, t… ENV_HUB_hearth_fire
G BChuông Gãy / Chuông ThửChuông Gãy nằm nghiêng (LMK_HUB_broken_bell): vết nứt ink 1 px, 13 vế… ENV_HUB_great_bell_broken / ST_TEST_BELL prop chủ 56 px: khung gỗ + chuông nhỏ đồng (vành 20 px).… ENV_HUB_test_bell
F L M Y W DLò Rèn / Sổ Tang / Chợ Đò / Sân Tập / Tủ Áo Tang / đòprop chủ trạm §3.3
s ebệ tượng ×6 / bia Kẻ Thức ×10Bệ tượng ×6: biến thể 0 trống, 1–6 = tượng đá 6 boss (BS_B1..BS_B4, B… ENV_HUB_statue_plinth / Bia gỗ Kẻ Thức (×10): biến thể 0 có khắc, 1 trống (2 bia), 2 có nến (… ENV_HUB_epitaph_board
| r ocổng đồi / lau sậy / cột đèn, cọc gócCổng 2 cột đá + xà ở Lối Lên Đồi; sương tro chặn sau cổng (collision). ENV_HUB_hill_gate / Lau sậy khô (r) mép sông; đung đưa 6 frame @6 fps; rẽ ra 4 frame khi … ENV_HUB_river_reeds / Cột đèn lối đi (o) ×6: biến thể 0 tắt, 1 sáng; số cột sáng = 1 + GĐ (… ENV_HUB_lantern_post

3.3 Trạm, NPC, prop (vị trí khoá; ô theo doc 18 §1.1)

TrạmÔ prop chủProp chủ (cao)2 prop phụNPC · ô · hướng · idleMởTương tác →
Lửa Canh ST_HEARTH Lửa Canh(30,14)ST_HEARTH prop chủ 64 px: bếp đá tròn, lửa hổ phách 8 frame @8 fps, t… ENV_HUB_hearth_fire 40 pxhearth_bench, hearth_kettleBà Ulla NPC_ULLA (28,14) se; ngồi ghế khi idle > 20 ssẵnhero/ult/Dạng Rèn/2 kỹ năng khởi đầu · Phục Dựng GD1–GD5 · beat truyện
Lò Rèn Vọng ST_FORGE Lò Rèn Vọng(18,12)ST_FORGE prop chủ 56 px: lò đá nhỏ + đe sắt; than lò 6 frame @8 fps. … ENV_HUB_forge_anvil 44 pxforge_bellows, forge_quench_tubLão Grem NPC_GREM (20,13) sw; rèn mỗi 6–9 s nhịp 3+3+2xong run 1mở hero (Mảnh Vọng) · AS2/AS3 · UL2/UL3 · công thức Tiến Hoá
Sổ Tang ST_LEDGER Sổ Tang(42,12)ST_LEDGER prop chủ 48 px: bàn viết dưới hiên, Sổ Tang dày mở, lọ mực,… ENV_HUB_ledger_desk 36 pxledger_shelves, ledger_memory_altarThầy Hol NPC_HOL (43,13) sw; lật trang 8–12 sxong run 1codex ~120 trang · lịch sử run · bia mộ · Sổ Thù · Bàn Thờ Ký Ức (gột Sẹo 200)
Chuông Thử ST_TEST_BELL Chuông Thử(30,6)ST_TEST_BELL prop chủ 56 px: khung gỗ + chuông nhỏ đồng (vành 20 px).… ENV_HUB_test_bell 56 pxtest_bell_lantern, mourning_band_rackNhóc Lem NPC_LEM (31,7) s; ngồi bậc từ đầu (trước GD1 chỉ thoại, ≤ 3 beat)GD1Tro Hồn → Nến Canh 100:1 · Mắt Tro · Khăn Tang (sau END_BELL_TOLL)
Chợ Đò ST_MARKET Chợ Đò(14,24)ST_MARKET prop chủ 56 px: sạp gỗ mái vải tang, hộp giấy lời trăng trố… ENV_HUB_market_stall 56 pxmarket_word_strings, market_scale (+ market_stall_b GD2)Bà Mott NPC_MOTT (16,24) se; đếm tiền 10–14 sxong run 2mở Edge chung/Relic vào pool · Lễ Vật · nâng Đổi/Xoá/Giữ
Bến Đò ST_DOCK Bến Đò(30,30)ST_DOCK prop chủ 64 px cao gồm sào: đò gỗ dài, đèn mũi, nhấp nhô 8 fr… ENV_HUB_dock_ferry 32 px (+ sào)dock_mooring_post, dock_lantern_poleCalla NPC_CALLA (31,31) n, mũi đò chống sàosẵnchọn mode (STANDARD/DAILY/Truy Tuần/ENDLESS/BOSS_RUSH/CUSTOM) · xuất phát · Chìa Đò
Sân Tập ST_YARD Sân Tập(48,24)ST_YARD prop chủ 44 px = cọc + Bù Nhìn Răm (NPC). Clip hurt 9 frame @… ENV_HUB_yard_dummy 44 px (= Bù Nhìn Răm NPC_RAM)yard_weapon_rack (43,20), yard_tell_post (52,20)Bù Nhìn Răm NPC_RAM là bù nhìn trên cọcxong run 3tell dummy · bài tập ĐÁP · replay 10 s · frame data · đo DPS · TT1–TT5
Tủ Áo Tang ST_WARDROBE Tủ Áo Tang(36,9) neo cửa loftST_WARDROBE prop chủ 48 px trong loft: rương áo kinh đô nắp mở, vải t… ENV_HUB_wardrobe_chest 36 pxwardrobe_mirror, wardrobe_rail—GD4skin (LUT trong slot) · trang trí tháp · loadout

3.4 Khu/phòng (rooms[] trong HUB.json)

IdKhuÔCỡ sàn pxProp chínhCamera / ghi chú
Scene Hub_BellTower (toàn cảnh) RM_HUB_bell_towertoàn scene0–59 × 0–33960 × 1.088tháp, đèn, lau sậysơ đồ §3.2
Sân Lửa Canh RM_HUB_hearth_courtSân Lửa Canh24–36 × 13–17208 × 160lửa, ghế, ấm, bàn Lemzoom 1.25× khi menu, letterbox 12 px
Sân Trên — Chuông Gãy RM_HUB_upper_yardSân Trên — Chuông Gãy18–42 × 3–8400 × 192chuông gãy, Chuông Thử, 6 bệtháp mờ α 0.45 khi hero sau tháp; camera lệch lên 16 px
Chái Lò Rèn RM_HUB_forge_wingChái Lò Rèn12–24 × 9–15208 × 224đe, bễ, thùng tôivũng lò r56 α 0.22
Hiên Sổ Tang & Hàng Bia RM_HUB_ledger_porchHiên Sổ Tang & Hàng Bia38–53 × 9–17256 × 288bàn, kệ, bàn thờ, 10 bia—
Bờ Chợ Đò RM_HUB_market_bankBờ Chợ Đò8–20 × 21–28208 × 2562 sạp, dây lời, cân—
Sân Tập RM_HUB_training_yardSân Tập42–53 × 19–28192 × 320dummy, giá, cột nhịpvùng sạch tell r96 quanh (48,24); khoá camera khi bài tập
Bến Đò RM_HUB_dockBến Đò22–38 × 26–33272 × 256đò, cọc, đèn, cống kênh—
Tầng Ba Tháp (Tủ Áo Tang) RM_HUB_tower_loftTầng Ba Thápsub-scene320 × 352rương, gương, giá áo, kệ nhạc, tranhcửa ở (36,10); mờ 0.25 s
Cổng Đồi RM_HUB_hill_gateCổng Đồi26–33 × 0–4128 × 160cổng đásương chặn; hero nói "Chưa. Bến Đò trước." 1 lần/phiên
Boong Đò Calla (nút DOCK) RM_HUB_ferry_deckBoong đò (nút DOCK)cảnh riêng480 × 540đò lớn 288×96 màncamera cố định; §2
Cảnh Xuất Phát RM_HUB_departureCảnh xuất phátcảnh riêng960 × 256đò, lau sậy, bậc đồi6 s, camera trượt 96 px/s
  • Schema bắt objectives ≥ 1 và node_types ≥ 1 cho mọi phòng: phòng hub ghi ["TRIAL"] / ["DOCK"] làm giá trị giữ chỗ. RoomPicker của nút DOCK chỉ được chọn Boong Đò Calla (nút DOCK) RM_HUB_ferry_deck; mọi RM_HUB_* khác chỉ dùng trong scene hub; MapGen/Director bỏ qua file HUB.
  • spawn_edges ở hub = hướng người chơi đi vào khu (không có quái spawn).

64. Mood, ánh sáng, palette

Mood: nơi nghỉ duy nhất — ấm, chậm, buồn không tuyệt vọng. Thời điểm: đêm vĩnh viễn, trăng tro sau mây, tro rơi mỏng 40% B1.

4.1 Nguồn sáng

NguồnTokenHexVũngKhi
Trăng tro (toàn cảnh, trên-trái)light_moon#a9b0c4phủ α 0.10; dải cửa sổ α 0.12luôn
Lửa Canhlight_hearth#d9b48cr96 α 0.25, nhấp nháy 1.5 Hz ±0.04luôn (tắt ở cảnh END_QUIET_SHORE)
Lò rènlight_forge#d4a284r56 α 0.22, +0.03 mỗi nhát búa 0.2 sST_FORGE mở
Đèn lồng trạm/cộtlight_lantern#d9c7a0r40 α 0.18trạm mở; cột sáng = 1 + GĐ
Chuông tháp GD5light_bell#c8c0b0toàn sân r240 α 0.08GD5
  • Color grading LUT_HUB: shadow nâng về #23212a, highlight +3% R, bão hoà ×0.95. V sàn base: GD0 0.17 → +0.02/GĐ → GD5 0.27 (luôn < V hero / 1.35).
  • Vũng sáng động tối đa trong hub: 12 (≤ trần 24, doc 31 §6.1).

4.2 Ramp (token → hex; mọi màu S ≤ 40%)

NhómTông (sáng → sâu)
Sàn (mortar dark base alt alt2 lit)#1b1819 #221e1f #2c2728 #292425 #2f2a2b #352f30
Tường/đá w0..w3#6e6662 #544d4a #403a38 #2f2a29
Gỗ bến#a8998a #7a6d62 #54493f #382f29
Vải tang ngà#e0dccf #aaa69a #77746b #4c4a44
Đồng chuông xỉn#b8a888 #8a7c62 #5e5442 #3d362b
Sông Tro#8c9298 #666b72 #464a51 #2e3036
Phụđất tro #3a3533 · rêu chết #5f6656 · than #d4a284 · void #15131d · ink #0b0a10

Cấm (forbidden hues): vàng tell hue 32–62° S ≥ 45% (chỉ #ffd84a) · tím tell 260–290° S ≥ 45% (chỉ #b14cff) · đỏ thẫm 340–10° S > 30% · mọi pixel môi trường S > 40% · tâm slot 12 hero ±10° với S > 30% trên đèn/prop phát sáng · vòng chấm #e8e4f0 + gạch chéo trên tile/decal · #f2ead8 (dành ◆ Tro Nhớ).

75. Tileset & prop (spec đủ trong av/ENV_HUB.json › env_assets, 73 mục)

LoạiSốId (ENV_HUB_…)Autotile / anim
FLOOR5 bộ × 8floor_quay floor_plank floor_ash_soil floor_tower floor_pathngẫu nhiên theo seed ô, 60/40; ash_soil↔quay RuleTile 16; path RuleTile 16
FLOOR_DETAIL4 × 8detail_crack detail_ash detail_moss detail_pebble≤ 30% ô; Sân Tập ≤ 5%
EDGE2edge_river edge_cliffRuleTile 47 (blob 8 hướng), mặt rơi 24 px
WALL_N / WALL_S2 / 1wall_n_tower wall_n_bank / wall_s_railRuleTile 16; WALL_N mờ α 0.45 khi che
LIQUID2liquid_ash_river liquid_canal8 frame @8 fps loop
DECAL8decal_ash_drift wax_drip footprints scorch paper_scraps chalk_lines bell_dent puddlelớp Map, ≤ 120/scene
LIGHT4light_hearth light_lantern light_forge light_moon_shaftshader SpriteAdd elip pixel
PROP / PROP_ANIM458 prop chủ trạm + 16 phụ + 21 cảnh (tháp, chuông gãy/treo, bệ, bia, đèn, lau sậy, đò lật, khăn, thùng, củi, bụi, cổng, cống, cầu thang, nến, giàn Phục Dựng, bàn Lem, sạp 2, hộp nhạc, tranh)xem từng mục

86. Âm thanh & nhạc

LớpIdLuật
BedSceneLoaded Hub_BellTower (phát suốt; lớp GD1–GD5 bật theo FLAG Phục … SFX_HUB_amb_bed 90 s stereo, −30 LUFS-Ilửa + sông + gió tháp; +1 lớp mỗi GĐ (crossfade 2 s)
Spot (7)AmbienceSpot hub (1 spot/6–14 s chung cho cả nhóm spot hub, pan ngẫu … SFX_ENV_HUB_river_lap tower_creak ash_gust rope_knock reed_rustle fire_pop far_bell_hum1 spot / 6–14 s, pan ±0.6, không lặp loại liền
Loop vị tríPositional loop tại ENV_HUB_canal_sluice (suy giảm r 320 px) SFX_ENV_HUB_canal_flow (cống kênh, r320) · Loop khi đò chạy (RM_HUB_departure, RM_HUB_ferry_deck) — gắn VFX_ENV_… SFX_ENV_HUB_ferry_creak (đò chạy)—
NhạcHUB · HUB_BELL_TOWER Tháp Chuông Gãy (mọi trạm ST_*) · S0 + stem GĐ Phục Dựng đã mở (GD1–… MUS_hub_bell_tower 72 3/4 F Lydian (GD5 → D); S0 + 5 stem GĐ; stinger depart, hero_<Hxx>snapshot SN_HUB (Music −6 dB, Ambience −4 dB)
Nhạc DOCKDOCK · Bến Giữa Hồi (nút DOCK sau boss Hồi I–IV, ≤ 20 s, Sạp Rong + chở đò Calla sang Hồi… MUS_dock_crossing 84 6/8 D Doriancrossfade 8 s sang cue Hồi kế
Hộp nhạc (18)phát lại 18 cue canon trong loft, thay stem hub khi đang phát1 hộp/lần

97. Tiến hoá hub theo truyện (Phục Dựng + cờ)

MứcĐiều kiệnThay đổi hình (cộng dồn)Đèn / âm / nhạc
GD0mớitầng trệt tối, chóp tháp gãy; chỉ Lửa Canh + Bến Đò sáng; trạm khác phủ vải; Lem ngồi cạnh chuông tối1 cột đèn; bed gốc; S0
run 1 / 2 / 3xong runmở FORGE + LEDGER / MARKET / YARD (lột vải)đèn trạm bật
GD1 · 500ST_TEST_BELL sáng đèn; lớp sáng tầng trệt. FLAG_LEM_LIGHTChuông Thử sáng, đèn lồng cột, nến chân chuông; cảnh Lem gõ thử 8 s+lớp bấc đèn; stem hộp nhạc LM_LEM
GD2 · 1.200+12 mục pool ở Chợ Đò. FLAG_MARKET_WIDEsạp thứ 2, 6 dây lời trăng trối, ván mới ở chợ+chợ lầm rầm; stem đàn nguyệt
GD3 · 2.500MRN11–MRN15 khả dụng sau END_BELL_TOLL; Relic tối đa 4/run. FLAG_MOURNING_DEEPtầng hai cửa sổ sáng; 5 dải khăn tang quanh lan can+lò rèn xa; stem kèn bầu
GD4 · 4.000Mở ST_WARDROBE; Lửa Gửi 2/run. FLAG_WARDROBE_OPENtầng ba sáng, cầu thang mở, loft + Tủ Áo Tang+vải phần phật; stem dây
GD5 · 6.000Chuông tháp treo lại; 1/4 điều kiện FLAG_SHORE_OPEN. FLAG_BELL_HUNGchuông lớn treo chóp; chuông gãy biến mất → decal_bell_dent; 6 cột đèn sáng; vòng sáng toàn sânhum 98 Hz; stem LM_BELL; key → D
END_BELL_TOLLkết 1tro rơi chậm 20%; giá Khăn Tang có dải—
END_QUIET_SHOREkết thậtUlla tắt Lửa Canh; dây lời trăng trối trống; Lem vắng; biến thể "bình minh xám" (cảnh kết)nhạc ENDING · END_QUIET_SHORE Bến Bình Yên (hạ BS_TRUE ở B6) · 210 s tuyến tính đi cùng 12 thẻ… MUS_end_quiet_shore

108. Kể chuyện bằng môi trường (đặt cố định, không thoại)

  1. Hàng Bia 10 bia gỗ: 8 tên Kẻ Thức đã ngã trước người chơi + 2 bia trống Hol để sẵn.
  2. Chuông Gãy 13 vết khía vành = 13 mảnh lưỡi; vết 13 sâu hơn.
  3. Bến Đò 4 cọc, 3 gãy; chỉ cọc của Calla còn dây mới.
  4. Dây lời trăng trối tăng theo GĐ; sau kết thật trống trơn (Mott trả lại hết).
  5. Bát cháo của Lem luôn đầy, nguội — em không ăn; gương loft không phản chiếu Lem.
  6. Mũ sắt của Răm khắc tên Đời Một không khớp Sổ Tang (không giải ở 1.0).
  7. Dấu chân tro trên bậc Cổng Đồi: +1 cặp/run, tối đa 24.
  8. Bờ kia chỉ là dải sương phẳng không phản chiếu; có Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN → 1 đốm bạc nhợt nhấp nháy 0.25 Hz.
  9. Giá Khăn Tang số dải = Độ Tang đang buộc / 3.

119. VFX & SFX hub (spec đủ trong av/ENV_HUB.json)

NhómVFX (VFX_ENV_HUB_…)SFX
Khí quyển (loop)ash_snow hearth_embers river_mist dust_motes canal_foam far_shore_glintbed + 7 spot + canal_flow
Trạmhearth_flare forge_sparks forge_quench test_bell_ring ledger_dust paper_flutter straw_burst cloth_shake scar_cleanse candle_light plinth_placeHubWake: hero ngồi dậy cạnh Lửa Canh (t=0 frame 0 clip wake) SFX_HUB_hearth_wake forge_strike forge_unlock test_bell ledger_page market yard_dummy wardrobe · ScarCleansed SFX_ENV_HUB_scar_cleanse candle_light plinth_place
Tiến trìnhstation_unveil restore_stage bell_raiseStationUnlocked SFX_ENV_HUB_station_unveil · RestoreStageBought GD1–GD5 (t=0 cảnh) SFX_HUB_restore_stage · GD5 cảnh treo chuông (t=6 s) SFX_ENV_HUB_bell_raise
Chuyển cảnhblade_return fast_travel ferry_wake act_fogHubArrive t=0 (mảnh lưỡi kéo về lửa) SFX_ENV_HUB_blade_return · FastTravel t=0 (rời chỗ cũ) SFX_HUB_fast_travel · DepartConfirmed ở ST_DOCK (t=0 cảnh 6 s) SFX_HUB_dock_depart · Loop khi đò chạy (RM_HUB_departure, RM_HUB_ferry_deck) — gắn VFX_ENV_… SFX_ENV_HUB_ferry_creak · Chuyển cảnh màn tro (VFX_ENV_HUB_act_fog) t=0 SFX_ENV_HUB_act_fog
NPC—BarkShown speaker=NPC_* (1 lần khi bark mở) SFX_HUB_npc_murmur (7 bộ giọng không lời)
  • Mọi VFX hub: owner_class ENV, tint BIOME, dirs 1, không hitbox, LOD L1 (khí quyển) / L2 (trạm), act_fog never. Cấm vòng/elip sàn viền 2 px và sóng vòng (Chuông Thử = vạch rung dọc).
  • Hub không có encounter, wave script, event EVT_: encounter_scripts/encounters/events để trống có chủ ý.

1210. Dữ liệu & dựng Unity

ViệcFile / class
SceneAssets/_Project/Scenes/Hub_BellTower.unity + Hub_TowerLoft.unity (additive)
Đọc dữ liệuHubBiomeData ← data/biomes/HUB.json; prop trạm ← meta.json stations[].env_prop
Lớp Phục DựngHubRestorationLayers: 6 GameObject gốc GD0..GD5, bật cộng dồn theo FLAG_*; mỗi lớp chứa prop + Light2D/vũng + AudioSource lớp bed
TrạmHubStation (id ST_*, ô, r24 nhắc INTERACT, trạng thái khoá = vải xám)
Dịch chuyển nhanhHubFastTravel (mờ 0.25 s, đích = ô trước prop +1 y)
Nút DOCKRunController state DOCK → load Boong Đò Calla (nút DOCK) RM_HUB_ferry_deck (prefab DockFerryDeck), parallax từ biome Hồi kế
Sortprop/NPC Y-sort GamePlayLayer1 pivot chân; tường WALL_N che → OcclusionFader α 0.45 / 0.15 s

13Quy tắc cho dev/AI

  1. Hub = 0 quái, 0 hazard, 0 sát thương, 0 rơi đồ. Không thêm combat vào hub (trừ đòn hero vào Bù Nhìn Răm NPC_RAM, không thưởng).
  2. Vị trí trạm/NPC dùng đúng ô §3.3; đổi ô = sửa doc 18 §1.1 + doc này + HUB.json cùng lượt.
  3. Tiến hoá hub chỉ bằng lớp cộng dồn (prop + đèn α ≤ 0.25 + 1 lớp ambience + 1 stem nhạc) theo FLAG_*; cấm làm bộ art thứ 2 cho tháp.
  4. Mọi pixel môi trường hub S ≤ 40%; không vàng/tím tell, không đỏ thẫm, không vòng chấm/gạch chéo; chạy inv01_check.py --kind env = 0 lỗi trước art-style-reviewer.
  5. Tiếng chuông trong trẻo chỉ ở 4 nguồn (§6); mọi chuông khác trong hub câm.
  6. RoomPicker nút DOCK chỉ chọn Boong Đò Calla (nút DOCK) RM_HUB_ferry_deck; MapGen/HordeDirector không đọc biomes/HUB.json.
  7. Id mới của hub: VFX/SFX VFX_ENV_HUB_<slug> / SFX_ENV_HUB_<slug>; 13 id SFX_HUB_* canon doc 32 §7.2 giữ nguyên tên và cũng nằm trong av/ENV_HUB.json.
  8. Tham chiếu chéo trong HUB.json chỉ tới ENV_HUB_*, VFX/SFX_ENV_HUB_*, SFX_HUB_*, SHARED/UI, HUB · HUB_BELL_TOWER Tháp Chuông Gãy (mọi trạm ST_*) · S0 + stem GĐ Phục Dựng đã mở (GD1–… MUS_hub_bell_tower.
  9. Thêm prop hub → thêm env_assets trong av/ENV_HUB.json + id vào HUB.json props + validate cả 2 file.
  10. Ô hub (x, y) ↔ px theo §3.1; không trộn ô 16 px với tile FLOOR 32×16.

14Quyết định đã chốt

NgàyCâu hỏiQuyết địnhLý do
2026-11-07Hub có hazard?Không (hazards: []); schema HZ_ chỉ B1–B6hub an toàn tuyệt đối; tương tác thay bằng prop phản ứng
2026-11-07objectives/node_types bắt buộc cho phòng hubgiữ chỗ ["TRIAL"] / ["DOCK"]; chỉ Boong Đò Calla (nút DOCK) RM_HUB_ferry_deck là phòng DOCK thậtschema minItems 1, không thêm enum
2026-11-07Nút DOCK ở đâu?1 phòng chung Boong Đò Calla (nút DOCK) RM_HUB_ferry_deck trong file HUB, nền parallax biome Hồi kếđò Calla là tài sản hub; tiết kiệm 4 bộ art
2026-11-07Xuất phát: đò (doc 16) hay đi bộ lên đồi (doc 20)?cả hai trong 6 s: đò men bờ 3 s + bước lên bậc chân đồi 3 s; Cổng Đồi Bắc chỉ là cảnh (sương chặn)khớp cả doc 16 §1 và doc 20 §4.3
2026-11-07Id SFX hubgiữ 13 SFX_HUB_* canon doc 32 §7.2; âm mới SFX_ENV_HUB_*; VFX mới VFX_ENV_HUB_*không đổi tên canon; validator chấp nhận cả 2 tiền tố cho chủ ENV_HUB
2026-11-07Tầng ba / Tủ Áo Tangsub-scene Hub_TowerLoft qua cửa (36,10), neo dịch chuyển (36,9)3/4 không vẽ được nội thất tầng 3 trong cùng mặt phẳng
2026-11-07Trần cao 64 pxngoại lệ cho Thân Tháp Chuông Gãy 176 px (LMK_HUB_bell_tower), ô (27–34, 8–12). 6 … ENV_HUB_tower_body 176 pxhub không là sân đấu; vẫn mờ khi che
2026-11-07Lớp nhạc theo GĐ5 stem GĐ theo doc 32 §3.7 #2 (gỡ [ASSUMED] doc 18 §1.1)doc 32 đã chốt
2026-11-07NPC actor spec ở đâu?7 actor NPC_* trong av/ENV_HUB.json › actors (tier npc, biped, cao 34–44 px, clip idle 48 / talk 24 / react 24 / action 30–60; Răm thêm hurt 9, windup_y/p, strike; portrait por_npc_<x>_bust 128² × 3 biểu cảm)doc 51 §2: actor NPC thuộc chủ ENV_HUB
2026-11-07Bến của từng biome (doc 20) có phải phòng DOCK riêng?Không: bến B1–B5 doc 20 = nơi đò rời bờ, chỉ là parallax ENV_<Bn>_dock_bg_far|mid|near của Boong Đò Calla (nút DOCK) RM_HUB_ferry_deck; biomes/<Bn>.json không có phòng DOCK1 phòng DOCK duy nhất (HUB.json); gỡ mơ hồ giữa doc 20 và doc 23
2026-11-07Bia mộ10 bia, 8 khắc + 2 trốngkể chuyện: chỗ chờ cho người chơi