Catch Ball - Neon Arcade GAME
Catch Ball menghadirkan pengalaman arkade yang seru dengan tema cyberpunk khas Arkade Neon. Gameplay intinya intuitif: tangkap bola basket yang jatuh untuk mencetak poin, hindari bom untuk menyelamatkan nyawa, dan kejar kombo tinggi.
**Gameplay**
- Dua jenis bola: Bola Basket (80%, oranye-merah) dan Bom (20%, hitam bergaya pixel-art)
- Tangkap bola basket: +10 poin, meningkatkan kombo
- Tangkap bom: -1 nyawa (harus menghindar!)
- Melewatkan bola basket: -1 nyawa
- Melewatkan bom: tidak ada penalti (beruntung lolos)
- Mulai dengan 3 nyawa (ikon hati di HUD)
- Permainan berakhir ketika nyawa mencapai 0
**Tingkat Kesulitan Progresif (Sistem Ganda)**
- Peningkatan level berdasarkan skor: naik level setiap 100 poin, +60 px/s per level, interval kemunculan -120ms per level
- Peningkatan level berdasarkan waktu: +30 px/s setiap 10 detik (maks +300 px/s), kesulitan meningkat bahkan tanpa mencetak skor
- Interval kemunculan minimum: 400ms (tempo cepat di akhir permainan)
- Kecepatan bola: dimulai dari 250 px/s, mudah mencapai 800+ px/s setelah 5 menit
**Kombo** Sistem**
- Tangkapan bola basket beruntun membangun kombo
- Overlay kombo muncul saat kombo ≥5
- Setiap 5 kombo memberikan +1 poin bonus
- Melewatkan bola basket atau menangkap bom akan mereset kombo
**Desain Visual: Tema Arkade Neon**
- Latar belakang biru tua kehitaman (#0A0E1A) untuk kontras bola yang tinggi
- Warna utama cahaya cyan-hijau (#00FFCC) untuk dayung, batas, dan skor
- Aksen merah muda neon (#FF006E) dan kuning elektrik (#FFBE0B)
- Tepi bercahaya pada dayung, batas permainan, dan teks kombo
- Animasi denyut bom (skala gelombang sinus 150ms) sebagai peringatan
- Umpan balik warna dayung: hijau saat menangkap, merah saat meleset/bom
- Ikon hati (❤️) untuk nyawa, redup menjadi abu-abu berongga saat hilang
- Nada animasi Cepat & Elektrik (umpan balik 80-150ms)
- sans-serif-condensed untuk teks utama, Sans-serif medium untuk angka, monospace untuk kombo
Halaman & Navigasi
- MainActivity: 6 tombol bulat (MAIN, RIWAYAT, STATISTIK, PRESTASI, CARA BERMAIN, PENGATURAN)
- GameActivity: GameView layar penuh dengan HUD 3 hati, tampilan skor langsung, tombol jeda, overlay kombo
- HistoryActivity: RecyclerView dari permainan sebelumnya dengan kartu yang menunjukkan skor/tanggal/bola yang tertangkap/kombo maksimal/durasi
- StatisticsActivity: 7 kartu statistik yang dapat digulir (total permainan, skor tertinggi, total skor, kombo maksimal, bola yang tertangkap/terlewat, tingkat tangkapan)
- AchievementsActivity: RecyclerView dari 14 prestasi dengan bilah kemajuan dan bintang status buka kunci
- SettingsActivity: 4 kartu yang dikelompokkan (Preferensi Permainan, Aksesibilitas, Manajemen Data, Tentang) dengan tombol ketuk baris
- HowToPlayActivity: 4 bagian tutorial (Aturan Dasar, Jenis Bola, Sistem Kombo, Permainan Berakhir)
- Kustom Toolbar neon di semua halaman sekunder (latar belakang permukaan, judul hijau cyan, tombol kembali)
- Halaman sekunder kembali ke halaman utama melalui tombol kembali di toolbar; Halaman utama menampilkan iklan interstitial saat keluar
Dialog Kustom
- Dialog Jeda: ditampilkan saat menekan jeda atau kembali selama permainan, tombol Lanjutkan/Keluar
- Dialog Game Over: menampilkan skor akhir, bola yang tertangkap, kombo maksimal, tombol Main Lagi/Menu Utama
- Gambar latar belakang dialog kustom (bingkai cyan + sudut membulat)
- Dialog konfirmasi untuk menghapus riwayat dan mengatur ulang statistik
Sistem Pencapaian (14 pencapaian)
- Pencapaian skor: Skor Pertama, Master Skor I/II/III (100/500/1000 poin)
- Permainan Sempurna: menyelesaikan permainan tanpa kehilangan nyawa
- Pencapaian kombo: Pemula/Master Kombo I/II/Legenda (5/10/20/50 kombo)
- Jumlah permainan: Pemula/Veteran/Legenda (10/50/100 permainan)
- Spesial: Pengambil Risiko (menangkap 10 bom), Tangkapan Beruntung (bola ungu langka, warisan)
Catatan UX
- Multi-Aktivitas Murni Navigasi, tanpa struktur tab bawah
- Toolbar Neon kustom di semua halaman sekunder (latar belakang warna permukaan, teks judul cyan-hijau, warna tombol kembali)
- Adaptasi tepi ke tepi WindowInsets melalui utilitas InsetsHelper
- Toolbar dengan padding otomatis untuk bilah status; konten gulir/daftar dengan padding otomatis untuk bilah navigasi
- GameView menggunakan Choreographer untuk loop rendering 60 FPS yang stabil
- Jeda pada Activity onPause, lanjutkan pada onResume (dengan kompensasi waktu jeda untuk mencegah lonjakan kesulitan)
- Lapisan rendering perangkat lunak (LAYER_TYPE_SOFTWARE) untuk kompatibilitas lintas perangkat
