← Deepstair GDD🎨 Chương 12 · Art & Audio

12 — Art & Audio

Kế thừa 00 (D1 bối cảnh, D5 nghệ thuật, D8 ngân sách ảnh $0, P5 pixel đọc được ở 1×), 01 (§13 nguyên tố, §14 feel), 02 (pipeline pixelfx), 11 (UI). Luật: .claude/rules/art-style.md (hub .claude/docs/ArtStyle.md đọc trước mọi quyết định hình ảnh), .claude/rules/image-generation.md (thang nguồn ảnh + style lock + art-style-reviewer). Bảng sinh từ GDD/Tools/data/art.py.

11 mục 17 bảng ~42 phút đọc Nguồn: 12-Art-Audio.md DERIVED công thức/mô phỏng · ASSUMED khởi điểm · BENCHMARK thị trường

1Định hướng mỹ thuật

1.1 Bối cảnh & cảm xúc

Dev chốt hướng "đi xuống dưới (dungeon)" + "phong cách pixel … Tools/pixelfx". Deepstair là hầm ngục tối đi xuống theo cầu thang xoắn; mọi ánh sáng đến từ lửa, phép và đèn hồn trên nền tối (hub §1 suy luận → nay xác nhận). Ba cảm xúc theo độ sâu: S01–S03 tò mò, ấm lửa đuốc → S04–S07 ngột ngạt, kỳ dị → S08–S10 lạnh, trống rỗng, ánh vàng cuối cùng của Tâm Bình Minh.

Nguyên tắc Cụ thể
Ánh sáng kể chuyện Nền tối scene-sky; vũng sáng dưới mỗi nguồn sáng; "càng sâu càng tối": hệ số ánh môi trường S01 1.00 → S10 0.55 (bảng §2)
Thứ bậc độ sáng (P5) Nền L* ≤ 25 · sàn 15–30 · địch 30–75 · anh hùng 35–85 + mép sáng trên-trái · VFX/chữ chiến đấu tới 100. Anh hùng luôn là mảng tương phản cao nhất của nhân vật
Màu = thông tin Màu bão hòa chỉ cho: chữ ký anh hùng, độ hiếm, nguyên tố, báo hiệu, ánh nhấn Địa Tầng. Địch không dùng ramp chính của anh hùng (INV-04)
Pixel thật Một cỡ pixel, viền ink 1 px, ramp 4 tông hue-shift từ PAL, không AA/blur/gradient, dither Bayer chỉ cho mờ dần (hub §1)
Đọc ở thumbnail Silhouette anh hùng nhận ra ở 128 px; làn chiến đấu sạch, chi tiết đặt ngoài làn (polish §8)
Cấm Phong cách cartoon bóng của template BF (hub §10), sprite template UITemplate/AtlasSource/Lana Studio/Layer Lab làm tham chiếu, VFX particle mượt Hyper Casual FX, font PatchPixel

1.2 Nguồn ảnh (thang image-generation)

Bậc Nguồn Dùng cho Deepstair
0 Tái dụng kit UI pixel, sheet pixelfx catalog (recolor bằng palette), sprite đã render (chân dung, icon Hồi Âm)
1 Code: pixelfx + Pillow 100% nhân vật/địch/Boss/VFX (02), tile, dither nền, khung, pictogram, chữ chiến đấu, số
2 agy (.claude/scripts/agy-image.py, prompt từ art-style.py build) đạo cụ môi trường, vista xa, icon Hồi Âm chung/Di Vật/tiền tệ (master), minh họa Chiếu Nghỉ, key art store
3 bf-img (trả phí) chỉ khi owner cho phép từng đợt (D8); luồng tự động ghi need bf-img: <asset>

Mọi ảnh AI: brief chỉ nội dung → py .claude/scripts/art-style.py build --type <icon|background|promo|ui-art|enemy|character> --brief-file … → snap lưới native_px → contact sheet art-style.py contact → subagent art-style-reviewer = pass → log Design/ArtPrompts/<Feature>/. Tối đa 3 lần/asset/bậc.

2Bảng màu theo Địa Tầng

Id Địa Tầng Nền (PAL) Sàn/tường (PAL) Ánh nhấn (PAL) Nguồn sáng Ánh môi trường × Sương Giọng nhạc Đạo cụ chính
S01 Hầm Rượu Đổ Nát night wood + earth fire đuốc fire/torch, nến 1.0 #221d33 D thứ thùng rượu vỡ, kệ gỗ, xích treo
S02 Hầm Mộ night stone + bone holy nến fire/candle, đèn lồng sọ 0.95 #1c1c24 E Phrygian hốc sọ, quan tài đá, mạng nhện
S03 Hang Nấm Phát Quang night earth + leaf cyber nấm phát sáng, weather/fireflies 0.9 #08303a F# Dorian nấm khổng lồ, rễ, bào tử bay
S04 Sảnh Ngập night stone + water ice water/drip, ánh nước phản chiếu 0.85 #0e2e5a G thứ cột đổ, vũng nước, thác nhỏ
S05 Lò Rèn Hỏa Ngục ember metal + lava fire lò fire/brazier, dòng dung nham 0.85 #3d1012 A Phrygian đe, xích cẩu, khuôn đúc
S06 Mạch Pha Lê night stone + arcane neon tinh thể ice/ice-crystal recolor 0.8 #2b1252 B Lydian cụm pha lê, khoáng mạch
S07 Thánh Đường Xương shadow bone + blood holy kính màu, weather/god-rays 0.75 #3a0a14 C# thứ hòa âm trụ xương, ghế cầu nguyện, đàn ống
S08 Vực Băng night ice + stone water băng phát quang, weather/snow 0.7 #162c5c D# thứ nhũ băng, xác đông, cầu băng
S09 Mê Cung Bóng shadow night + shadow arcane đốm hồn critters/wisp, cổng tím 0.6 #0f0a18 Locrian tường ảo, gương vỡ, tay bóng
S10 Tâm Rỗng night shadow + gold gold ánh Tâm Bình Minh (lõi vàng) 0.55 #0c0a18 D thứ → D trưởng (kết) cầu thang gãy, xích vàng, ngai rỗng
  • Mỗi Địa Tầng = 3 ramp PAL (nền, sàn/tường, ánh nhấn) + token hub scene-*/floor* làm bậc tối nhất. Không tạo ramp song song (hub §2).
  • Ánh môi trường ×: nhân vào màu lớp nền (BG_Far, BG_Mid, Room) qua vertex color theo bậc 1/16 (không nhân lên nhân vật/VFX) → càng sâu nền càng tối, nhân vật vẫn rõ.
  • Sương (hex) = màu dither phủ BG_Far 25% và vignette tiền cảnh.
  • Cổng Địa Tầng (đi xuống B10→B11…): 1 s dither chuyển ramp + trans_stratum + stg_stratum_gate.
  • Ánh nhấn Địa Tầng dùng cho 1–2 nguồn sáng/phòng, mắt địch, chữ tên Địa Tầng ở HUD.

3Nhân vật

