94 lines
8.8 KiB
Markdown
94 lines
8.8 KiB
Markdown
# Panduan game fighting dan karakter
|
||
|
||
> [!NOTE]
|
||
> Seluruh isi folder `guide/` adalah warisan **AETHER CLASH** karya Bang Tutorial (CC BY-NC 4.0). Nama seperti ARCO, FENR, Mecha, dan Demi-Human merujuk ke karakter game asal yang tidak lagi ada di roster Konoha Fighting; panduan ini tetap berguna sebagai acuan alur pembuatan karakter, sprite, dan suara.
|
||
|
||
> [!NOTE]
|
||
> Panduan ini ditulis di workspace produksi lengkap, yang juga berisi bahan generate (strip mentah, original, kandidat voice, QA), tool pipeline (`tools/`), dan halaman lab sprite. Bahan itu tidak ikut di repository ini karena ukurannya beberapa GB. Karena itu, path yang disebut tanpa tautan hanya ada di workspace tersebut; file game yang dirujuk (`game.js`, kit karakter, `index.html`, dan sebagainya) ada di root repository ini.
|
||
|
||
Dokumentasi ini menyimpan keputusan final dan cara menyiapkan karakter berikutnya dengan format yang sama. Mulai dari acuan di bawah.
|
||
|
||
## Urutan baca
|
||
|
||
| Keperluan | Acuan |
|
||
| --- | --- |
|
||
| Branding umum AETHER CLASH, dunia Mecha vs Demi-Human | [branding.md](branding.md) |
|
||
| Framing kepala dan arah avatar pemain/musuh, termasuk transformasi | [avatar-standard.md](avatar-standard.md) |
|
||
| Main menu, pemilihan pemain/lawan, arena, difficulty, ronde dan hasil pertandingan | [main-menu.md](main-menu.md) |
|
||
| Background main menu looping Seedance2.5 1080p | [menu-video.md](menu-video.md) |
|
||
| Mengetahui kontrol, HP, damage, cooldown, summon, HUD, dan VFX final | [gameplay-standard.md](gameplay-standard.md) |
|
||
| Membuat karakter Mecha/Demi-Human baru dari nol | [character-workflow.md](character-workflow.md) |
|
||
| Melihat contoh nyata, source terpilih, dan parameter ARCO | [arco-reference.md](arco-reference.md) |
|
||
| FENR, paket dua bentuk, AI, timer transformasi dan aset lengkap | [fenr-reference.md](fenr-reference.md) |
|
||
| MIRA, pilot anak + robot, Rocket Parade, ukuran 182 px | [mira-reference.md](mira-reference.md) |
|
||
| CORA, demi-human gagak bersayap, Night Murmuration, ukuran 184 px | [cora-reference.md](cora-reference.md) |
|
||
| NAJA, demi-human kobra dengan urumi, Dune Serpent, voice Soraya, ukuran 182 px (dari showcase ke playable) | [naja-reference.md](naja-reference.md) |
|
||
| HALDOR, tank mecha pandai besi, Slag Shot melambung, Forge Quake, voice Gideon, ukuran 169 px | [haldor-reference.md](haldor-reference.md) |
|
||
| ZANNI, badut mecha lengan gunting, Ring Toss bumerang, Spring Snatch menarik lawan, Grand Finale, voice Julian, ukuran 176 px | [zanni-reference.md](zanni-reference.md) |
|
||
| ISOLDE, ksatria mecha kaki bangau, Sky Piercer naik diagonal, Stilt Charge, Skyfall Lances dari langit, voice Vesper, ukuran 200 px | [isolde-reference.md](isolde-reference.md) |
|
||
| RHEA, zoner mecha orrery, Planet Drift lambat, Gravity Well, Grand Orrery mengorbit, voice Chloe, ukuran 170 px | [rhea-reference.md](rhea-reference.md) |
|
||
| SOLAN, singa demi-human pedang besar, Solar Crescent, Leonine Leap area, Sunmane Roar tak bisa dilompati, voice Xavier, ukuran 176 px | [solan-reference.md](solan-reference.md) |
|
||
| NIB, tikus kurir demi-human, rantai dan surat tercepat, Rooftop Slip menyelinap, Special Delivery homing, voice Evan, ukuran 150 px | [nib-reference.md](nib-reference.md) |
|
||
| EDDA, nenek kura-kura demi-human, Stone Skip memantul, Shell Counter, Elder Tortoise roh yang menghentak, voice Opal, ukuran 170 px | [edda-reference.md](edda-reference.md) |
|
||
| Menulis prompt base/row/jump/tuck | [sprite-prompts.md](sprite-prompts.md) |
|
||
| Prepare, normalize, extract, align, compose | [sprite-pipeline.md](sprite-pipeline.md) |
|
||
| Memeriksa skala dan integritas atlas | [sprite-qa.md](sprite-qa.md) |
|
||
| Memasang atlas, pivot dan emitters ke game | [sprite-runtime.md](sprite-runtime.md) |
|
||
| Mendiagnosis frame mengecil, goyang, blur, pose menempel | [sprite-known-issues.md](sprite-known-issues.md) |
|
||
| Membuat latar satu arena (5 arena aktif, termasuk hutan dan malam bulan purnama) | [stage-background.md](stage-background.md) |
|
||
| Cara CPU berpikir, knob difficulty dan benchmark | [cpu-ai.md](cpu-ai.md) |
|
||
| Mengatur hurt, KO, immunity dan hit feedback | [hit-reactions.md](hit-reactions.md) |
|
||
| Voice final Dylan, arsip kandidat, dan perilaku audio ultimate | [ultimate-voice.md](ultimate-voice.md) |
|
||
| Voice final Holden untuk FENR, arsip audisi dan perilaku pemain/AI | [fenr-voice.md](fenr-voice.md) |
|
||
| Voice ultimate Luna (MIRA) dan Anika (CORA), pemilihan dan pemotongan kalimat | [mira-cora-voice.md](mira-cora-voice.md) |
|
||
| Announcer sistem final Grady: cue, timing, integrasi dan aturan karakter baru | [announcer-system.md](announcer-system.md) |
|
||
|
||
Jika pedoman generik bertentangan dengan keputusan proyek ini, gunakan gameplay-standard dan character-workflow. Instruksi pengguna berikutnya tetap dapat mengubah acuan; perbarui dokumen final bersamaan dengan implementasinya.
|
||
|
||
## Template untuk karakter berikutnya
|
||
|
||
- [Kartu karakter](templates/character-card.md): identitas, ukuran, skill, aset, dan checklist.
|
||
- [Sprite request](templates/sprite-request.json): cell 320×288, 14 state, 50 frame.
|
||
- [Selected sources](templates/selected-sources.example.json): versi sumber, model, job, dan hash. Isi semua placeholder.
|
||
- [Playback](templates/playback.example.json): struktur jump/tuck; ukur seluruh pivot sebelum dipakai.
|
||
- [Balance reference](templates/balance-reference.json): nilai final untuk pembanding, bukan config loader game.
|
||
|
||
## Aturan yang tidak boleh terlewat
|
||
|
||
1. Kunci satu base karakter; semua animasi memakai identitas base itu. Base baru memakai deskripsi gaya bersama tanpa gambar karakter lama, dengan pembeda siluet/rambut/wajah/palet/kostum eksplisit.
|
||
2. Gambar karakter memakai Higgsfield GPT Image 2.5 **Sunburst**; arena/prop/portrait/ikon/cut-in memakai Seedream 5.0 Pro.
|
||
3. Ukur kepala **dan badan utuh**, khususnya recovery → idle. Median rambut yang sama tidak menjamin tubuh tidak mengecil.
|
||
4. Simpan original setiap versi. Normalisasi satu kali dari original; curation hanya pergeseran integer dengan scale=1.
|
||
5. Gunakan canonical component-row extraction. Jangan mengganti row pipeline dengan generate grid sekali lalu memotong cell buta.
|
||
6. Format saat ini: jump satu pose atletis; doublejump satu pose tuck diputar 360°/0,28 s. Jangan ulang crouch di udara atau gunakan pose kick untuk salto.
|
||
7. Pakai atlas dan manifest hasil compose terbaru bersama; jangan memuat frame intermediate. Anchor di kaki, smoothing mati, skala tubuh tidak berubah per state.
|
||
8. Pose cast terpisah dari umur efek. Proyektil/summon yang sudah dilepas tidak mengunci pemain sampai efek selesai.
|
||
9. HP memakai **satu bar fisik dengan dua lapis nyata**, total 200 HP. Bukan dua baris dan bukan damage trail.
|
||
10. Bedakan pemeriksaan angka, screenshot, dan gerakan yang benar-benar dilihat. Catat batas QA secara jujur.
|
||
11. Jangan menyalin rel/pivot/muzzle ARCO ke karakter baru tanpa pengukuran ulang.
|
||
12. Pilihan pemain ARCO/FENR/MIRA/CORA/NAJA/HALDOR/ZANNI/ISOLDE/RHEA/SOLAN/NIB/EDDA sudah tersedia melalui roster dan pengaturan. Registrasinya masih eksplisit pada game.js (kit MIRA/CORA/NAJA/HALDOR/ZANNI/ISOLDE/RHEA/SOLAN/NIB/EDDA lewat peta `KITS`); penambahan folder saja tidak otomatis menambahkan karakter playable.
|
||
|
||
## Tool yang tersedia
|
||
|
||
| Lokasi | Fungsi | Lingkup |
|
||
| --- | --- | --- |
|
||
| guide/tools/measure_atlas.py | Ukur atlas final | Menerima path run; landmark tertentu tetap perlu adaptasi |
|
||
| guide/tools/measure_head_scale.py | Perbandingan kepala di original | Pilih template/landmark yang sesuai karakter |
|
||
| guide/tools/rebuild_raw.py | Single BOX resample, koreksi per pose | Menerima source/output/count/rel |
|
||
| guide/tools/register_frames.py + write_dx.py | Alignment badan dengan integer dx | Tinjau region dan hasilnya |
|
||
| tools/mecha_pipeline.py | Wrapper canonical pipeline dan ekspor metrics | Terikat ARCO/assets/mecha; adaptasi path sebelum reuse |
|
||
| tools/hair_landmark_audit.py | QA landmark rambut | Warna putih ARCO; bukan detector semua karakter |
|
||
| tools/transition_body_audit.py | Bandingkan body/recovery dengan idle | Terikat ARCO; adaptasi landmark |
|
||
| tools/check_hud_jump.py | Alignment/pivot jump v3 | Terikat ARCO, bukan default karakter baru |
|
||
| tools/verify_atlas_integrity.py | Frame kosong/edge/chroma/hash | Terikat path ARCO saat ini |
|
||
| tools/prepare_drone_assets.py | Cutout export, ukuran dan muzzle drone | Terikat aset drone ARCO |
|
||
| tools/serve.mjs | Server lokal demo | Jalankan dari proyek dengan Node |
|
||
|
||
Venv sprite-gen yang dipakai ada di C:/Users/effen/.codex/skills/sprite-gen/.venv/Scripts/python.exe. Contoh perintah dan penjelasan portabilitas ada di character-workflow. Tidak perlu menjalankan generator atau membangun ulang aset hanya untuk membaca dokumentasi.
|
||
|
||
## Istilah singkat
|
||
|
||
Base = identitas; row = satu gerakan; original = keluaran generator yang belum di-resample; cell = kotak frame; anchor = titik acuan posisi; rel = koreksi skala terhadap original terpilih; curation = pilihan/pergeseran integer; atlas = PNG frame final; manifest = koordinat dan timing; playback/metrics = pivot, stride, hit range, dan titik efek yang terukur.
|
||
|
||
|