Logo Resmi Fadhil
Fadhil NuruzzamanSoftware Engineer
Web GamePersonal2026

Paw & Pixel: Game Eksplorasi Pixel Art

Paw & Pixel adalah game pribadi kecil yang dibuat sebagai penghormatan untuk Tupe, kucing kampung oranye yang dibesarkan di rumah dan tetap tinggal setelah kedua saudaranya tumbuh dan pergi. Sifatnya tenang dan penyayang, selalu manja dan suka menempel, dan hanya mau datang berlari kalau dipanggil dengan suara falsetto. Dia meninggal di usia empat tahun. Di game ini, pemain berjalan-jalan di hutan pixel art kecil yang dibangun dengan Phaser 3, ditemani sprite kucing yang dibuat berdasarkan dirinya, sebagai cara sederhana untuk menjaga kenangannya tetap dekat.

Preview

Jelajahi Situsnya

Tampilan situs jadi yang bisa di-scroll, persis seperti yang dilihat pengunjung.

Preview desktop Paw & Pixel: Game Eksplorasi Pixel Art

Desktop

Preview mobile Paw & Pixel: Game Eksplorasi Pixel Art

Mobile

Tech Stack

Teknologi Penggerak Proyek

Tools dan teknologi yang digunakan untuk mewujudkan proyek ini.

Logo TypeScript
Logo Phaser
Logo Vite
Logo Seedance
Logo Claude
Logo Cursor
Logo GitHub
Logo Yarn
Logo Vercel

Peran

Rincian per Skill

Tiap proyek memanfaatkan kombinasi berbagai disiplin, begini gambarannya di proyek ini.

Web Development

  • Menyusun struktur game dengan sistem scene Phaser 3: scene loading memuat semua aset lebih dulu, lalu memudar ke scene game utama.
  • Membangun world builder custom yang menempatkan sekitar 260 pohon. Grove di dekat perbatasan dan bagian dalam ditempatkan manual, sisanya diisi secara prosedural berbasis seed, dan semuanya memakai Y-sort depth agar pohon dan karakter saling tumpang tindih dengan benar.
  • Mengimplementasikan sistem collision dua lapis, yaitu lingkaran di setiap batang ditambah dinding segmen penghubung, agar pemain tidak bisa menembus celah di antara pohon.
  • Membangun joystick virtual mengambang untuk input sentuh, aktif di mana saja di layar untuk mobile dan tablet.

UI/UX Design

  • Sengaja membiarkan antarmuka tanpa HUD, skor, atau menu apa pun, agar fokus tetap pada eksplorasi yang tenang.
  • Menjaga palet warna dunia tetap kalem dengan nuansa hijau yang natural, selaras dengan suasana tenang dan reflektif dari penghormatan ini.
  • Merancang joystick mengambang agar aktif di mana pun pemain menyentuh layar, bukan di posisi tetap, sehingga kontrol tetap nyaman berapa pun ukuran tangan pemain dan di mana pun posisinya.

Graphic Design

  • Membuat aset pixel-art (pohon, rumput, batu, sprite karakter) dengan Seedance dan menyusunnya secara manual untuk membangun dunianya.
  • Merancang loading screen bergaya pixel dengan progress bar custom dan tagline "nowhere to go, still going".
  • Membuat favicon situs.
  • Mengompres setiap gambar ke WebP dan mayoritas di bawah 200KB sebelum diunggah, tanpa penurunan kualitas yang terlihat.

Sorotan

Di Balik Layar

Tinjauan lebih dekat soal apa yang ditawarkan produk jadinya, masalah yang diselesaikan selama pengembangan, dan hasilnya.

Fitur Utama

  • Desain full responsive di perangkat desktop dan mobile.
  • Gambar dioptimasi untuk loading cepat.
  • Dunia hutan yang disusun manual dengan sekitar 260 pohon dari 5 spesies, masing-masing ditempatkan dengan aturannya sendiri.
  • Collision batang dua lapis agar pemain tidak pernah bisa menembus celah di antara pohon.
  • Joystick virtual mengambang untuk kontrol sentuh di mobile dan tablet.
  • Sprite arah custom (depan, belakang, samping) untuk Fadhil dan Tupe, masing-masing dengan animasi jalan untuk setiap arah.
  • Tanpa HUD, menu, atau skor, hanya ruang tenang untuk berjalan-jalan.
  • Bisa dimainkan langsung di browser, tanpa perlu instalasi.