Id Mã Anh hùng Vũ khí (pixelfx) Cell idle Canvas đòn tối đa Màu chữ ký Ramp vật liệu Hình dáng 1× Phụ kiện costume
H01 KAI Kaito katana + saya (mới) 48×56 112×72 #c8283c da: PAL.dust sáng · tóc dài: PAL.stone sáng (bạc) · áo bó, quần, găng hở ngón, ủng: PAL.night · áo choàng dài rách, khăn cổ, vạt hông, dây quấn tay/chân: PAL.blood · giáp vai gai, giáp tay, gối, mũi ủng: PAL.metal tối · thắt lưng: PAL.wood + khóa PAL.metal · lưỡi katana cong: PAL.stone tối + ánh PAL.blood · chuôi quấn PAL.blood · tsuba PAL.metal Mảnh, tóc bạc dài ngang vai bay ngược, giáp vai gai lớn một bên, áo choàng đỏ thẫm dài rách vạt bay sau lưng, khăn đỏ quấn cổ, katana lưỡi cong đỏ-đen thủ thấp một tay tóc bạc dài · áo choàng rách 12 px (2 khung trễ) · khăn cổ · giáp vai gai
H02 ALD Aldric sword + kiteshield (mới) 48×56 96×64 #f0c050 giáp tấm: PAL.metal + viền PAL.gold · tabard, áo choàng dài, khăn cổ: PAL.electric tối (lam đậm) · găng, lớp lót giáp: PAL.night · khiên diều: mặt PAL.metal, vành PAL.gold, lõi PAL.electric tối, huy hiệu mặt trời PAL.holy · ngọc ngực & chuôi kiếm: PAL.electric · da: PAL.dust sáng · tóc vàng: PAL.gold · VFX: PAL.holy Vai rộng giáp tấm bạc viền vàng, tóc vàng hất ngược (không mũ trụ), khiên diều cao quá nửa thân che nửa trái thân, kiếm thẳng lưỡi rãnh lam cầm thấp, áo choàng lam dài bay sau lưng tóc vàng ngắn · khiên diều 14×22 · giáp vai · khăn cổ · áo choàng lam 8 px
H03 VEX Vex dagger ×2 (có sẵn, lưỡi dài + dây cáp) 48×56 80×64 #3ad0b0 da: PAL.dust sáng · tóc đuôi ngựa cao: PAL.gold + dây buộc PAL.electric tối · khăn cổ, thân áo, quần đùi, tất cao: PAL.electric tối (lam) · ngực áo: PAL.bone sáng (trắng) · giáp vai nhỏ: PAL.metal + viền PAL.gold · găng hở ngón, giáp tay, thắt lưng, ủng cao: PAL.wood (da thuộc) + viền PAL.gold · hộp máy hai bên hông + dây cáp: PAL.metal + đèn PAL.electric · dao lưỡi dài: PAL.metal + hộ thủ PAL.electric · VFX chữ ký: PAL.arcane (dư ảnh, khói chớp) + lõi vệt chém #3ad0b0 Nhỏ, gọn, khom thấp như lò xo nén; tóc vàng buộc đuôi ngựa cao bung sau gáy, khăn cổ lam, hai dao lưỡi dài nối dây cáp chĩa xuống hai bên, hộp máy cơ khí hai bên hông đuôi ngựa cao 8 px (2 khung trễ) · khăn cổ · hộp máy hông + dây cáp
H04 BRN Brann greatsword (có sẵn, ramp riêng) 56×64 128×80 #e0702a da: PAL.dust sáng · tóc vàng tro vuốt ngược: PAL.bone · áo khoác dài quý tộc: PAL.metal sáng (trắng) · lót áo, cổ đứng, gilê: PAL.electric tối (lam) · viền áo, khuy, nẹp giáp: PAL.gold · giáp vai, giáp tay, ống chân: PAL.metal · áo trong, quần, găng, ủng: PAL.night · thắt lưng: PAL.wood · lưỡi: PAL.metal + rãnh PAL.night + vệt nung PAL.ember · chắn tay: PAL.metal + ngọc PAL.electric · VFX: PAL.ember/PAL.lava Vai rộng giáp vai bạc, tóc vàng tro vuốt ngược, áo khoác dài trắng cổ đứng lót lam vạt bay sau lưng, đại kiếm lưỡi thẳng bản rộng chúc mũi xuống trước tóc vuốt ngược · vạt áo khoác dài · giáp vai bạc · scale 1.08
H05 LYR Lyra spear lưỡi kích đỏ (có sẵn + biến thể) 48×64 144×88 #58b8f0 da: PAL.smoke sáng (tím xám hắc tiên) + vân PAL.neon tối trên ngực · tóc trắng: PAL.stone sáng · mắt: PAL.blood sáng · giáp gai (vai, tay, gối, ủng): PAL.night + cạnh PAL.metal + khe PAL.blood · áo hở ngực, quần: PAL.night · vạt vải rách ở hông: PAL.blood · cán giáo: PAL.night · lưỡi kích: PAL.blood + vành gai PAL.metal · mũi đuôi cán: PAL.metal · viền tích sét: PAL.electric · VFX: PAL.electric Mảnh, tai nhọn, tóc trắng bù xù, da tím xám; giáp gai đen-đỏ thẫm hở ngực, vạt vải đỏ rách ở hông; ngọn giáo cán tối lưỡi kích đỏ thẫm ~65 px gần gấp đôi thân cầm chéo, lưỡi chúc xuống tai nhọn · tóc trắng bù xù · giáp vai gai · vạt vải rách 10 px
H06 ROK Rook gauntlet lửa ×1 tay phải (mới) 48×56 80×64 #e8a030 da: PAL.earth sáng (rám nắng, thân trần) · mũ trùm: PAL.night + viền & huy hiệu trán PAL.gold · khăn che mặt, áo choàng rách vai trái, vạt hông: PAL.blood · giáp vai gai, giáp tay trái, đai, ủng: PAL.night + viền PAL.gold · ngọc đai: PAL.blood · quần, găng hở ngón tay trái: PAL.night · găng lửa tay phải: PAL.lava + vảy lửa PAL.fire + vành & mắt ngọc PAL.gold · Chân Khí: PAL.gold/PAL.volt · đá: PAL.stone/PAL.earth Vai rộng thân trần cơ bắp, mũ trùm đen viền vàng, khăn đỏ che nửa mặt; một găng lửa đỏ-cam khổng lồ bọc cả cẳng tay phải (nắm đấm to gần bằng đầu), giáp vai gai đen-vàng bên trái kèm vạt áo choàng đỏ rách bay, thế thủ hai nắm đấm trước cằm mũ trùm + khăn che mặt · vạt áo choàng rách · găng lửa 6×6
H07 MOR Mora scythe (có sẵn, ramp riêng) 56×64 144×96 #9a6ae0 mũ trùm chỏm nhọn & áo choàng rách: PAL.blood (đỏ thẫm) · tóc bạc ngắn: PAL.stone sáng · mắt: PAL.blood sáng · da: PAL.dust sáng · váy corset, găng hở ngón, ủng: PAL.night + dây buộc & viền PAL.blood · thắt lưng chéo: PAL.wood + khóa PAL.metal · trâm tim & huy hiệu mũ: PAL.metal + ngọc PAL.blood · cán hái: PAL.night + đai PAL.metal · lưỡi: PAL.stone tối + vân PAL.blood, rìa PAL.metal · hồn + VFX chữ ký: PAL.cyber (lục ma) viền PAL.bone · vệt gặt: bóng #9a6ae0 Mảnh, mũ trùm đỏ thẫm chỏm nhọn, tóc bạc ngắn ngang cằm, áo choàng đỏ rách thành dải bay ngược; lưỡi hái đen-đỏ to hơn người cầm ngang thân, lưỡi cong như trăng khuyết vươn cao phía trước — đọc rõ ở 1× mũ trùm chỏm nhọn · vạt áo choàng rách 10 px · tóc bạc ngắn
H08 SAB Sable kusarigama (mới, tạ lưỡi phi) + xích runtime 48×56 112×72 #5ad06a da: PAL.dust sáng · tóc bù xù: PAL.blood tối (đỏ rượu) · mắt: PAL.blood sáng · áo khoác dài cổ đứng, áo trong, quần, găng hở ngón, ủng: PAL.night · lót áo, cổ tay áo, vạt trong: PAL.blood · viền áo, khóa, trâm, nẹp ủng: PAL.metal · thắt lưng: PAL.blood tối · liềm, tạ lưỡi phi & xích: PAL.metal tối + ngọc PAL.blood · vân độc trên lưỡi & VFX độc: PAL.poison Gọn, tóc đỏ rượu bù xù dựng ngược, áo khoác dài đen lót đỏ thẫm vạt xẻ tới bắp chân, xích bạc vắt ngang hông; liềm ở tay gần, xích chùng thõng tới quả tạ lưỡi phi gai — vòng xích chùng là dấu nhận diện áo khoác dài vạt xẻ · tóc bù xù · vòng xích chùng ≤ 12 px
H09 ZER Zerran Song đại đao ma (xem chương H09 §12) 56×64 144×80 #e8384f da: PAL.earth sáng (rám) · tóc: PAL.metal sáng gần trắng + bóng PAL.shadow tím nhạt · giáp & áo: PAL.night đen + viền PAL.gold · vải tạp dề & lót: PAL.blood · ngọc thắt lưng/ngực: PAL.fire đỏ · lưỡi: PAL.shadow đen + sống răng PAL.gold + lưỡi bén PAL.blood/#e8384f phát sáng · mắt: tím Tóc trắng dựng gai rất to, vai giáp gai vàng cong như sừng, ngực trần, vạt tạp dề đỏ giữa hai chân, hai đại đao cong lưỡi đỏ dài gần bằng thân rủ chếch ra hai bên theo chương anh hùng §12
H10 FEN Feng Tay không quấn băng (xem chương H10 §12) 48×56 112×72 #f8e020 da: PAL.dust sáng · áo cộc tay: PAL.gold + hoa văn mây lửa PAL.night · quần: PAL.night + hoa văn PAL.gold · đai: PAL.blood · băng quấn tay/cổ chân: PAL.bone · bao cổ tay & dép: PAL.night viền PAL.gold · tóc: ink · vệt cước: #f8e020 Thiếu niên gọn người, tóc đen dựng chéo ra trước, áo vàng cộc tay cổ đứng cài khuy đen, đai đỏ thắt nút hai vạt bay bên hông, quần đen ống túm, băng trắng quấn nắm tay và cổ chân, dép đen; thế nghiêng một nắm đấm trước ngực, nắm kia ở hông theo chương anh hùng §12
H11 MOM Momo Kim côn co giãn (xem chương H11 §12) 48×64 160×80 #b8762a lông & tóc: PAL.gold (vàng nâu) · mặt & tai: PAL.dust · giáp: PAL.gold + PAL.blood (đỏ son) · khăn: PAL.blood · áo lót & quần: PAL.night · bao tay: PAL.night + viền PAL.gold · ủng: PAL.gold viền PAL.blood · côn: cán PAL.blood, hai đầu bịt PAL.gold Khỉ nhỏ tóc vàng dựng ngược như ngọn lửa đội vòng trán vàng chạm mây, tai khỉ, khăn đỏ, giáp vàng-đỏ có giáp vai và khóa đai hình mặt thú, đuôi khỉ dài cong; tay phải kéo cây côn cán đỏ hai đầu bịt vàng chúc mũi xuống sàn theo chương anh hùng §12
H12 ISO Isolde Tinh thể Hàn Tinh (triệu hồi binh khí băng) (xem chương H12 §12) 48×64 144×88 #a8e8ff da: PAL.dust sáng · tóc: PAL.ice nhạt (bạc-lam) · váy corset: PAL.night (lam hoàng gia) · tay áo/vạt trước: PAL.bone trắng + viền PAL.metal bạc · vương miện/tinh thể/binh khí: PAL.ice · ủng: PAL.night + PAL.metal Thon cao, vương miện băng nhiều mũi nhọn, tóc bạc dài quá hông, tay áo trắng loe rộng, váy dài xẻ tà, tay trước ngửa nâng tinh thể lơ lửng theo chương anh hùng §12
H13 AUR Aurelle Quyền trượng thánh (ngọc lam) + đôi cánh (xem chương H13 §12) 56×64 144×96 #fff2c0 da: PAL.dust sáng · tóc: PAL.gold (vàng óng) · váy/tay áo: PAL.bone trắng + viền PAL.gold · lót áo choàng/băng đô: PAL.night (lam) · cánh: PAL.bone + bóng PAL.holy · quyền trượng: cán PAL.night, đầu PAL.gold, ngọc PAL.ice đậm (lam) · VFX: PAL.holy + lõi lam Lơ lửng cao hơn mọi anh hùng 32 px với bóng tròn dưới sàn, tóc vàng dài gợn sóng, đôi cánh trắng nhỏ sau lưng + cánh nhỏ trên tóc, quyền trượng cao hơn người đầu càng trăng và ngọc lam theo chương anh hùng §12
H14 SOR Sorin Song vuốt dài gắn giáp tay (xem chương H14 §12) 48×56 112×72 #8a1020 da: PAL.dust sáng · tóc ngắn: PAL.stone sáng (bạc) · mắt: PAL.blood sáng · mũ trùm, áo bó, quần, găng, tất đùi, ủng: PAL.night (đen) · viền mũ, khăn cổ, vạt tabard, lót giáp tay: PAL.blood · giáp vai, ngực, đai, gối, mũi ủng, huy hiệu nanh trên mũ: PAL.metal tối · vuốt: PAL.metal + rãnh PAL.blood · VFX: vệt vuốt PAL.blood + lõi trắng nóng, Dấu Mồi #8a1020 Nhỏ, khom thấp như thú rình; mũ trùm đen viền đỏ có huy hiệu nanh bạc, tóc bạc ngắn lòi ra, khăn đỏ; mỗi cẳng tay mọc ba lưỡi vuốt thép cong dài chúc xuống tới gối — đọc rõ ở 1× theo chương anh hùng §12
H15 TSU Tsubaki Ô giấy đỏ + phù chú (xem chương H15 §12) 48×64 128×80 #ff4a6a da: PAL.dust sáng · tóc: ink (PAL.night tối nhất) · áo trắng tay rộng: PAL.bone sáng · viền áo, hakama, băng đô, nơ: PAL.blood · hoa anh đào trên tay áo: PAL.candy nhạt · obi: PAL.shadow · chuông & khóa ô: PAL.gold · cán ô: PAL.wood tối · tán ô: PAL.blood + PAL.bone · phù: PAL.bone + mực PAL.blood · VFX ấn: PAL.holy viền #ff4a6a Nhỏ, tóc đen thẳng dài tới hông, băng đô đỏ có nơ đỏ-trắng và tua bên trái, tay áo trắng rộng thõng, hakama đỏ ngắn, guốc đen; ô giấy đỏ-trắng mở tròn như chiếc đĩa gác vai (hoặc khép thành ngọn thương có chuông + tua đỏ) — đĩa tán tròn là dấu nhận diện ở 1× theo chương anh hùng §12
H16 JUN Juno Đại pháo cầm tay (pháo ray) (xem chương H16 §12) 56×64 176×80 #b04aff tóc: PAL.ember (đỏ cam dựng) · kính bảo hộ: khung PAL.gold, tròng PAL.arcane · da: PAL.dust · áo crop, găng, quần: PAL.shadow + mảng PAL.arcane tối · khăn quàng: PAL.arcane · đai, bao tay, khóa giày: PAL.wood + PAL.gold · vạch sơn mặt: PAL.arcane · pháo: thân PAL.arcane, khung PAL.metal, nòng PAL.shadow, khe sáng PAL.arcane sáng · VFX đạn: xuyên PAL.arcane+trắng, chùm PAL.ember, nổ PAL.fire Thấp, chân dang rộng, tóc đỏ dựng tua tủa, kính bảo hộ gác trán, khăn tím; khẩu pháo tím to gần bằng người ôm ngang hông chĩa về trước — khối pháo nằm ngang với khung báng góc cạnh phía sau là dấu nhận diện ở 1× theo chương anh hùng §12
H17 IGN Ignis Kiếm liễu (rapier) (xem chương H17 §12) 48×56 112×72 #b0b4c0 da: PAL.dust sáng · tóc dài gợn sóng: PAL.gold · mắt: PAL.water · áo khoác dài (frock coat): PAL.bone (trắng ngà) + viền PAL.gold · giáp vai vỏ sò & gilê: PAL.gold · áo choàng: ngoài PAL.blood đậm (đỏ thẫm, owner chốt 2026-11-02) + viền PAL.gold, lót PAL.bone · ngọc cài cổ & bao cổ tay: PAL.water + PAL.gold · găng & quần: PAL.night · ủng: PAL.bone + mũi PAL.gold · lưỡi kiếm: PAL.metal + giỏ chuôi PAL.gold + rãnh lưỡi PAL.fire khi Nhịp ≥ 5 Thanh mảnh, khối tóc vàng dài gợn sóng chạm lưng (đặc điểm nhận diện số 1), đứng nghiêng thế đấu kiếm, kiếm liễu mảnh duỗi chéo xuống trước mặt, áo khoác trắng dài với giáp vai vàng hình vỏ sò, áo choàng đỏ thẫm viền vàng phồng sau lưng theo chương anh hùng §12
H18 ELO Elowen Cung trăng khuyết (xem chương H18 §12) 48×64 176×80 #3a5ad8 da: PAL.dust sáng · tóc: PAL.ice nhạt pha tím (bạc-lam tím) · giáp ngực/váy/ủng: PAL.night (lam) + viền PAL.gold · giáp vai & phần trắng: PAL.metal sáng · lông vũ & ngọc cung: PAL.ice/PAL.electric lam · cung: PAL.night thẫm + viền & lưỡi trăng PAL.gold · tên ánh trăng & VFX: PAL.ice/PAL.holy lam Thon nhỏ, đuôi ngựa bạc-tím rất dài quét tới gót, tai nhọn, lông vũ xanh cài đỉnh đầu, cây cung trăng khuyết dài gần bằng người với hai lưỡi trăng vàng ở hai đầu, ủng cao đùi theo chương anh hùng §12
H19 KAZ Kazane Song quạt chiến (xem chương H19 §12) 48×56 128×72 #1f8f7a da: PAL.dust sáng · tóc dài (búi cao + hai lọn dài + đuôi): PAL.night lục lam (pha #1f8f7a) · mắt: PAL.blood sáng · kimono đen trễ vai, tay áo rộng, tất đùi: PAL.night · cổ áo trong: PAL.bone sáng · obi, vạt váy, hoa văn lá phong, dây tua: PAL.blood · viền áo, trâm cài, khóa obi: PAL.gold · đế guốc: PAL.wood + quai PAL.blood · quạt: nan PAL.night + lụa PAL.blood + lá phong PAL.blood sáng + viền PAL.gold · VFX gió: lõi trắng + vệt #1f8f7a + lá phong PAL.blood Mảnh, búi tóc lục lam cao cài trâm vàng hình vòng cung và hoa lá phong đỏ tua trắng, hai lọn tóc dài; kimono đen trễ vai tay áo rộng; hai quạt chiến đỏ-đen viền vàng mở như hai cánh hình thang hai bên hông — đọc rõ ở 1× theo chương anh hùng §12
H20 TAU Taurok Đại chùy chiến (xem chương H20 §12) 64×72 160×96 #7a4a2a da/lông thân: PAL.earth đỏ nâu · bờm/râu/đuôi: PAL.shadow nâu đen · sừng: PAL.dust kem + chóp PAL.blood + đai PAL.gold · giáp vai/đai/khố: PAL.blood đỏ + viền PAL.gold · đai da chéo & ống tay: PAL.wood · khoen mũi: PAL.gold · chùy: thân trụ PAL.shadow sắt đen + đai & gai PAL.gold + ký hiệu PAL.blood · VFX: bụi PAL.earth/PAL.dust, Thức Tỉnh PAL.fire/PAL.gold Lớn nhất roster, lưng gù, đầu bò tót bờm xù với hai sừng cong lớn, khoen vàng ở mũi, giáp vai đỏ viền vàng, móng guốc chẻ, đuôi có chùm lông; đại chùy trụ kéo lê sau lưng theo chương anh hùng §12
H21 VUL Vulkar Song liêm trăng khuyết nối xích (dung nham) (xem chương H21 §12) 64×72 160×96 #ff3d00 thân đá bazan: PAL.shadow + PAL.stone · mặt nạ sọ, sừng, giáp vai gai: PAL.bone tối · vết nứt & lõi ngực & mắt: PAL.lava (lõi PAL.fire, light buffer) · xích & khoen: PAL.metal tối · liêm: rìa PAL.stone + lòng PAL.lava vân tổ ong · đá đai lưng: PAL.ember · VFX: PAL.fire/PAL.lava To bè nhất roster (cell 64×72, scale 1.15), khom rộng, sừng cong lớn và mặt nạ sọ, vai gai đá, thân đá đen nứt dung nham; hai liêm trăng khuyết lớn treo trên xích dưới hai nắm đấm — hai vầng trăng cam hai bên hông là dấu nhận diện theo chương anh hùng §12
  • Bảng trên là mặc định chỉ đạo mỹ thuật; palette.signature / ramps / silhouette trong hero_*.py là nguồn thắng khi khác (H01–H08 đã khớp concept art chính thức Heroes/H01.png … H08.png — nguồn thắng về ngoại hình). Màu chữ ký 8 anh hùng thuộc 8 họ màu khác nhau (đỏ, vàng, tím, cam, lam, lục, ngọc, hồng sen) để dải thẻ Hồi Âm phân biệt được.
  • Mỗi anh hùng có một chi tiết động đọc được ở 1× (áo choàng đỏ rách, áo choàng lam, đuôi ngựa vàng, vạt áo khoác trắng, vạt vải đỏ ở hông, vạt áo choàng đỏ + lửa găng, áo choàng mũ trùm đỏ rách, vòng xích) — điều khiển bằng cw/cl (02 §3.2).
  • Mắt: 1 px màu ánh nhấn khi mặt hướng ra (theo concept art: Kaito xám bạc, Aldric/Vex/Brann/Rook xanh lam, Lyra/Mora/Sable đỏ; không anh hùng nào đeo mặt nạ che mắt).
  • Đèn Hồn: đèn lồng 8×8 bên hông trái mọi anh hùng (fire/spirit-flame recolor holy, VFX gắn socket) — dấu hiệu chung của Lanternbound.
  • Thức Tỉnh (Tuyệt Truyền): hàng LUT awaken (ramp vũ khí đổi sang màu chữ ký sáng, viền 1 px sáng) + awaken_aura.

