Rilis · 2 menit baca · 19 Oktober 2026

Ketikaria: game mengetik untuk anak yang belum bisa membaca

Game mengetik di browser untuk anak 4 sampai 10 tahun, termasuk yang belum bisa membaca. Setiap instruksi punya suara, setiap tombol berukuran besar, dan tidak ada cara untuk gagal.

Tangan kartun kecil menekan tombol bulat besar bergambar bentuk, di samping balon kata berisi gelombang suara
4–10
rentang usia yang dirancang
56 px
ukuran minimum setiap tombol
0
file audio: musik dan suara dibuat langsung di browser

01 · Apa ini

Ketikaria (masih nama sementara) adalah game mengetik untuk anak-anak.

Game ini dibuat untuk anak usia 4 sampai 10 tahun, termasuk yang belum bisa membaca. Slogannya "Tekan. Dengar. Tumbuh." Karakter kecil bernama Lumi menemani mereka bermain.

02 · Untuk anak yang belum bisa membaca

Kalau anak belum bisa membaca instruksi, instruksinya harus bersuara.

Prinsip yang saya pakai:

  • setiap kontrol punya ikon, label, dan contoh suara
  • setiap tombol berukuran minimal 56 px
  • suara menunggu 1,2 detik, supaya anak yang masih lambat tidak terpotong
  • tidak ada alarm, kata "Gagal", persentase akurasi, atau confetti
  • mode permainan tidak dikunci berdasarkan usia

Progresnya berupa kebun kecil: setiap lima biji menumbuhkan satu tanaman.

03 · Suara tanpa file audio

Tidak ada satu pun file audio di game ini.

Narasinya memakai suara Bahasa Indonesia bawaan perangkat lewat speechSynthesis. Musik dan efek suaranya dibuat langsung di browser dengan oscillator Web Audio. Volumenya turun saat narasi berjalan, dan suaranya berhenti saat tab disembunyikan. Game ini juga mengikuti pengaturan reduced motion.

const ctx = new AudioContext();
const osc = ctx.createOscillator();
const gain = ctx.createGain();
osc.frequency.value = 523.25; // C5
gain.gain.setValueAtTime(0.2, ctx.currentTime);
gain.gain.exponentialRampToValueAtTime(0.001, ctx.currentTime + 0.3);
osc.connect(gain).connect(ctx.destination);
osc.start();
osc.stop(ctx.currentTime + 0.3);

04 · Stack yang kecil

Game ini dibangun dengan React 19, TypeScript, Vite, dan CSS biasa.

Kontennya berupa katalog JSON, dengan 56 item di draf saat ini. Progres disimpan di localStorage, dan Playwright mengecek alur permainannya. Tidak ada backend dan tidak perlu login.

05 · Jebakan saat deploy

Game ini dirilis ke Cloudflare Pages lewat Direct Upload.

Ada dua hal yang saya pelajari. Pertama, tanpa --force, Wrangler bisa membuat proyek Workers, bukan Pages. Kedua, proyek Direct Upload tidak bisa diubah ke integrasi Git belakangan. Jadi, tentukan cara deploy-nya sebelum upload pertama.

npx wrangler pages deploy dist --project-name ketikaria --force

06 · Belum selesai

Game ini belum siap diuji coba.

Yang masih kurang: paket suara dengan dua karakter, onboarding bernarasi, dan uji coba dengan anak-anak di perangkat sungguhan. Itu target berikutnya, belum peluncuran.

Tulisan berikutnyaApakah AGENTS.md mengubah apa yang dibangun coding agent?