Commit Graph

34 Commits

Author SHA1 Message Date
rizkyaz0 a946bd3e89 Gabung wf/t4-tutorial: tutorial terpandu 2026-10-05 13:57:17 +07:00
rizkyaz0 04b9acc689 Gabung wf/t4-assist: bantuan dan aksesibilitas 2026-10-05 13:56:59 +07:00
rizkyaz0 20b11fd77b Tambah tutorial singkat terpandu (RENCANA 4.1)
Tombol TUTORIAL kecil di pojok kiri atas menu utama (di luar alur bilah, jadi tinggi menu tidak berubah) memulai latihan terpandu di arena latihan:
karakter terakhir yang dimainkan (atau Mega Chan) melawan dummy diam. Panel instruksi di bawah header HUD menampilkan delapan langkah berurutan
(gerak, lompat, kombo 3 pukulan, uppercut dan tinju maju, skill I dan O, blok lalu parry, lempar, ultimate) dengan tombol yang harus ditekan,
centang otomatis saat terdeteksi, tombol LEWATI dan KELUAR, serta penanda selesai (+50 koin satu kali, flag di Meta.save.eggs['code:tutorial']).
Di layar sentuh teks dan sasaran memakai tombol layar.

- tutorial.js, tutorial.css: modul baru (deteksi dari hero.state/jumps/action/blocking/cooldowns, pembungkus receiveHit hanya untuk mengamati hasil parry/blok).
- game.js: dua kait kecil di __game: stats() (kombo dan damage) dan dummyAttack(slow) (serangan dummy atas perintah, pembuka diperlambat untuk latihan parry).
- menu.js: satu baris memanggil Tutorial.decorate di akhir render(). index.html: tag tutorial.css dan tutorial.js (sebelum menu.js).
- docs/ENGINE_NOTES.md: catatan alur dan kait baru.
2026-10-05 13:55:19 +07:00
rizkyaz0 6244437fbb Tambah mode bantuan dan aksesibilitas (RENCANA 4.2 dan 4.3): modul access.js + access.css
Kotak lipat "Bantuan & aksesibilitas" disisipkan ke Pengaturan lewat JS (pilihan tersimpan di localStorage, tiap pilihan punya Atur ulang, plus Atur ulang semua).
Bantuan (hanya sisi pemain): Kombo otomatis (satu ketukan Spasi = rantai 3 pukulan), Blok otomatis (serangan dari depan ditahan lewat jalur blok biasa),
Tanpa cooldown (skill dan jurus toko tanpa cooldown, ultimate siap paling lama 5 dtk), Pemulihan darah pelan (+2 HP/dtk).
Aksesibilitas: ukuran teks Normal/Besar/Sangat besar (variabel CSS), mode buta warna protanopia/deuteranopia/tritanopia (filter SVG pada arena dan HUD,
bar HP lawan bergaris dan lapisan cadangan bertitik), Kurangi gerakan (otomatis mengikuti prefers-reduced-motion atau dipaksa; pengali Access.motion
untuk getaran layar, zoom K.O., kilat, dan animasi latar), Kontras tinggi untuk HUD.
Kait kecil di game.js, feel.js, dan vs.js memakai window.Access secara malas (tanpa modul semuanya no-op); catatan mesin diperbarui.
Mode ringan: diuji node --check dan smoke (tanpa galat halaman); keadaan pilihan aktif dan tampilan belum diuji, pengguna menguji manual.
2026-10-05 13:52:22 +07:00
rizkyaz0 b40925ad88 Layar statistik pertandingan (RENCANA 5.5): modul stats.js dengan kait kecil di game.js, kartu Statistik di layar hasil, ringkasan seumur hidup di Koleksi
- stats.js (window.MatchStats): statistik pemain 1 per pertandingan versus (juga 2 pemain, Arcade, Survival, Bayangan; latihan tidak): damage keluar/diterima (selisih HP per langkah), kombo terpanjang, counter hit, parry, blok, lempar, akurasi serangan dasar/skill 1/skill 2/ultimate (jurus dihitung mengenai sekali per pemakaian), ronde dan durasi (jumlah waktu fase fight, waktu simulasi tanpa Date.now)
- game.js: kait satu baris di startMatch/reset (reset), advanceMatch (tick), cast/startAttack (cast), hitDummy/dotDamage (hit lewat hitSource), heroGuard (parry/block), event 'complete' (finish -> info.stats)
- vs.js + stats.css: tombol STATISTIK di kepala layar hasil membuka kartu 4x3 di atas tombol aksi (digulir sendiri bila ruang kurang, Esc menutup), muat di 520 px dan ponsel lanskap; tanpa info.stats tidak ada tombol
- meta.js: award memanggil commit ke Meta.save.stats (kunci baru dmgDealt, dmgTaken, parries, blocks, throws, counters, rounds, playSec, statMatches; simpanan lama terbaca 0; bestCombo ikut naik ke kombo terbaik seluruh ronde); tab Koleksi menampilkan ringkasan seumur hidup
- index.html: dua tag baru di baris sendiri; catatan mesin diperbarui. Mode ringan: node --check dan smoke lulus, tampilan dan angka diuji manual oleh pemilik
2026-10-05 13:48:55 +07:00
rizkyaz0 0cec0c0ac0 Gabung wf/t3-story: mode cerita Arcade dan bos rahasia Bayangan (RENCANA 3.5 dan 3.6)
Konflik game.js di startMatch diselesaikan dengan mempertahankan kedua sisi: refreshPassives(matchStyles(...)) dari pasif dijalankan dulu, lalu setShadowFoe(...), dan info layar VS membawa styles sekaligus shadow. Urutan pengali di dotDamage dan receiveHit: pengali pasif dulu, lalu +10% Bayangan.
2026-10-04 07:38:00 +07:00
rizkyaz0 54d0cf761a Perhalus tampilan Bayangan: filter lebih gelap dan ungu (hasil hitung warna per nada), aura lebih tipis, lapisan warna ungu hanya sebagai cadangan bila peramban tanpa ctx.filter 2026-10-04 07:32:56 +07:00
rizkyaz0 9a8de47718 Mode cerita Arcade dan bos rahasia Bayangan: kartu cerita pembuka, antar-lawan, bos, dan akhir khas tiap karakter (content/story.js, story.js, story.css); setelah semua lawan kalah muncul BAYANGAN, salinan gelap karakter pemain (HP +40%, damage +10%, CPU excellent, filter ungu tanpa gambar baru) dengan hadiah 1000 koin, pencapaian BAYANGAN, dan gelar; layar VS dan hasil menampilkan BAYANGAN <NAMA>; ?arcade=N untuk uji manual; catatan mesin diperbarui (mode ringan: diuji manual oleh pengguna) 2026-10-04 07:30:20 +07:00
rizkyaz0 4262fb5d95 Tambah pasif dan kelemahan per karakter serta pilihan gaya bertarung (RENCANA 3.2 dan 3.3): satu titik kait passiveMod untuk pemain, CPU, dan P2; gaya Agresif/Seimbang/Bertahan di menu Karakter (Meta.save.style, simpanan lama tetap terbaca), CPU memakai gaya acak per pertandingan; tampil di menu Karakter, layar VS, dan Daftar gerakan 2026-10-04 06:59:25 +07:00
rizkyaz0 2531a58f65 Gabungkan wf/t2-vsresult: layar VS, layar hasil baru, dan kutipan karakter (Tahap 2.2, 2.3, 2.6)
Konflik index.html: baris skrip akhir dan panel jeda; dipertahankan panel jeda dua kolom dari HUD dan ditambahkan content/quotes.js serta vs.js dari vsresult.
2026-10-03 07:54:35 +07:00
rizkyaz0 2315bbe5ed Tambah layar VS sebelum ronde 1, layar hasil baru dengan rincian koin, dan kutipan karakter
- vs.js + vs.css: layar VS sekitar 2,2 detik (dua potret, nama, tag, kutipan pembuka, teks VS, bisa dilewati klik/Spasi/Enter/Esc), hanya untuk versus/Arcade/Survival/dua pemain, tidak di latihan. Cue Round 1 ditunda sampai layar selesai; urutan intro, FIGHT, dan announcer tetap utuh
- ResultView: pemenang besar dengan kutipan menang, yang kalah redup dengan kutipan kalah, rincian koin per baris, statistik singkat, tombol Main lagi / Pilih ulang / Ke toko / Menu utama; akhir Arcade/Survival memakai tampilan yang sama
- Meta.award menyimpan rincian koin di Meta.lastAward tanpa mengubah jumlah koin
- content/quotes.js: kutipan intro/win/lose untuk 7 karakter; build_precache.py ikut memuat folder content/
- tests/t2-vsresult.mjs: uji headless VS, lewati/batal, hasil, Arcade/Survival, jalur menu, ponsel lanskap
2026-10-03 07:35:36 +07:00
rizkyaz0 cbd193a46b Tambah meter ultimate di HUD (SIAP/mode) dan daftar gerakan di menu jeda (Tahap 2.1 dan 2.4)
Meter ultimate tipis di bawah HP pemain dan lawan: terisi mengikuti cooldown ultimate, berdenyut berlabel SIAP, dan menjadi bar waktu mode yang menyusut (nama mode, warna aura) untuk 6 karakter berbasis data, mode mengamuk Bro Wo, bentuk Senator A Nice, serta feral FENR. Data sama untuk CPU dan P2.
Menu jeda memuat bagian Daftar gerakan yang dapat dilipat: tombol dasar, gerakan perintah, nama skill dan mode karakter, kontrol P2. Teks jeda dan bantuan kontrol dibuat berbahasa Indonesia.
Tombol tambahan sentuh dikecilkan pada tinggi 361-400 px agar tidak menimpa meter lawan. Uji headless tests/t2-hud.mjs.
2026-10-03 07:27:34 +07:00
rizkyaz0 80dfd90ee5 Jaga boot bila feel.js gagal dimuat (cadangan Feel tanpa efek) agar start dingin offline tidak mematikan game 2026-10-03 07:02:29 +07:00
rizkyaz0 0ee8c88529 Perbaiki genangan asam jurus lob yang melayang di atas lantai (pusat gambar di lantai) 2026-10-03 06:57:12 +07:00
rizkyaz0 b2e8d434f6 Perbaiki banner cut-in ultimate karakter berbasis data yang menampilkan 'undefined' (selector #ultimate-cutin) 2026-10-03 06:51:52 +07:00
rizkyaz0 13b47140f9 Perbaiki tick DoT yang menaikkan hitungan kombo (hanya ledakan terjadwal yang dihitung) 2026-10-03 06:51:04 +07:00
rizkyaz0 7293c1e4b8 Perbaiki gelombang membelah Senator A Nice yang memukul dua kali (lewati belah bila induk sudah kena) 2026-10-03 06:48:28 +07:00
rizkyaz0 39eb029844 Gabungkan wf/t1-feel: rasa kena (hit-stop, getaran, K.O. slow-motion, angka pop, peringkat kombo)
Konflik di blok API uji akhir game.js: pemeriksaan window.__game.fx (efek jurus) dan hook uji hitDummy/feel/feelState (rasa kena) saling bebas, jadi keduanya dipertahankan.
2026-10-02 23:15:22 +07:00
rizkyaz0 d418f56d29 Efek jurus hidup: gelombang, area, dash, jurus mode, dan semut Gufron
Mesin efek bersama (canvas 2D, tanpa gambar baru): proyektil punya umur, muncul dengan overshoot, memanjang, irisan bergoyang, ekor bayangan, percikan, dan memudar.
Gelombang suara kini berbeda per karakter (cincin berdenyut, teriakan dengan huruf, rantai cincin), ombak Ethanol Man bergulung dan mengangkat lawan.
Jurus area punya cincin aba-aba 0,25 s, gelombang kejut, retakan, dan serpihan. Dash meninggalkan bayangan sprite, debu, dan garis kecepatan.
Jurus mode mendapat mekanik berbeda lewat flag data: rebound, genangan api, split, korosi, belit, konvoi, ledakan susulan, sedotan.
Bahasa Semut: 10 semut mengitari lalu mengejar, damage naik di tengah (maks 45).
Pemain dan CPU memakai data dan efek yang sama; tests/t1-fx.mjs menguji semua jurus dari kedua sisi.
2026-10-02 23:13:55 +07:00
rizkyaz0 376763dedf Rasa kena: tabel penyetelan hit-stop dan getaran, K.O. slow-motion, angka damage pop, peringkat kombo
- feel.js baru: tabel FEEL terpusat per jenis serangan (ringan, sedang, berat, ultimate, guard, parry, counter),
  getaran searah pukulan, riak, kilat putih pada sprite yang kena (pemain dan lawan CPU)
- K.O. memperlambat simulasi visual (0,25x ~0,9 dtk; K.O. akhir 0,2x ~1,5 dtk) dengan zoom ke yang kalah dan vignette;
  jam ronde dan penutup K.O. tetap memakai waktu nyata
- angka damage pop dengan warna per jenis (counter oranye + teks COUNTER, parry biru, guard abu), dibatasi 8 aktif
- peringkat kombo C/B/A/S di tengah layar, memantul tiap pukulan dan beranimasi saat naik peringkat
- tests/t1-feel.mjs: skenario headless (53 pemeriksaan) dengan screenshot
2026-10-02 22:49:36 +07:00
rizkyaz0 19ad65b2eb Perbaiki lawan yang jatuh tidak bangun lagi di mode versus 2026-10-02 11:23:02 +07:00
rizkyaz0 db86e3c96f Blok, parry, lempar, Arcade, Survival, dua pemain, varian skill, teriakan jurus, tombol sentuh, ganti nama 2026-10-01 20:54:11 +07:00
rizkyaz0 dc3bdbe57d Perbaiki ukuran Solo Man, skala pose otomatis, server lokal tanpa cache 2026-10-01 20:43:28 +07:00
rizkyaz0 2d262773f1 Rasa bermain, gerakan perintah, toko, skin, menu karakter, easter egg 2026-10-01 19:58:20 +07:00
rizkyaz0 9cea256701 Tambah karakter Son of Solo Man: sprite 15 state, Asam Sulfat, Teriakan, ultimate Hujan Asam, dan Mode Asam
Karakter data-driven dengan lemparan labu asam dan genangan beracun, gelombang suara, hujan asam bertanda,
dan mode (Semprot Asam, Genangan Luas, Badai Asam). HUD kini memperkecil nama panjang dan menampilkan
nama lawan dengan benar.
2026-10-01 15:31:41 +07:00
rizkyaz0 59c70caf95 Mega Chan: mode Banteng Murka (skill pengganti dan ultimate Tanduk Neraka); timer mode berhenti selama ultimate mode 2026-10-01 14:34:38 +07:00
rizkyaz0 60f70d805b Mesin mode pasca-ultimate generik: aura, buff damage/kecepatan, skill dan ultimate pengganti, bentuk (atlas) kedua opsional
Setiap karakter data-driven boleh punya blok mode: nama, durasi, pengali damage/kecepatan, skill 1 dan 2
pengganti dengan cooldown sendiri, ultimate pengganti sekali pakai yang mengakhiri mode, HUD (nama dan ikon),
cut-in tersendiri, dan opsi form: atlas sprite kedua selama mode.
2026-10-01 14:29:14 +07:00
rizkyaz0 ce0848e1d8 Mesin karakter data-driven (window.FIGHTERS): jurus dasar, empat jenis ultimate sinematik, pendaftaran otomatis di menu
Karakter baru cukup berupa satu berkas assets/<id>/manifest.js: jurus (proyektil, gelombang, kawanan homing,
dash, area, pilar, lemparan), ultimate (volley, stampede, hujan, pilar) dengan kamera zoom dan layar gelap,
HUD, cut-in, dan roster terdaftar otomatis tanpa mengubah game.js per karakter.
2026-10-01 13:32:13 +07:00
rizkyaz0 cefdab82a6 Truk Katering: ganti dengan mobil bak boks putih kecil berlabel parodi 2026-10-01 13:13:54 +07:00
rizkyaz0 16c20bbdc1 Bro Wo mengamuk: skill diganti (Truk Katering, Hutan Terbakar), ultimate jadi Tornado Api Sawit
Saat mengamuk 10 detik, skill 1 dan 2 berganti jurus baru dengan cooldown sendiri, ikon dan nama HUD
ikut berubah, dan ultimate menjadi Tornado Api Sawit (sekali pakai, mengakhiri mengamuk). Efek truk,
pohon terbakar, tornado, ikon, dan cut-in baru ditambahkan.
2026-10-01 12:44:14 +07:00
rizkyaz0 87de6cb108 Bro Wo: hapus pohon tempelan di tangan saat mengamuk (aura dan bonus tetap) 2026-10-01 12:25:11 +07:00
rizkyaz0 41421b7c2a Bro Wo: ultimate sinematik (zoom, latar gelap, 10 pohon + pohon raksasa), mode mengamuk 10 detik, joget gemoy menyetun dan meracuni
Ultimate menukik kamera ke Bro Wo dengan latar menggelap, menahan lawan, menumbuhkan 10 pohon
beruntun lalu mengangkat dan membanting pohon raksasa. Setelahnya Bro Wo mengamuk 10 detik
membawa pohon sawit sebagai senjata (damage, jangkauan, dan kecepatan naik). Joget Gemoy kini
goyang berulang, menyetun lawan, dan menguras darah perlahan lewat racun.
2026-10-01 12:05:36 +07:00
rizkyaz0 1641bd5f4c Tambah karakter Bro Wo: sprite 15 state, jurus, UI, dan pendaftaran ke game
Karakter karikatur pixel art dengan tiga jurus (Pohon Sawit, Joget Gemoy, Hutan Sawit),
potret, ikon, cut-in, efek, dan gambar pilih karakter. Didaftarkan di game.js, menu.js,
index.html, dan style.css.
2026-10-01 11:48:35 +07:00
rizkyaz0 a0d1ffd393 Initial commit: base game dari AETHER CLASH (Bang Tutorial), MIT + CC BY-NC 4.0 2026-10-01 10:11:31 +07:00