4Địch, Thủ Vệ, Boss

Lớp Mô tả Cao Canvas tối đa Cách làm Clip
HUM-S Người nhỏ (rig ×0.85) ≈ 32 px 48×48 rig + costume 3 đòn + 4 loco + 16 phản ứng
HUM-M Người (rig ×1.0) ≈ 38 px 48×56 rig + costume 3 + 4 + 16
HUM-L Người to (rig ×1.25) ≈ 48 px 64×64 rig + costume, bán kính thân 12 3 + 4 + 16
CRT-S Sinh vật nhỏ (dơi, chuột, đốm hồn) 12–20 px 32×32 module critter 2 + 3 + 5
CRT-M Sinh vật vừa (slime, nấm, nhện) 24–32 px 48×40 module critter 2 + 3 + 5
CRT-L Sinh vật lớn (sói xương, golem nhỏ) 40–48 px 72×56 module critter 3 + 3 + 6
WARDEN Thủ Vệ 56–68 px ≤ 160×112 rig ×1.5–1.8 + vũ khí địch 6 đòn + 4 loco + 8 phản ứng + 2
BOSS Boss 76–96 px ≤ 192×144 rig ×2.0–2.5 hoặc module riêng 10 đòn + 4 loco + 6 phản ứng + 4
Id Tên Kích thước / cách làm Ramp · vũ khí
WD01 Răng Sỏi rig ×1.6 ≈ 61 px đá + earth; chùy đá (hammer biến thể)
WD02 Kẻ Đào Mộ Hask rig ×1.5 ≈ 57 px bone + earth; xẻng (shovel mới)
WD03 Thợ Săn Nấm rig ×1.5 leaf + neon; nỏ (crossbow mới)
WD04 Thuyền Trưởng Chìm rig ×1.7 ≈ 65 px water + metal; mỏ neo (anchor mới)
WD05 Đốc Công Lò rig ×1.7 lava + metal; kìm lửa (tongs mới)
WD06 Kiếm Sĩ Pha Lê rig ×1.5 arcane + ice; sword ramp pha lê, gạt 35%
WD07 Tu Sĩ Gai rig ×1.6 bone + blood; trượng gai (staff mới)
WD08 Nữ Thợ Săn Sương rig ×1.5 ice + stone; spear + bow
WD09 Sát Thủ Bóng rig ×1.5 shadow + neon; dagger ×2
WD10 Hiệp Sĩ Rỗng rig ×1.8 ≈ 68 px night + gold; greatsword + towershield
BS01 Gorrak Kẻ Gác Cổng rig ×2.2 ≈ 84 px earth + metal; bụng ellipsoid; hammer ×2.2
BS02 Valcor Hiệp Sĩ Không Đầu rig ×2.0 ≈ 76 px, không đầu metal + spirit-flame cổ; greatsword
BS03 Mẹ Bào Tử module riêng 96 px leaf + neon + poison; nấm mẹ, xúc tu
BS04 Nereth Phù Thủy Triều rig ×1.8 ≈ 68 px water + ice; áo choàng dài, staff
BS05 Brakka Vua Đe rig ×2.5 ≈ 95 px lava + metal + gold; búa đe
BS06 Song Tử Lăng Kính rig ×1.6 ×2 thân arcane + ice; khúc xạ
BS07 Giáo Chủ Morvane rig ×2.0 ≈ 76 px bone + blood + holy; mũ mitre, staff xương
BS08 Hàn Long Skarn module riêng (spline 16 đốt) 96 px ice + water + metal; đầu, cổ, cánh
BS09 Bóng Gương dùng body-sheet anh hùng đang chơi LUT hàng mirror (PAL.shadow + mắt PAL.neon)
BS10 Vua Rỗng rig ×2.5 ≈ 95 px, 2 pha night + gold; lõi Tâm Bình Minh trong ngực
  • Bảng ánh xạ EN01…EN20 → lớp nằm ở 04 (cột art_class đề xuất). Mỗi Địa Tầng dùng ≤ 6 loại địch thường cùng lúc (giới hạn LUT 255 màu/Địa Tầng, 02 §8).
  • Ramp địch: vật liệu đất/xương/đá/kim loại bão hòa thấp + ánh nhấn Địa Tầng ở mắt/lõi; không dùng palette.signature của anh hùng làm màu chính.
  • Tinh Anh: viền 1 px theo affix (shader chế độ viền, 02 §6.5) + elite_aura; màu viền 10 affix lấy từ 10 ramp PAL khác nhau (04 định nghĩa), ưu tiên ramp không trùng báo hiệu đỏ.
  • Thủ Vệ/Boss: chân dung 64×64 (render pose PORTRAIT), thẻ tên BossIntro (Tiny5 64 + danh hiệu 40 trên dải ink), nhạc riêng (§9).

