Tekakomik adalah aplikasi web & Android (TWA / Play Store ready) game tebak kata harian bergenre Modern Comic yang unik, edukatif, kompetitif, dan aman. Game ini mengombinasikan keseruan tebak kata harian (Wordle-style) dengan alur cerita komik interaktif, petualangan 21 Chapter Pengetahuan Umum Nusantara & Dunia, serta mode audio/suara dan duel 1v1.
Menghadirkan 2 karakter pemandu orisinal:
- 🦸♂️ Kapten Klu: Detektif superhero pemberi petunjuk JUJUR 100% (Identitas Warna: Electric Blue
#2B6CFF). - 🦹♀️ Bayangan: Rival trickster pemberi petunjuk TRICKSTER, MENYESATKAN & LUCU (Identitas Warna: Magenta
#FF3D81).
Tekakomik dirancang intuitif untuk semua kalangan dengan aturan permainan yang sederhana namun penuh tantangan:
Pemain diberikan 6 kali kesempatan untuk menemukan kata rahasia. Setiap tebakan memberikan umpan balik warna secara real-time:
- 🟩 HIJAU (Benar / Correct): Huruf dan posisinya 100% TEPAT.
- 🟨 KUNING (Ada / Present): Huruf ADA di dalam kata, tetapi posisinya SALAH.
- ⬛ ABU-ABU (Tidak Ada / Absent): Huruf TIDAK ADA di dalam kata rahasia.
- Setiap hari tepat jam 00:00 WIB, rilis 1 kata rahasia harian baru yang siap diselidiki bersama Kapten Klu.
- Kunci jawaban tersimpan 100% aman di server cloud (Server-Side Evaluation) untuk mencegah kecurangan.
- Petualangan cerita interaktif yang terdiri dari 21 Chapter (105 Soal Pengetahuan Umum Nusantara & Dunia) tanpa kategori misteri yang tidak relevan.
- Setiap Chapter menyajikan Teks Narasi Story yang Panjang & Menarik yang menceritakan perjalanan Kapten Klu mengelilingi tempat bersejarah, alam, budaya, hingga teknologi Nusantara.
- Dual Progress Bar: Setiap Chapter memiliki 2 indikator progres visual ber-warna identitas (🔵 Mode Normal & 💖 Mode Hardcore Voice).
- Alur Otomatis Terurut: Setelah menebak Kata #1 dengan benar, tombol "Lanjut ke Kata Berikutnya (#2/5)" otomatis membawa pemain ke kata selanjutnya secara terurut dan memperbarui jumlah kotak huruf (3 s/d 9 kotak) secara mulus.
- Membuka Panel Komik Cerita Rahasia di akhir setiap Chapter.
- Tantangan waktu 120 Detik (Countdown Timer)!
- Petunjuk diputar via audio suara (Web Speech API) dan pemain dapat menebak kata langsung menggunakan suara melalui tombol Microphone. Pemutaran suara dilengkapi tombol fallback teks untuk iOS Safari.
- Pemain bisa menantang teman untuk menebak kata yang SAMA dengan batas waktu 120 detik.
- Cukup bagikan kode room 6 digit via WhatsApp/Medsos, lalu hasil perbandingan akhir ditampilkan bersandingan dalam 2 Panel Komik.
- Pemain dapat tetap memainkan 21 Chapter Story tanpa koneksi internet (Airplane Mode).
- Evaluasi tebakan diproses secara lokal di HP pemain (Client-Side Evaluator) dan halaman di-cache secara permanen melalui PWA Service Worker (
/sw.js).
- Poin Akumulatif (Accumulated Score):
- Skor di Papan Peringkat (
/leaderboard) dihitung dari total penjumlahan seluruh skor kata yang berhasil dipecahkan oleh pengguna. - Peringkat ditentukan berdasarkan Total Poin tertinggi, jumlah kata terpecahkan, dan rata-rata percobaan.
- Skor di Papan Peringkat (
- Formula Skor Komik (Comic Score):
- Base Skor: 100 Poin
- Penalti Percobaan: -15 Poin tiap percobaan tambahan
- Penalti Petunjuk: -10 Poin jika memakai clue
- Bonus Kecepatan: Bonus hingga +15 Poin jika selesai di bawah 30 detik
- Bonus Mode Dengar: +25 Poin untuk Hardcore Voice Mode
- Currency Tinta Komik:
- Diberikan saat menang tebakan, menjaga Streak login harian (+70 Tinta/hari), dan menyelesaikan Chapter.
- Digunakan untuk menukar bantuan petunjuk Kapten Klu (10 Tinta), Bayangan (5 Tinta), Buka Dua-duanya (12 Tinta), atau Buka 1 Huruf Rahasia (15 Tinta).
- Pengguna dapat membeli beberapa bantuan petunjuk secara berurutan (Sequential Multi-Clue Purchase).
- Framework: Next.js 16 (App Router, React 19, Turbopack, Server Components & Server Actions)
- Styling Engine: Tailwind CSS v4 (
@theme, custom comic borders, halftone dot patterns, hard sticker shadows) - Design Language: Modern Comic Style (Border tebal 3px
#16161A, offset shadow keras4px 4px 0 #16161A, zero AI-slop) - Logo Brand: Logo "TK" Komik Modern dengan huruf K miring yang seolah-olah jatuh terkena gaya gravitasi.
- Typography:
Bangers/Archivo Black(Judul, Angka, & Display),Plus Jakarta Sans(Body text & Label) - Animations: Framer Motion (3D Card Flip, Comic Shake, Burst Pop, 3D Floating Emojis, Auto-Filling Wordle Grid Simulation)
- Export & Sharing:
html-to-imageuntuk mengunduh sertifikat & kartu hasil tebakan.
- Database: PostgreSQL (Hosted on Neon.tech)
- ORM & Driver: Prisma ORM v7 dengan
@prisma/adapter-pgdriver pooler - Authentication: NextAuth v5 (Google OAuth + Credentials + Anonymous Guest Storage)
- PWA & Android TWA: Web App Manifest (
manifest.webmanifest), Digital Asset Links (assetlinks.json), dan Service Worker (public/sw.js). - Middleware / Proxy: Next.js 16
proxy.ts(Strict NextAuth JWT Auth Guard)
- Zero Text Leak (Evaluasi Server-Side):
- String
Word.textTIDAK PERNAH dikirimkan ke client/browser sebelum pemain menyelesaikan tebakan hari itu. - Evaluasi huruf dilakukan 100% di server (
/api/game/guess).
- String
- Keamanan Kredensial & Secrets:
- Password di-hash permanen menggunakan
bcryptjs. - Seluruh kredensial rahasia (
DATABASE_URL,AUTH_SECRET, Google OAuth) disimpan dalam.envdan diabaikan di.gitignore.
- Password di-hash permanen menggunakan
- Perlindungan Keystore Android & TWA Build:
- File
.keystore,.aab,.apk,.zip, dan artifact build Android secara ketat didaftarkan di.gitignoreuntuk mencegah kebocoran kunci di GitHub.
- File
# 1. Clone repository
git clone https://github.com/bayy-kim/ketakomik.git
cd tekakomik
# 2. Install dependencies
npm install
# 3. Buat file .env dan isi DATABASE_URL & NEXTAUTH_SECRET
# 4. Generate Prisma Client & Push Schema
npx prisma generate
npx prisma db push
# 5. Jalankan Seeding Data 21 Chapter Pengetahuan Umum
npx ts-node prisma/seed.ts
# 6. Jalankan server pengembangan
npm run devBuka http://localhost:3000 di browser Anda.
Proyek ini telah dilengkapi:
- File
public/.well-known/assetlinks.jsondengan SHA-256 fingerprint resmi. - Halaman Kebijakan Privasi (
/privacy). - File
Tekakomik.aabyang telah disetujui oleh PWABuilder.
Project ini dilindungi di bawah lisensi MIT License.