Tantangan yang Dihadapi

Mengisi Hutan Tanpa Terasa Berulang

Dunia berukuran 1600x1600 butuh sekitar 260 pohon agar terasa seperti hutan sungguhan, tetapi menempatkan semuanya secara manual akan lama dan berisiko terlihat berulang. Solusinya, 82 pohon ditempatkan manual dalam grove di sepanjang perbatasan dan bagian dalam, lalu sisanya diisi algoritma prosedural berbasis seed yang menyebar sekitar 180 pohon lagi sambil menjaga jarak minimum antar grove.

Menjaga Konsistensi Visual Aset Hasil AI

Aset dibuat lewat Seedance secara terpisah per jenis (pohon, rumput, karakter), sehingga gaya atau palet warnanya berisiko tidak selaras. Masalah ini diatasi dengan menyempurnakan prompt berulang kali dan memilih hasilnya secara manual, sehingga setiap aset tetap konsisten.

Mencegah Pemain Menyelip di Antara Pohon

Satu collision lingkaran per pohon ternyata masih memungkinkan pemain menyelip lewat celah diagonal sempit di antara pohon yang berdekatan. Solusinya adalah lapisan collision kedua berupa dinding segmen tipis di antara dua batang yang jaraknya kurang dari 34px, yang menutup celah yang lolos dari lapisan pertama.

Pelajaran yang Didapat

  • Bekerja dengan sistem scene Phaser dan animasi sprite per arah menjadi pengalaman pertama mengerjakan game secara langsung, bidang yang cukup berbeda dari proyek web biasa.
  • AI coding assistant ternyata sama bergunanya untuk menjelajahi API game engine yang belum familiar seperti halnya untuk web development biasa.
  • Masalah yang kelihatan sederhana, seperti karakter menembus celah di antara objek, sering butuh lapisan collision kedua yang dirancang khusus, bukan satu lapisan yang lebih besar.

Dampak

Masalah yang Terselesaikan Setelah Rilis

Bagaimana proyek ini mengubah keadaan bagi bisnis dan penggunanya setelah rilis.

Kenangan yang tetap hidup

Gambar di bawah 200KB

Sprite untuk 3 arah

Tidak ada celah yang bisa ditembus

Perbaikan Kritis

Kehidupan Kucing Kampung yang Terlalu Mudah Terlupakan

Sebelum

Kucing kampung seperti Tupe jarang meninggalkan catatan tentang hidupnya, dan begitu mereka pergi, biasanya tidak ada yang tersisa.

Sesudah

Tupe kini punya dunia kecil yang permanen untuk dikenang, sebagai pengingat pribadi bahwa hidup dan kasih sayang seekor kucing kampung pun layak dihormati.

Performa

Halaman Lambat Akibat Gambar yang Tidak Dioptimasi

Sebelum

Gambar beresolusi tinggi yang tersebar di seluruh situs, bukan hanya di satu bagian, berisiko memperlambat setiap halaman.

Sesudah

Setiap gambar di seluruh situs dikompres ke WebP dan dijaga di bawah 200KB, sehingga halaman tetap cepat tanpa penurunan kualitas yang terlihat.

Peningkatan

Pergerakan Datar Tanpa Kesan Arah

Sebelum

Karakter hanya punya satu sprite statis apa pun arah geraknya.

Sesudah

Sprite arah (depan, belakang, samping) ditambahkan untuk pemain maupun kucing pendamping, sehingga gerakannya terasa lebih hidup.

Peningkatan

Karakter Menyelip Lewat Celah di Antara Pohon

Sebelum

Satu collision lingkaran per pohon masih memungkinkan pemain menyelip lewat celah diagonal sempit di mana pohon-pohon berdiri berdekatan.

Sesudah

Dinding segmen penghubung ditambahkan di antara batang yang berdekatan untuk menutup setiap celah yang lolos dari satu lingkaran, sehingga gerakan kini terasa kokoh.