5Môi trường

5.1 Phòng chiến đấu (một Địa Tầng = một bộ)

Thành phần Kích thước (art px) Cách làm
Room plate (tường sau, vòm, trần y = 200) 384 × 700 (phủ máy dài/rộng nhất) tile 16×16 từ tileset Địa Tầng, ghép bằng script Pillow; vùng giữa yên tĩnh (polish §8)
Sàn 384 × 3 hàng lát + nền tối gạch 12×5, mạch lệch 6 (hub §2: floor-edge, floor, floor-dark, mortar) — ramp theo Địa Tầng
Tường ngoài 16 px mỗi bên ngoài x = ±176 cho iPad (02 §2.2)
Điểm spawn (01 §2) cửa ngục 24×40 ở ±176 (mở 4 khung), khe tường x −90/+70 (vết nứt 3 bậc), lỗ trần x −40/+110 (miệng tối + đá rơi) prop + VFX spawn_*
Cầu thang vào/ra vào: chân thang xoắn sát tường trái x −150 (rơi từ trần); ra: miệng hầm x +150 prop 48×64
Nguồn sáng 2–4/phòng: đuốc/lò/nến/tinh thể (bảng §2) sheet pixelfx loop + vũng sáng dither nướng vào room plate
Đạo cụ 8/Địa Tầng (bảng §2), 16–48 px agy ui-art/background → snap native → reviewer; hoặc Pillow khi hình học đơn giản
Decal 6/Địa Tầng: nứt sàn, nứt tường (dội tường), tro, máu tối (không đỏ tươi), cháy xém, vũng nước Pillow, mờ sau 6 s

5.2 Parallax (dọc 270×480 → 700)

Lớp Hệ số Nội dung
BG_Far ×0.2 vực sâu: bóng cầu thang xoắn khác, ánh xa, sương Địa Tầng (320×700)
BG_Mid ×0.5 cột, vòm, xích (352×700), tối hơn room plate 2 bậc
Room ×1.0 room plate §5.1
Foreground ×1.25 2–3 cột/xích tối viền ngoài + vignette dither trên/dưới; không che làn chiến đấu (y 0…80 trên sàn)

5.3 Cảnh đi xuống thang xoắn (EchoPick, 00 §5.2)

Trục dọc 270×(480…700): cột trụ giữa (24 px), bậc đá 32×8 xếp xoắn ốc (8 góc quay, bậc phía sau cột tối 2 bậc, phía trước sáng), camera trượt xuống 48 px/s; anh hùng chạy clip descent theo bậc (lật hướng mỗi nửa vòng), vũng sáng đèn hồn di chuyển theo anh hùng; bảng đá khắc số tầng (digit sprite khắc chìm) mỗi vòng; bụi rơi dust; mỗi 10 tầng đi qua cổng Địa Tầng (vòm đá + dither chuyển ramp). Phòng tầng trước mờ dần lên trên (dither 0.6 s).

5.4 Trạm Đầu Thang (Home)

Diorama 270×400 art px: miệng hang trên mặt đất dưới nhật thực (vòng tối, viền sáng mỏng — Dawnhold), lều vải, cờ Lanternbound, lửa trại fire/campfire, túi AFK, anh hùng đang chọn ngồi camp_idle, miệng thang xoắn tối bên phải. NPC trại (thương nhân, thợ rèn) là rig + costume (02), không AI.

