Lompat & Tangkap: Game Gerak untuk Anak
Game gerak (motion-controlled) untuk anak usia sekolah dasar — tangkap buah yang jatuh dengan menggerakkan tubuh di depan kamera. Tanpa instalasi, langsung jalan di browser.
Apa Itu Project Ini?
Lompat & Tangkap adalah game edukatif berbasis gerakan tubuh (motion-controlled) yang dibuat untuk anak-anak usia sekolah dasar. Pemain menangkap buah yang jatuh dari atas layar dengan menggerakkan tubuh di depan kamera webcam — kamera mendeteksi gerakan tubuh dan menerjemahkannya menjadi gerakan keranjang di layar.
Game ini single-file HTML5 (tanpa build step, tanpa dependensi), sehingga sangat mudah dijalankan: cukup buka file di browser. Kamera bersifat opsional — jika tidak ada kamera/HTTPS, game tetap bisa dimainkan dengan tombol panah, A/D, atau klik/geser.
Coba main langsung: Menu Game
Cara Main
- Buka browser:
https://gretha.my.id/game/(atauhttps://gretha.my.id/game/kiri-kanan/langsung). - Klik "Mulai Bermain", izinkan akses kamera (opsional).
- Gerakkan tubuh kiri/kanan di depan kamera untuk menggerakkan keranjang.
- Tangkap buah baik, hindari bom (mengurangi nyawa).
- Skor tinggi disimpan otomatis di browser (localStorage).
Kontrol alternatif:
- Tombol panah kiri/kanan atau A / D
- Klik/geser pada layar (mouse atau sentuh)
- Spasi/Enter untuk mulai, P untuk pause
Fitur Utama
- Deteksi gerakan tubuh via webcam (frame differencing) — opsional, dengan checkbox.
- Pilihan tema: Buah-buahan, Boneka Laki-laki, Boneka Perempuan, Mobil-mobilan.
- Tingkat kesulitan: Mudah / Sedang / Sulit.
- Objek jatuh dengan poin berbeda + bom (nyawa -1) + bintang bonus (+5).
- Combo multiplier, level up (popup), partikel efek.
- Nyawa 3, skor tertinggi tersimpan (localStorage).
- Musik latar + efek suara (tangkap, combo, bonus, level up, game over, bom).
- Getar (vibrate) di perangkat mobile.
- Tombol: suara, pause, selesai (🏁).
- Menang otomatis jika skor ≥ 100.
- Responsif (desktop & mobile, safe-area Android).
Tech Stack
| Komponen | Teknologi | Fungsi |
|---|---|---|
| Rendering | HTML5 Canvas | Game loop, sprite, partikel |
| Logika | Vanilla JavaScript | State, collision, scoring |
| Audio | Web Audio API | Musik latar & SFX |
| Kamera | getUserMedia | Deteksi gerakan tubuh |
| Storage | localStorage | High score |
| Deployment | Shared Hosting | Akses via web |
| AI Assistant | OpenClaw + DeepSeek | Coding, debugging, deployment |
Arsitektur Singkat
┌──────────────────────────────────────────────┐
│ Browser (Frontend) │
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ Kamera │ │ Canvas │ │ UI Kontrol │ │
│ │ (opt.) │ │ Game │ │ suara/pause │ │
│ └────┬─────┘ └────┬─────┘ └──────────────┘ │
│ │ motion │ render │
│ ┌────▼─────────────▼────┐ │
│ │ Game Loop & State │ │
│ │ (scoring, collision) │ │
│ └───────────────────────┘ │
└──────────────────────────────────────────────┘
│ localStorage (high score)
Kamera bersifat opsional — frame differencing hanya aktif jika diizinkan. Tanpa kamera, kontrol fallback ke keyboard/mouse/touch.
Peran OpenClaw
Project ini dibangun dengan bantuan OpenClaw + DeepSeek:
- Desain — menentukan mekanik game (objek jatuh, combo, level), pilihan tema, dan kesulitan.
- Coding — menulis seluruh game dalam satu file HTML (HTML + CSS + JS) dengan Canvas rendering, Web Audio, dan getUserMedia.
- Iterasi — penyesuaian mobile (safe-area Android, tombol naik agar tidak tertutup nav bar), penambahan musik/SFX, getar.
- Deployment — upload ke shared hosting via robotku.php (file manager API), karena tidak ada SSH.
- Dokumentasi — README, SUMMARY, MEMORY, AGENTS.md untuk konteks agent.
Insight dari Project Ini
1. Motion Game Bisa Tanpa Library Berat
Deteksi gerakan tubuh sederhana dengan frame differencing di Canvas sudah cukup untuk game anak. Tidak perlu MediaPipe/OpenCV — cukup bandingkan frame kamera.
2. Kamera = Secure Context
getUserMedia hanya jalan di HTTPS atau localhost. Di http://IP-LAN, kamera tidak aktif — game harus punya kontrol fallback (keyboard/touch) agar tetap bisa dimainkan.
3. Single-File = Mudah Deploy
Satu file index.html yang berisi semuanya (HTML/CSS/JS) sangat mudah di-deploy ke shared hosting: cukup upload satu file. Tidak ada build step, tidak ada dependensi.
4. Audio & Haptic Meningkatkan Engagement
Musik latar, efek suara (tangkap/combo/bonus/game over), dan getar di mobile membuat game terasa hidup untuk anak-anak.
5. AI Mempercepat Iterasi
Dari ide ke game yang bisa dimainkan hanya butuh beberapa jam dengan bantuan OpenClaw — AI menulis kode, manusia review & test.
Tantangan dan Solusi
| Tantangan | Solusi |
|---|---|
| Kamera butuh HTTPS | Kontrol fallback (keyboard/touch), game tetap playable |
| Mobile nav bar menutupi tombol | Safe-area + tombol dinaikkan ~140px |
| Shared hosting tanpa SSH | Deploy via robotku.php (file manager API) |
| Audio autoplay diblokir browser | Mulai audio setelah interaksi user (klik Mulai) |
| Performa Canvas di device lemah | Batasi partikel, optimasi render |
Demo Langsung
Coba game-nya di browser:
👉 Menu Game 👉 Lompat & Tangkap (langsung)
- Izinkan akses kamera (opsional) untuk kontrol gerak tubuh.
- Atau gunakan tombol panah / A-D / klik-geser.
- Skor tertinggi tersimpan di browser.
Download
Project ini open source — silakan download dan mainkan di komputer Anda sendiri!
👉 Download lompat-tangkap.zip (~10 KB)
File yang Didapat
kiri-kanan/
├── index.html ← Game utama (single file)
├── README.md ← Panduan pengguna
├── SUMMARY.md ← Ringkasan project
├── MEMORY.md ← Konteks project
├── AGENTS.md ← Panduan agent
└── lompat-tangkap.zip ← Arsip siap deploy
Tutorial Instalasi (Lokal)
- Download
lompat-tangkap.zipatauindex.html. - Extract ke folder web server (XAMPP/Laragon) atau buka langsung di browser.
- Buka
http://localhost/kiri-kanan/(atau double-clickindex.html). - Untuk kamera aktif, jalankan via HTTPS atau localhost (bukan IP LAN).
Penutup
Lompat & Tangkap adalah contoh bagaimana game edukatif berbasis gerakan tubuh bisa dibangun sederhana, ringan, dan mudah di-deploy — bahkan di shared hosting. Cocok untuk anak-anak belajar koordinasi motorik sambil bermain, dan bisa jadi inspirasi untuk project serupa (game edukasi, rehabilitasi, atau hiburan keluarga).
Mau mencoba atau berkontribusi? Kunjungi Menu Game dan mainkan langsung di browser Anda.