# EXCOSIA: The Forsaken Oath — รายการ assets

โฟลเดอร์โปรเจกต์หลัก: `C:\Users\User\Desktop\WHIF\excosia-gacha`

โทนภาพ: **กรมท่า / ทอง / ขาว** ตัวละครจริงมาจาก EXCOSIA ภาพและชื่อที่เห็นในเกมตอนนี้เป็น mock เท่านั้น

## เริ่มจาก 3 อย่างนี้ก่อน

1. ภาพตัวละคร EXCOSIA 10 ตัว — ใส่ใน `assets-to-prepare/01-characters/`
2. รายชื่อตัวละครให้ตรงกับภาพ — กรอก `assets-to-prepare/CHARACTER-LIST.md`
3. ภาพแบนเนอร์ห้องอัญเชิญ 1 ภาพ — ใส่ใน `assets-to-prepare/02-backgrounds/`

ยังไม่ต้องทำวิดีโอหรือเสียงก็เล่นได้ครบ ระบบเดิมมีเอฟเฟกต์ชั่วคราวให้แล้ว

## รายการไฟล์และตำแหน่ง

ทุกเส้นทางด้านล่างเริ่มจาก `C:\Users\User\Desktop\WHIF\excosia-gacha\assets-to-prepare\`

| ลำดับ | Asset | จำนวน | ชื่อไฟล์ / โฟลเดอร์ | สเปกแนะนำ |
|---|---|---:|---|---|
| ต้องเตรียม | รูปตัวละครทั้ง 10 ตัว | 10 | `01-characters/character-01.png` ถึง `character-10.png` | PNG หรือ WebP, 3:4, 900×1200 px ขึ้นไป, เว้นขอบรอบตัวและใบหน้าให้อยู่ช่วงบนกลาง |
| ต้องเตรียม | ข้อมูลตัวละคร | 1 รายการ | `CHARACTER-LIST.md` | ชื่อจริง ชื่ออังกฤษ บทบาท ระดับ คำบรรยาย ให้ตรงกับหมายเลขภาพ |
| แนะนำ | แบนเนอร์ห้องอัญเชิญ | 1 | `02-backgrounds/summon-banner.webp` | 1920×1080 px, ตัวเด่นอยู่ด้านขวา เว้นฝั่งซ้าย 40% สำหรับข้อความ; ขอบบน–ล่างเผื่อครอป |
| เสริม | โลโก้ EXCOSIA | 1 | `03-brand/excosia-logo.svg` หรือ `.png` | SVG หรือ PNG โปร่งใส กว้างอย่างน้อย 1200 px อ่านได้บนพื้นกรมท่า |
| เสริม | ไอคอนเกม | 1 | `03-brand/excosia-icon.png` | 512×512 px, 1:1, สัญลักษณ์อ่านออกเมื่อย่อเล็ก |
| เสริม | ไอคอนเหรียญอัญเชิญ | 1 | `03-brand/summon-coin.png` | 256×256 px, พื้นโปร่งใส โทนทอง |
| วิดีโอที่ควรทำก่อน | พิธีเปิดกาชา | 1 | `04-videos/summon-intro.mp4` | 3–5 วินาที, 1920×1080, 16:9, จบก่อนเผยตัวละคร ไม่ฝังชื่อหรือ UI |
| เสริม | พื้นหลังห้องอัญเชิญแบบวน | 1 | `04-videos/chamber-loop.mp4` | 8–12 วินาที, 1920×1080, 16:9, กล้องนิ่ง ควัน/แสงเคลื่อนไหวช้า ต่อหัวท้ายได้ |
| เสริม | เอฟเฟกต์เผยระดับ R / SR / SSR | 3 | `04-videos/reveal-r.mp4`, `reveal-sr.mp4`, `reveal-ssr.mp4` | คลิปละ 2–3 วินาที, 900×1200, 3:4; R ขาวเงิน, SR ขาวทอง, SSR ทองสว่าง |
| เสริม | ตัวละคร SSR เคลื่อนไหวเบา ๆ | ตามจำนวน SSR จริง | `04-videos/character-01-idle.mp4` เป็นต้น ใช้เลขเดียวกับรูป | 5–8 วินาที, 900×1200, 3:4, กล้องนิ่ง หายใจ/ผ้าพลิ้ว วนต่อเนื่อง |
| เมื่อส่งวิดีโอ | ภาพนิ่งสำรองของแต่ละคลิป | คลิปละ 1 | `05-posters/` ใช้ชื่อเดียวกับวิดีโอ เช่น `summon-intro.webp` | สัดส่วนและองค์ประกอบเดียวกับคลิป ใช้เมื่อปิดภาพเคลื่อนไหวหรือวิดีโอโหลดไม่ได้ |
| เสริม | เพลงห้องอัญเชิญ | 1 | `06-audio/chamber-bgm.mp3` | 30–60 วินาที วนได้ ไม่ดังกลบเอฟเฟกต์ |
| เสริม | เสียงกด / อัญเชิญ / เผยตัวละคร | 5 | `06-audio/ui-click.mp3`, `summon.mp3`, `reveal-r.mp3`, `reveal-sr.mp3`, `reveal-ssr.mp3` | กด 0.1–0.3 วินาที, เสียงอัญเชิญ/เผย 1–3 วินาที |

## วิธีเตรียมภาพตัวละคร

- ใช้เลข 01–10 ให้คงที่ ชื่อตัวละครจริงไม่ต้องเป็น Kael หรือชื่อ mock เดิม
- ถ้ามีภาพพร้อมแล้ว ส่งขนาดเดิมได้ ไม่จำเป็นต้องสร้างใหม่เพื่อให้ตรง 900×1200 พอดี
- ภาพพื้นหลังโปร่งใสดีสำหรับวางบนการ์ด ภาพมีฉากหลังใช้ได้เช่นกัน
- ไม่ฝังชื่อ ระดับดาว กรอบการ์ด หรือปุ่มลงในรูป เพราะเว็บใส่ให้เอง
- ไม่ต้องวาดภาพย่อยหลายขนาด ภาพหนึ่งไฟล์ใช้ทั้งการ์ด สมุดตัวละคร และหน้าผลสุ่มได้
- ไฟล์ PNG เปลี่ยนเป็น WebP ได้ โดยแจ้งชื่อไฟล์จริงใน CHARACTER-LIST.md

## วิธีเตรียมวิดีโอและเสียง

- MP4 H.264, 24–30 fps, เป้าหมายคลิปละ 2–5 MB; ส่งต้นฉบับใหญ่กว่านี้ได้เพื่อบีบอัดภายหลัง
- แยกเสียงจากวิดีโอ ไม่ฝังข้อความ ปุ่ม จำนวนเหรียญ หรือชื่อเกมในคลิป
- เอฟเฟกต์ที่ต้องโปร่งใสใช้ WebM alpha พร้อมภาพ PNG สำรอง; MP4 ทั่วไปไม่มีพื้นหลังโปร่งใส
- ส่งภาพ poster แยกทุกคลิป เพื่อรองรับการโหลดช้าและผู้ใช้ที่ลดการเคลื่อนไหว
- รุ่นนี้ยังไม่มีการต่อสู้ จึงยังไม่ต้องเตรียมมอนสเตอร์ ฉากดันเจี้ยน ภาพโจมตี/เจ็บ/ตาย หรือวิดีโอสกิล

## ใส่ไฟล์แล้วต้องทำอะไรต่อ

`assets-to-prepare` เป็นโฟลเดอร์รับงาน **วางไฟล์แล้วจะยังไม่เปลี่ยนบนเว็บไซต์อัตโนมัติ**

เมื่อเตรียมเสร็จ แจ้งให้เชื่อม assets จากโฟลเดอร์นี้ ตัวละครจะถูกผูกกับ `dist/characters.js` และย้ายไฟล์ที่ใช้งานจริงไป `dist/assets/` ส่วนวิดีโอและเสียงจะต่อระบบเล่น ข้าม ปิดเสียง และภาพสำรองในรอบนั้น

ไฟล์เว็บที่ใช้งานจริงอยู่ใน `dist/` อย่าแทน SVG ด้วย PNG โดยเปลี่ยนแค่นามสกุล ต้องอัปเดต path ให้ตรงไฟล์จริงด้วย

ตัวละครเดิมและระบบสุ่มยังใช้ ID ภายในเดิมเพื่อรักษาเซฟ ไม่ควรแก้ ID โดยตรงก่อนกำหนดการย้ายข้อมูล

## สรุปจำนวนที่ต้องเตรียมตอนเริ่ม

**รูปตัวละคร 10 รูป + รายชื่อ 10 ตัว + แบนเนอร์ 1 รูป** ก็เพียงพอสำหรับแทนภาพ mock ให้เป็น EXCOSIA

วิดีโอเริ่มแค่คลิปเปิดกาชา 1 คลิปได้ ส่วนโลโก้ เสียง และภาพเคลื่อนไหวอื่นเพิ่มทีหลังได้