6VFX

Key Kích hoạt pixelfx Palette Lớp Trạng thái Ghi chú
hit_L Hit lớp L impacts/hit-spark hero signature front recolor nhỏ, 0.3 s
hit_M Hit lớp M impacts/hit-flash hero signature front recolor + hit-spark
hit_H Hit lớp H impacts/crit-hit metal front recolor + bụi dust
hit_H_blunt Hit H vũ khí cùn (găng, đại kiếm sống) impacts/blunt-hit dust front recolor
hit_F Hit lớp F impacts/crit-hit gold front recolor + camera punch 2 px
hit_K Phản Đòn impacts/parry volt front recolor → vệt phản đòn của anh hùng
hit_crit Chí mạng impacts/hit-flash fire front recolor số cam #ffa040
hit_ground Đập đất / SLAM impacts/ground-slam dust back+front recolor vết nứt sàn 6 s
land_heavy Tiếp đất nặng impacts/heavy-landing dust back+front reuse
wall_bounce Dội tường impacts/blunt-hit stone front recolor + vết nứt tường (decal)
ground_bounce Dội đất explosions/dirt-explosion dust front recolor scale nhỏ
def_deflect GẠT impacts/parry hero signature front recolor hạt +2 mỗi bậc chuỗi
def_deflect_perfect GẠT HOÀN HẢO impacts/parry gold front recolor + nháy trắng 1 khung
def_flow Dòng Chảy (chuỗi 5) ds-fx/flow-aura gold back new viền vàng + tia lửa vàng 3 s
def_block CHẶN impacts/shield-block metal front recolor tia lửa nhỏ
def_guard_break Vỡ Thủ ice/ice-shatter metal front recolor mảnh khiên khí
def_evade NÉ arcane/blink-out smoke back recolor dư ảnh 3 bản
def_evade_perfect NÉ HOÀN HẢO arcane/time-stop water screen rework vòng chậm 0.3×, 270×480
def_clash VA KIẾM impacts/parry fire front recolor ×2 + impacts/ricochet
def_clash_spark Va Kiếm (tia bắn) impacts/ricochet fire front recolor
def_area_dodge Tránh Vùng moves/dash-strike smoke back rework chỉ bụi lướt
def_enemy_offbal Địch Mất Thăng Bằng status/confused gold attach-head rework sao xoay trên đầu, không tô thân
posture_break Vỡ Thế ds-fx/posture-break gold front new vòng vỡ + chữ VỠ THẾ (UI)
broken_loop Đang Vỡ Thế ds-fx/broken-rim white attach new viền trắng nhấp nháy (shader)
exec_frame Tuyệt Sát / Tuyệt Kỹ (khung va) ds-screen/impact-frame-portrait ink screen rework re-author 270×480 từ impacts/impact-frame
exec_split Địch tách đôi spawn/shatter-death hero signature front recolor đường chéo 1 px
exec_letterbox Letterbox UI ink ui new dải 16 art px trên/dưới
st_burn Bỏng status/burning fire attach rework lửa nhỏ quanh viền, không tô thân
st_chill Lạnh ds-fx/chill-motes ice attach new bông tuyết 1 px rơi
st_freeze Đóng Băng ice/freeze ice front rework skin ice toàn thân (ngoại lệ có nghĩa)
st_freeze_shatter Vỡ băng ice/ice-shatter ice front reuse +60% hit H/F
st_shock Điện Giật lightning/electrified electric attach rework tia quanh viền
st_shock_chain Lan điện lightning/chain-lightning electric front recolor
st_venom Độc status/poisoned poison attach-head rework bong bóng trên đầu
st_bleed Chảy Máu status/bleeding blood attach rework giọt rơi, không tô thân
st_hemorrhage Xuất Huyết nature/acid-splash blood front recolor nổ 150%
st_hex Ám Ấn shadow/hex-sigil shadow attach-feet recolor ấn dưới chân
st_radiance Thánh Quang holy/halo holy attach-head recolor
st_sunder Phá Giáp ds-fx/sunder-crack metal attach new mảnh giáp rơi
st_marked Đánh Dấu ui/exclamation blood attach-head rework tâm ngắm 7×7
st_stun Choáng status/stunned gold attach-head reuse
st_slow Chậm status/slowed water attach-feet rework
el_fire_burst Nổ hỏa (burst) explosions/small-explosion fire front reuse
el_frost_burst Nổ băng ice/frost-nova ice back+front reuse
el_storm_burst Nổ lôi lightning/zap-hit electric front reuse
el_venom_burst Nổ độc nature/poison-cloud poison front reuse
el_shadow_burst Nổ ám shadow/dark-explosion shadow front reuse
el_radiant_burst Nổ quang holy/smite holy front reuse
el_wave Sóng kiếm (wave) ds-fx/blade-wave theo nguyên tố front new trăng khuyết 20×12 bay
heal Hồi máu holy/heal heal attach reuse
shield_gain Nhận khiên holy/divine-shield metal back+front recolor
lifesteal Hút máu shadow/life-steal blood front recolor
afterimage Dư ảnh (cờ ghost) runtime hero ramp light new 3 bản, đời 0.16 s, shader PixelGhost
dust_step Bụi chân/lướt act.dust dust front reuse specks từ act
dash_trail Vệt lướt moves/dash-strike hero signature back rework chỉ vệt, bỏ thân dummy
jump_puff Nhảy / tiếp đất spawn/poof dust front recolor
spawn_door Địch ra từ cửa ngục spawn/spawn-portal shadow back recolor
spawn_wall Trèo ra khe tường explosions/dirt-explosion stone front recolor đá vụn
spawn_ceiling Rơi từ lỗ trần impacts/heavy-landing dust front reuse
death_normal Địch chết (vật lý) spawn/shatter-death stone front recolor theo nguyên tố hit cuối
death_burn Địch chết (hỏa/ám) spawn/dissolve-burn fire front recolor
death_elite Tinh Anh chết explosions/small-explosion fire front reuse + death_normal
death_boss Boss chết spawn/soul-rise gold back+front recolor + tro bay
ember_drop Rơi Than Hồng spawn/coin-drop ember front recolor
elite_aura Hào quang Tinh Anh ds-fx/elite-rim theo affix attach new viền shader + 2 tia
od_ready Bộc Phá đầy lightning/charge-up volt back recolor
od_ult_bg Nền Tuyệt Kỹ ds-screen/ult-dim night screen new tối 40% dither
awaken_aura Thức Tỉnh fire/spirit-flame hero signature back recolor 8 s
revive Hồi sinh holy/resurrection fire back+front recolor vòng lửa đèn hồn 64 px
downed Gục fire/candle ember attach rework đèn hồn chập chờn
lantern Đèn Hồn anh hùng fire/spirit-flame holy attach rework 8×8, hông trái
tele_area Báo hiệu vùng ds-fx/area-warn #ff2040 dither floor new nhấp nháy nhanh dần
tele_aim Đường ngắm runtime line #ff2040 floor new 1 px đứt
env_torch Đuốc fire/torch fire env reuse
env_brazier Lò fire/brazier fire env reuse
env_candle Nến fire/candle ember env reuse
env_campfire Lửa trại (Home) fire/campfire fire env reuse
env_drip Giọt nước water/drip water env reuse
env_fog Sương tầng weather/fog smoke env rework re-author 270×480
env_godrays Tia sáng weather/god-rays holy env rework 270×480
env_snow Tuyết weather/snow ice env rework 270×480
env_fireflies Bào tử sáng weather/fireflies cyber env rework 270×480
env_wisp Đốm hồn critters/wisp arcane env recolor
trans_floor Chuyển tầng ds-screen/slash-wipe-portrait ink screen rework từ transitions/slash-wipe
trans_boss Vào Boss ds-screen/iris-portrait ink screen rework từ transitions/iris
trans_stratum Cổng Địa Tầng ds-screen/burn-portrait ember screen rework từ transitions/burn-away
ui_claim Nhận thưởng pickups/collect-burst gold ui reuse kit sheet
ui_coin Vàng pickups/coin-spin gold ui reuse kit sheet
ui_gem Kim Cương pickups/gem-spin water ui reuse kit sheet
ui_soul_ash Tro Hồn pickups/xp-orb cyber ui recolor
ui_chest Mở rương pickups/chest-open gold ui reuse render theo feature (12 MB)
ui_loot_beam Hồi Âm L / anh hùng L pickups/loot-beam gold ui recolor
ui_card_flip Lật thẻ Hồi Âm ds-ui/card-flip-shine theo độ hiếm ui new 4 bản C/R/E/L
ui_rank_up Lên hạng Phong Độ ds-ui/rank-burst theo hạng ui new không chữ bake
ui_combo_mile Mốc Combo ds-ui/combo-burst theo mốc ui new
ui_summon Triệu Hồi arcane/magic-circle-cast arcane ui recolor + loot_beam theo độ hiếm
ui_levelup Lên cấp/sao holy/feather-burst gold ui recolor thay ui/level-up (chữ EN bake)
  • Trạng thái bảng: reuse = sheet catalog nguyên bản; recolor = cùng effect, palette = ramp PAL ghi ở cột Palette ("hero signature" = ramp chứa màu chữ ký anh hùng: Kaito metal/blood, Aldric gold/holy, Vex cyber/shadow, Brann ember/fire, Lyra ice/electric, Rook gold/earth, Mora arcane/shadow, Sable poison/night — khớp palette trong hero_*.py (nguồn chuẩn)); rework = sửa trên nhánh deepstair (re-author 270×480 cho effect màn hình/thời tiết 320×180, bỏ phần vẽ lên thân dummy vì chỉ đúng với stock actor); new = effect mới theo AUTHORING (≥ 3 vòng render → nhìn → sửa, check.mjs sạch).
  • VFX chữ ký anh hùng (~12/anh hùng): hero-<code>/fx-* — vệt chém riêng (L, H, trên không), phản đòn, Kỹ Năng A/B, Tuyệt Kỹ (gồm 1 effect màn hình), Tuyệt Sát, đạn riêng (PJ_*), Thức Tỉnh. Id lấy từ cột fx của MoveDef.
  • Phân lớp (polish §4): flash/tia lửa trên mục tiêu (front), khói/dấu sàn dưới (back), VFX anh hùng không che thân anh hùng (vệt chém đặt trước vũ khí, không phủ mặt), VFX thế giới không vẽ đè UI. Trang sáng cộng chỉ cho lõi nóng.
  • Theo cấp độ: hit L < M < H < F < K < S < U < X — kích thước, số hạt, độ sáng tăng dần; độ hiếm Hồi Âm C < R < E < L cũng tăng mật độ hiệu ứng lật thẻ.
  • Trạng thái kéo dài: emblem nhỏ gắn đầu/chân + viền màu (không tô cả thân); Đóng Băng là ngoại lệ có nghĩa (02 §6.5).
  • Âm thanh đi cùng mỗi dòng VFX theo §9 (cùng hit-frame).

7Icon & UI art

7.1 Icon

Nhóm Số Kích thước native → hiển thị Cách làm (bậc)
Hồi Âm riêng (COMBO/TECH/SKILL/ART/EVO) ~305 64×64, 8 khung → ×4 (256) echo-icon.mjs từ body-sheet (1)
Hồi Âm chung ELEM/RESO ~22 64×64, 8 khung khung loop pixelfx (fire/fireball, ice/ice-crystal, lightning/ball-lightning, nature/poison-cloud, shadow/void-orb, holy/halo) crop 64 (0–1)
Hồi Âm chung còn lại (STAT/DEF/TRIG/SUST/ECON/PACT) ~78 64×64 tĩnh agy type icon lưới 3×3, master trung tính → biến thể bằng Pillow (2 + 1)
Di Vật 24 32×32 → ×4 agy master + khung độ hiếm RaritiesCurrency/1–6 bằng code
Tiền tệ / vật phẩm (Vàng, KC, Tro Hồn, Quyển Chiến, Chìa, Bụi, Ấn, Vé Hồi Sinh, Xu Vòng Quay, Kẹo, Mảnh Vạn Năng ×3) 22 32×32 + 16×16 kit Pillow trước (đồng xu, ngọc, tro); agy cho cuộn/ấn
Mảnh anh hùng 12 32×32 chân dung + khung mảnh vỡ (Pillow)
Chân dung anh hùng / địch / Thủ Vệ / Boss 8×3 + 40 + 20 32/64 portrait.mjs (0 AI)
Nút Cây Đèn Hồn 40 16×16 ×4 Pillow pictogram
Bậc Kinh Hoàng 20 32×32 sọ + số La Mã pixel (Pillow)
Minh họa Chiếu Nghỉ (LD00–LD08) 9 270×110 NPC rig + prop + nền tile (1); agy chỉ khi không đạt

7.2 Mở rộng kit UI (build_ui_pixel_kit.py)

Nhóm Sprite mới Native
Khung px_card_echo (9-slice, viền độ hiếm), px_hud_panel, px_hud_strip, px_sheet (bottom sheet) 16×18 họ px_popup
Huy hiệu độ hiếm Hồi Âm tròn, thoi, lục giác, sao, sao + mũi tên, sao đôi, giọt (06 §3) 16×16
Thanh px_bar_hp, px_bar_hp_boss, px_bar_guard, px_bar_posture, px_bar_od (vành 8 đoạn) 8–10 cao
Nút px_btn_od tròn 56 56×56
Pictogram (34) pause, build, ember, soul_ash, sigil, relic_key, relic_dust, revive, spin_coin, shard, heart, deflect, block, evade, counter, clash, execute, lantern, stair, campfire, dread, codex, hero, training, tree, relic, summon, pass, mail, quest, event, speed, auto, skip 16×16
Icon mini 8×8 8 loại lộ trình, 7 loại đòn, 8 vũ khí, 6 nguyên tố 8×8
Chiến đấu (thế giới, PPU 16) digit S/M/L/XL/XXL (11 §3.3), chữ hạng D…SSS, chữ phòng thủ VI + EN (11 §3.3), nhãn Combo, glyph báo hiệu ×5 (9×9), px_shadow_s/m/l, px_chain_link 3×2, pip 6×6 —
Widget Cổng 8 widget (11 §3.4) ≤ 60×24

Chữ chiến đấu dùng bộ glyph hiển thị "DS Display" vẽ tay trong Pillow (chữ hoa cao 9 px, đủ chữ hoa tiếng Việt có dấu + A–Z + 0–9 + ! × ?), viền ink 1 px, ramp theo loại (Gạt gold, Chặn metal, Né water, Phản volt, Va Kiếm fire, MISS stone, Vỡ Thế gold+trắng). Mỗi chữ xuất 2 bản _vi, _en.

8Store assets

Asset Kích thước Nội dung
Icon app 1024×1024 (vẽ 128×128 native ×8 — ngoài game nên được ×8) Kaito rút đao, vệt chém trắng, đèn hồn, nền trục thang tối; 3 phương án A/B (đỏ / vàng / tím nền ánh)
Feature graphic (Google Play) 1024×500 (= 256×125 ×4) 4 anh hùng trên cầu thang xoắn, logo DEEPSTAIR; vùng trống cho logo
Screenshot 1080×1920 (×4), 1290×2796 (322×699 ×4 + đệm 1 px), 2048×2732 (512×683 ×4 — chế độ chụp riêng) 8 cảnh: Gạt → Phản Đòn; Tuyệt Sát zoom 2×; chọn Hồi Âm khi đi xuống; combo trên không SSS; Boss; 8 anh hùng; Cây Combo; Trạm Đầu Thang. Dải chú thích trên 1080×320 (Tiny5 64, VI/EN)
Video 30 s 1080×1920 0–3 s: Gạt đỏ → tia lửa → Phản Đòn → Tuyệt Sát; 3–8: chọn Hồi Âm, lộ trình mới xuất hiện ngay; 8–14: combo trên không, chữ hạng lên SSS; 14–20: 8 anh hùng 0.7 s mỗi người; 20–26: Boss Vỡ Thế → 10% Max HP; 26–30: logo + CTA

Key art/icon: agy type promo (D8); bf-img chỉ khi owner cho phép. Không bake chữ vào key art (chú thích localize).

9Âm thanh

9.1 Định hướng

Dark chiptune × orchestral: giai điệu chip (pulse, triangle, noise kiểu 16-bit) trên nền dàn dây trầm, hợp xướng, đồng thau thấp và trống taiko/công nghiệp. Mỗi Địa Tầng một nhạc cụ dẫn (bảng nhạc), cùng một motif "Đèn Hồn" 4 nốt xuất hiện ở Home, cổng Địa Tầng và kết thúc B100 (đảo giọng ở Bóng Gương). Nhạc thích ứng 3 stem: base (đi lại/đi xuống) → combat (+trống, bass khi có địch) → style (+giai điệu chip khi Phong Độ ≥ S); lớp lyr_flow (trống dồn) khi Dòng Chảy. SFX: va chạm giòn, nhiều lớp (vụt + va + thân), kim loại sáng cho phòng thủ.

Nguồn & giấy phép: SFX từ Freesound qua MCP bf-sfx (chỉ CC0/CC-BY; ưu tiên CC0, CC-BY ghi Credits), foley + synth tự làm; nhạc làm in-house bằng tracker chip + thư viện dàn nhạc miễn phí có điều khoản cho phép dùng thương mại — lưu chứng từ ở Docs/Licenses/. Ngân sách mặc định $0; tùy chọn thuê soạn 3 track (Home, Boss chung, Vua Rỗng) nếu KPI D7 đạt (14).

9.2 Nhạc

Id Tên Bối cảnh BPM Loop (s) Stem
mus_home_camp Trạm Đầu Thang Home, Sảnh Anh Hùng, meta 84 96 pad · đàn lute · lửa trại
mus_descent Thang Xoắn EchoPick / đi xuống (lọc thấp + tiếng bước) 70 64 drone · chuông xa
mus_landing Chiếu Nghỉ Landing LD01–LD08 90 72 hurdy-gurdy · pulse chip
mus_boss_gate Cổng Boss LD00, BossIntro trước stinger 60 48 drone · tim đập
mus_s01 Hầm Rượu Đổ Nát S01 B1–9 112 120 base · combat · style
mus_s02 Hầm Mộ S02 108 120 base · combat · style
mus_s03 Hang Nấm Phát Quang S03 116 120 base · combat · style
mus_s04 Sảnh Ngập S04 104 128 base · combat · style
mus_s05 Lò Rèn Hỏa Ngục S05 128 112 base · combat · style
mus_s06 Mạch Pha Lê S06 120 120 base · combat · style
mus_s07 Thánh Đường Xương S07 100 128 base · combat · style
mus_s08 Vực Băng S08 118 120 base · combat · style
mus_s09 Mê Cung Bóng S09 132 112 base · combat · style
mus_s10 Tâm Rỗng S10 136 112 base · combat · style
mus_boss_bs01 Gorrak B10 132 96 phase1 · phase2
mus_boss_bs02 Valcor B20 136 96 phase1 · phase2
mus_boss_bs03 Mẹ Bào Tử B30 124 96 phase1 · phase2
mus_boss_bs04 Nereth B40 128 96 phase1 · phase2
mus_boss_bs05 Brakka B50 140 96 phase1 · phase2
mus_boss_bs06 Song Tử Lăng Kính B60 144 96 phase1 · phase2
mus_boss_bs07 Morvane B70 120 104 phase1 · phase2
mus_boss_bs08 Hàn Long Skarn B80 146 96 phase1 · phase2
mus_boss_bs09 Bóng Gương B90 (motif anh hùng đảo) 150 96 phase1 · phase2
mus_boss_bs10 Vua Rỗng B100 150 120 phase1 · phase2 · finale
mus_abyss Vực Không Đáy B101+ 140 128 base · combat · style
mus_daily Thử Thách Ngày Daily Challenge 126 112 base · combat
lyr_flow Lớp trống Dòng Chảy chồng lên mọi track trận — — 1 stem/track (theo BPM)
stg_boss_intro Stinger Boss BossIntro — 3 —
stg_floor_clear Stinger hạ tầng FloorClear — 2 —
stg_warden_clear Stinger Thủ Vệ hạ Thủ Vệ — 3 —
stg_record Kỷ lục mới Kết Quả — 4 —
stg_results_win Kết Quả thắng hạ Vua Rỗng / B100 — 8 —
stg_results_lose Kết Quả gục Kết Quả — 6 —
stg_stratum_gate Qua Địa Tầng B10/20/… đi xuống — 4 —
stg_summon_l Triệu Hồi Huyền Thoại S25 — 4 —

Key Địa Tầng (bảng §2) quyết định cao độ gốc chuỗi Gạt (§9.4). Crossfade 1.0 s giữa track, stem vào/ra theo ô nhịp (quantize 1 beat); pause/resume đúng vị trí; Kết Quả dùng stinger rồi mus_home_camp.

9.3 SFX

Anh hùng sau ra mắt (H09–H21, 03 §9): mỗi người thêm ≈ 20 sfx_<code>_<move>, 3 vo_<code>_*, 2 sfx_gauge_<code>_* và 1 stinger ra mắt — sản xuất theo dây chuyền mùa (14 §5.9); bảng dưới là ngân sách ra mắt (H01–H08).

Id File Nhóm Bus Mô tả
sfx_whoosh_light_[1-4] 4 Chiến đấu SFX/Actor vung nhẹ, pitch ±5%
sfx_whoosh_heavy_[1-3] 3 Chiến đấu SFX/Actor vung nặng
sfx_whoosh_spin_[1-2] 2 Chiến đấu SFX/Actor xoay
sfx_hit_light_[1-4] 4 Chiến đấu SFX/Combat hit L (01 §14.3)
sfx_hit_med_[1-4] 4 Chiến đấu SFX/Combat hit M
sfx_hit_heavy_[1-3] 3 Chiến đấu SFX/Combat hit H/F
sfx_hit_blunt_[1-3] 3 Chiến đấu SFX/Combat găng, sống kiếm, khiên
sfx_hit_crit_[1-2] 2 Chiến đấu SFX/Combat lớp chí mạng chồng
sfx_counter_[1-3] 3 Chiến đấu SFX/Combat hit K
sfx_launch_[1-2] 2 Chiến đấu SFX/Combat hất tung
sfx_air_hit_[1-3] 3 Chiến đấu SFX/Combat hit trên không
sfx_spike_[1-2] 2 Chiến đấu SFX/Combat đập xuống
sfx_wall_bounce_[1-2] 2 Chiến đấu SFX/Combat dội tường + đá vụn
sfx_ground_bounce_[1-2] 2 Chiến đấu SFX/Combat dội đất
sfx_body_fall_[1-3] 3 Chiến đấu SFX/Combat ngã
sfx_otg_[1-2] 2 Chiến đấu SFX/Combat đánh nằm
sfx_dash_[1-2] 2 Chiến đấu SFX/Actor lướt
sfx_jump 1 Chiến đấu SFX/Actor
sfx_land_[1-2] 2 Chiến đấu SFX/Actor
sfx_step_stone_[1-4] 4 Chiến đấu SFX/Actor bước đá
sfx_step_wet_[1-3] 3 Chiến đấu SFX/Actor S04
sfx_step_crunch_[1-3] 3 Chiến đấu SFX/Actor S02, S07, S08
sfx_deflect_[1-5] 5 Phòng thủ SFX/Combat keng, bậc chuỗi 1–5 = gốc +0…+4 bán cung
sfx_deflect_perfect 1 Phòng thủ SFX/Combat gốc +7 bán cung, ngân 0.6 s
sfx_flow_enter 1 Phòng thủ SFX/Combat hợp âm vào Dòng Chảy
sfx_flow_loop 1 Phòng thủ SFX/Combat ngân nhẹ 3 s
sfx_block_[1-3] 3 Phòng thủ SFX/Combat thịch kim loại
sfx_block_heavy 1 Phòng thủ SFX/Combat chặn đòn nặng
sfx_guard_break 1 Phòng thủ SFX/Combat vỡ thủ
sfx_evade_[1-3] 3 Phòng thủ SFX/Combat vụt gió
sfx_evade_perfect 1 Phòng thủ SFX/Combat vụt + chậm thời gian
sfx_sway_miss 1 Phòng thủ SFX/Combat MISS
sfx_clash_[1-2] 2 Phòng thủ SFX/Combat va kiếm lớn
sfx_enemy_offbalance 1 Phòng thủ SFX/Combat địch loạng choạng
sfx_enemy_deflect 1 Phòng thủ SFX/Combat địch gạt anh hùng
sfx_area_dodge 1 Phòng thủ SFX/Actor rời vùng
sfx_posture_break 1 Thế & Tuyệt Sát SFX/Combat vỡ thế
sfx_broken_loop 1 Thế & Tuyệt Sát SFX/Combat ù tai nhẹ khi đang Vỡ Thế
sfx_exec_zoom 1 Thế & Tuyệt Sát SFX/Combat hút vào zoom 2×
sfx_exec_ 8 Thế & Tuyệt Sát SFX/Combat 1/anh hùng (01 §14.3)
sfx_exec_boss_hit 1 Thế & Tuyệt Sát SFX/Combat 10% Max HP Boss
sfx_rank_<D..SSS> 7 Phong Độ & Bộc Phá SFX/UI chime theo hạng, tăng dần
sfx_rank_down 1 Phong Độ & Bộc Phá SFX/UI
sfx_combo_mile_[1-5] 5 Phong Độ & Bộc Phá SFX/UI GOOD…LEGEND
sfx_od_full 1 Phong Độ & Bộc Phá SFX/UI Bộc Phá đầy
sfx_od_activate 1 Phong Độ & Bộc Phá SFX/Combat
sfx_awaken_start 1 Phong Độ & Bộc Phá SFX/Combat Thức Tỉnh
sfx_awaken_end 1 Phong Độ & Bộc Phá SFX/Combat
sfx_slowmo_in 1 Phong Độ & Bộc Phá SFX/Combat
sfx_slowmo_out 1 Phong Độ & Bộc Phá SFX/Combat
sfx_gauge__gain / _full 16 Phong Độ & Bộc Phá SFX/UI Cổng cơ chế 8 anh hùng × 2
sfx__ (H01–H08) 160 Chữ ký anh hùng SFX/Combat ≈ 20 id × 8 anh hùng; id thật lấy từ MoveDef.sfx
sfx_burn_apply / _tick 2 Nguyên tố SFX/Combat
sfx_chill_apply 1 Nguyên tố SFX/Combat
sfx_freeze / _shatter 2 Nguyên tố SFX/Combat
sfx_shock_apply / _chain 2 Nguyên tố SFX/Combat
sfx_venom_apply 1 Nguyên tố SFX/Combat
sfx_bleed_apply / _burst 2 Nguyên tố SFX/Combat Xuất Huyết
sfx_hex_apply 1 Nguyên tố SFX/Combat
sfx_radiance_apply 1 Nguyên tố SFX/Combat
sfx_sunder_apply 1 Nguyên tố SFX/Combat
sfx_stun_apply 1 Nguyên tố SFX/Combat
sfx_burst_ 6 Nguyên tố SFX/Combat 6 nguyên tố
sfx_heal / _shield / _lifesteal 3 Nguyên tố SFX/Combat
sfx_tele_light 1 Địch SFX/Enemy hơi thở/rít (01 §11.3)
sfx_tele_heavy 1 Địch SFX/Enemy 'rèn' ngắn
sfx_tele_unblock 1 Địch SFX/Enemy 'boong' trầm
sfx_tele_proj 1 Địch SFX/Enemy lên dây
sfx_tele_area 1 Địch SFX/Enemy ù tăng dần
sfx_en_hurt[1-2] 16 Địch SFX/Enemy 8 họ: xương, thịt, slime, côn trùng, hồn, kim loại, pha lê, thú
sfx_en_death[1-2] 16 Địch SFX/Enemy 8 họ
sfx_en__attack 8 Địch SFX/Enemy 8 họ
sfx_proj__fire / _hit 12 Địch SFX/Enemy 6 loại đạn PJ
sfx_spawn_door / _wall / _ceiling 3 Địch SFX/Enemy 05 §4
sfx_elite_spawn 1 Địch SFX/Enemy
sfx_warden__[intro|sig|death] 30 Thủ Vệ & Boss SFX/Enemy 10 × 3
sfx_boss__[intro|atk1|atk2|phase|death] 50 Thủ Vệ & Boss SFX/Enemy 10 × 5
amb_s01 … amb_s10 10 Môi trường Ambience loop 30–45 s
amb_torch / amb_brazier / amb_lava / amb_crystal 4 Môi trường Ambience nguồn sáng loop
sfx_drip_[1-2] 2 Môi trường Ambience
amb_stair_wind 1 Môi trường Ambience trục thang
sfx_stair_step_[1-3] 3 Môi trường SFX/Actor đi xuống
sfx_stratum_gate 1 Môi trường SFX/World
sfx_wave_start 1 Nhịp run SFX/World kèn đá ngắn
sfx_floor_clear 1 Nhịp run SFX/World
sfx_descent_start 1 Nhịp run SFX/World
sfx_landing_arrive 1 Nhịp run SFX/World
sfx_merchant_buy 1 Nhịp run SFX/UI
sfx_mimic_reveal 1 Nhịp run SFX/World
sfx_chest_ 4 Nhịp run SFX/UI C/R/E/L
sfx_ember_pickup_[1-3] 3 Nhịp run SFX/UI
sfx_soul_ash_pickup 1 Nhịp run SFX/UI
sfx_downed_heart 1 Nhịp run SFX/World tim đập khi Gục
sfx_lantern_flicker 1 Nhịp run SFX/World
sfx_revive 1 Nhịp run SFX/World
sfx_boss_gate 1 Nhịp run SFX/World
sfx_echo_c / _r / _e / _l 4 Hồi Âm SFX/UI lật thẻ theo độ hiếm
sfx_echo_evo / _reso / _pact 3 Hồi Âm SFX/UI
sfx_card_hold 1 Hồi Âm SFX/UI nhấn giữ
sfx_card_pick 1 Hồi Âm SFX/UI chọn
sfx_reroll / _banish / _skip 3 Hồi Âm SFX/UI
sfx_route_new 1 Hồi Âm SFX/UI lộ trình mới ra mắt
ui_tap_[1-2] / ui_back / ui_tab 4 UI UI
ui_popup_open / _close 2 UI UI
ui_toggle / ui_slider / ui_confirm 3 UI UI
ui_error / ui_locked 2 UI UI rung nút khóa
ui_purchase_ok 1 UI UI
ui_reward_fly / _land 2 UI UI giữ–lóe–bay
ui_count_tick 1 UI UI đếm số
ui_level_up / ui_star_up / ui_mastery_up 3 UI UI
ui_feature_unlock 1 UI UI
ui_summon_pull / _reveal_r / _e / _l 4 UI UI
ui_relic_open / reveal[1-6] 7 UI UI 6 độ hiếm
ui_pass_claim / ui_spin_tick / ui_spin_stop 3 UI UI
ui_notify / ui_countdown 2 UI UI
vo__[effort|hurt|win] 24 Giọng (không lời) Voice 8 anh hùng × 3 tiếng hô ngắn
Σ 564 116 họ

Hero signature: id sfx_<code>_<tên> = cột sfx trong hero_*.py (Kaito đã có 20 id); mỗi id 1–2 biến thể. Tên gắn với 01 §14.3: sfx_hit_light_[1-4], sfx_hit_med_[1-4], sfx_hit_heavy_[1-3], sfx_counter_[1-3], sfx_exec_<hero>, sfx_deflect_[1-5], sfx_block, sfx_clash; 06 §3: sfx_echo_*.

9.4 Thang cao độ phòng thủ

Sự kiện Âm Cao độ
Gạt bậc chuỗi 1–5 sfx_deflect_[1-5] (keng kim loại, tail 0.3 s) gốc = tonic Địa Tầng quãng 8 trên (S01 D6) +0…+4 bán cung (01 §5.6)
Gạt Hoàn Hảo sfx_deflect_perfect tonic +7 (quãng 5), tail 0.6 s, kèm sub "thump"
Vào Dòng Chảy sfx_flow_enter hợp âm trưởng của tonic + lyr_flow vào ô nhịp kế
Chặn sfx_block_[1-3] không đổi cao độ (thịch trầm)
Né / Né Hoàn Hảo sfx_evade_* không đổi; Hoàn Hảo kèm hút âm 0.4 s
Phản Đòn sfx_counter_[1-3] luôn sau keng 1 tick, cao hơn keng 2 bán cung
Va Kiếm sfx_clash_[1-2] + ricochet tonic −12 (trầm, nặng)
Anh hùng riêng (vd kai_deflect) thay timbre, giữ đúng thang

Runtime: pitch = 2^((keyOffset + step)/12) trên sample đã render sẵn, keyOffset ∈ [−6, +6] theo Địa Tầng → không méo quá ±0.6 quãng 8.

9.5 Mix

Luật Giá trị
Bus Master → Music · SFX (Combat, Actor, Enemy, World, UI, Voice) · Ambience (SoundManager template)
Độ lớn −16 LUFS tích hợp, true peak −1 dBTP (limiter master); nhạc thấp hơn SFX combat ~8 dB khi trận
Ducking Tuyệt Sát/Tuyệt Kỹ: nhạc −8 dB 1.2 s; BossIntro: cắt nhạc, stinger; EchoPick: nhạc low-pass 800 Hz −4 dB (→ mus_descent); slow-mo: low-pass 1.2 kHz
Giới hạn voice tổng 24; Combat 10; cùng id cách ≥ 30 ms, ≤ 4 bản; ưu tiên: phòng thủ > Tuyệt Sát > hit H/F > hit L/M > vụt > bước chân
Tốc độ x2/x3 không đổi cao độ; x3 bỏ bước chân + vụt nhẹ (giữ mọi hit, phòng thủ)
Hit-stop âm phát đúng contact, không dừng theo freeze
Biến thể pitch ngẫu nhiên ±5% (trừ thang phòng thủ: chính xác), xoay vòng file không lặp liền
Định dạng SFX Vorbis q0.5 mono 44.1 kHz, Decompress On Load (< 200 KB); nhạc/ambience stream Vorbis q0.6 stereo
Rung 11 §9

10Tổng số asset

Hạng mục Số Cách làm Nguồn
Clip anh hùng (8) 1,645 body-sheet; §10 02 pixelfx act
Khung duy nhất anh hùng 8,783 sau dedupe R8 index
Clip địch thường (20 loại) 356 12 người × 23 + 8 sinh vật × 10 rig/critter
Clip Thủ Vệ + Boss 416 BS09 dùng sprite anh hùng rig ×1.5–2.5 / module
VFX dùng lại / recolor (bảng) 61 render.mjs --sheet pixelfx catalog
VFX re-author (270×480, bỏ thân dummy…) 21 nhánh deepstair pixelfx
VFX mới chung (ds-fx / ds-ui / ds-screen) 15 AUTHORING method pixelfx
VFX chữ ký anh hùng (≈ 12/anh hùng) 252 hero-/fx-* pixelfx
Bộ môi trường (10 Địa Tầng) 220 3 parallax + room plate + tileset + 8 props + 3 nguồn sáng + 6 decal Pillow + agy
Icon Hồi Âm riêng (động 8 khung) 835 echo-icon.mjs từ body-sheet 0 AI
Icon Hồi Âm chung ≈ 100 pictogram 64×64; ELEM động từ pixelfx Pillow → agy
Icon Di Vật / tiền tệ / vật phẩm 24 + 22 32×32 ×4; khung độ hiếm bằng code agy master + Pillow
Pictogram kit mới (16×16) 34 build_ui_pixel_kit.py Pillow
Chân dung anh hùng / địch / Boss 8×3 + 40 + 20 render từ sprite 0 AI
Chữ chiến đấu sprite (VI + EN) 22 GẠT!/HOÀN HẢO!/CHẶN/NÉ/PHẢN!/VA KIẾM!/MISS/VỠ THẾ/… Pillow
Nhạc (track + stinger) 35 stem: base/combat/style §8 12
SFX (file) 564 Freesound CC0/CC-BY + tự làm §9 12
Store icon ×3 A/B, feature 1, screenshot 8 × 3 cỡ, video 30 s agy + quay game

11QA

  • [ ] Mọi sprite/icon/nền: 1 cỡ pixel, viền ink kín, màu thuộc PAL/token hub; contact sheet NEAREST ×4 qua art-style-reviewer = pass.
  • [ ] Không asset nào lấy từ thư mục template cartoon; không font PatchPixel.
  • [ ] Mỗi Địa Tầng: ánh môi trường đúng bảng §2; nhân vật L* cao hơn nền ≥ 15 (đo ảnh chụp).
  • [ ] Địch không dùng màu chữ ký anh hùng làm màu chính; Tinh Anh viền đúng affix.
  • [ ] VFX: mỗi dòng bảng §6 có sheet, check.mjs sạch, sáng/màu tách; Low tier không nạp trang sáng.
  • [ ] Âm: mỗi hit có âm đúng tick; thang Gạt đúng cao độ theo Địa Tầng; ≤ 24 voice; −16 LUFS.
  • [ ] Giấy phép: mọi SFX CC-BY có dòng Credits; chứng từ nhạc trong Docs/Licenses/.
  • [ ] Store: icon đọc được ở 48 px; screenshot không chữ bake (dải chú thích localize).