Panduan

Source Code Game Biliar: Isi Paket HTML5 8-Ball

Fisika, aturan, CPU, dan data simpanan di file terpisah: apa isi source Velvet Pool dan apa yang biasanya diubah pembeli lebih dulu.

Artwork Velvet Pool: stik sejajar di belakang bola putih di meja hijau, dengan bola 3, 8, dan 4 di dekat lubang sudut.

Source code game biliar layak dibeli kalau tiga hal tinggal di file yang terpisah dan mudah dibaca: fisika bola, aturan 8-ball, dan lawan komputer. Kalau ketiganya kusut jadi satu, setiap perubahan warna kain meja atau tingkat kesulitan CPU berubah menjadi sesi debugging. Velvet Pool, template 8-ball kami, memisahkan ketiganya, dan panduan ini membedah paketnya file demi file.

Kami bahas cara kodenya disusun, apa yang biasanya diubah pembeli lebih dulu, cara meng-hosting atau membungkusnya jadi aplikasi, apa yang diizinkan lisensinya, dan apa yang tidak ada di edisi ini. Setiap nama file di bawah berasal dari panduan pembeli yang disertakan bersama game.

Versi singkatnya: Velvet Pool adalah JavaScript murni di atas WebGL2, tanpa library 3D dan tanpa tahap build. Anda mengedit file, menyalinnya ke folder game, lalu memuat ulang halaman.

Apa isi source code game biliar ini

Velvet Pool adalah game 8-ball yang sudah jadi, bukan engine atau starter kit. Unduhannya berisi empat folder: game/ adalah build yang siap diunggah, source/ adalah game yang sama dalam edisi developer dengan README, package.json, dan tes, documentation/ berisi panduan bergambar dalam bahasa Inggris dan Portugis, dan THIRD-PARTY-LICENSES/ menyimpan teks lisensi font.

Game-nya sendiri memainkan 8-ball dengan foul, ball-in-hand, serta bola polos atau bergaris. Ada tiga tingkat CPU (Easy, Medium, dan Hard), meja latihan bebas dengan undo, penempatan bola, dan susun ulang, serta pertandingan dua pemain di satu perangkat. Pemain bisa memberi efek follow, draw, atau side spin pada bola putih, dan pencapaian lokal membuka lima warna kain meja dan lima gaya stik. Antarmukanya tersedia dalam 14 bahasa.

  • Stack: vanilla JavaScript, ES modules, dan WebGL2. Tanpa Three.js atau library kode lain.
  • Kode: JavaScript polos yang rapi di source/src dan game/src. Tidak ada yang di-minify atau di-bundle.
  • Tes: opsional, dengan Node.js 20 atau lebih baru. Tes memeriksa fisika, aturan 8-ball, pertandingan CPU, dan kunci terjemahan.
  • Versi saat artikel ini ditulis: 1.1.0, diperbarui 22 Oktober 2026.

Lihat halaman produk, demo, dan manual Velvet Pool

Bagaimana file-filenya disusun

game/ dan source/ punya susunan yang sama, jadi sebuah path di satu folder menunjuk ke file yang sama di folder lainnya. Pembagian yang paling penting untuk game biliar adalah antara src/core/ (simulasi dan aturan) dan src/game/ (semua yang disentuh pemain).

  • src/core/physics.js: simulasi bola, efek putaran, dan pantulan bantalan meja.
  • src/core/rules.js: aturan 8-ball dan keputusan foul.
  • src/core/ai.js: cara CPU memilih pukulannya.
  • src/game/controls.js: input bidikan, tenaga, dan efek putaran.
  • src/game/progress.js: pencapaian, kain meja, stik, dan skor pertandingan.
  • src/game/i18n.js: teks dalam 14 bahasa, yang tercantum di LANGS.
  • src/game/localRecords.js: riwayat skor lokal.
  • src/game/audio.js: pemutaran efek suara dan musik.
  • css/style.css dan css/fonts.css: tema, layout responsif, dan deklarasi font.
  • assets/: grafis, audio, dan font, dengan file logo di assets/logo/.

Karena fisika, aturan, dan CPU adalah modul terpisah, Anda bisa membuat CPU lebih lunak tanpa menyentuh cara bola bergerak, atau mengubah aturan foul tanpa menyetel ulang bantalan meja. Pemisahan itulah hal utama yang perlu dicari di kode biliar mana pun yang Anda beli.

Apa yang diubah pembeli lebih dulu

Kebanyakan proyek mengikuti urutan yang sama. Mulai dari yang dilihat pemain, lanjut ke yang dirasakan pemain, dan tinggalkan aturan untuk terakhir, karena aturan adalah tempat paling mudah memasukkan bug.

  1. Branding: ganti file logo di assets/logo/ dan sesuaikan ukurannya di CSS. White label diizinkan, jadi nama Anda atau klien Anda bisa menggantikan nama kami.
  2. Tampilan meja: warna dan font ada di css/style.css. Definisi kain meja dan stik ada di progress.js. Jaga agar ID-nya tidak berubah, atau pemain akan kehilangan kosmetik yang sudah mereka buka.
  3. Teks dan bahasa: setiap string ada di i18n.js. Ubah kata-kata yang Anda perlukan; daftar bahasanya ada di LANGS.
  4. Tingkat kesulitan CPU: pemilihan pukulan ada di ai.js. Setel satu tingkat dalam satu waktu dan mainkan satu pertandingan penuh melawannya.
  5. Fisika: gesekan, efek putaran, dan pantulan bantalan ada di physics.js. Perubahan kecil di sini dampaknya besar, jadi jalankan tes setiap selesai mengubah.
  6. Aturan: variasi aturan lokal ditaruh di rules.js. Uji foul dan ball-in-hand secara manual selain dengan rangkaian tes.

Alur kerjanya sama untuk semuanya: edit file di source/, salin ke path yang sama di game/, sajikan foldernya lewat HTTP, lalu muat ulang. Panduan pembeli menyarankan mengubah satu fitur dalam satu waktu dan menguji menu, satu pertandingan, jeda, layar hasil, serta muat ulang setiap kali selesai mengubah.

Meng-hosting, menyematkan, atau membungkusnya jadi aplikasi

Hosting adalah bagian termudah. Unggah semua isi game/ ke folder seperti public_html/velvet-pool/, pertahankan subfoldernya, lalu buka alamatnya. Di sisi server tidak perlu npm, terminal, PHP, database, atau akun. Paket hosting yang menyajikan file statis lewat HTTPS sudah cukup.

  • Jangan membuka index.html dengan klik dua kali: browser memblokir modul game di file://. Untuk uji lokal, jalankan python -m http.server 8765 di dalam game/.
  • Kalau layar tetap kosong, pastikan WebGL2 aktif dan nama file tetap mempertahankan huruf besar dan kecilnya.
  • Kalau browser menolak sebuah modul, server Anda mengirim .js dengan MIME type yang salah.
  • Di dalam iframe di sebuah portal, izinkan fullscreen dan autoplay.

Semua yang dibutuhkan game saat berjalan ada di dalam game/, jadi tidak ada yang dimuat dari CDN atau situs lain. Memuat halaman baru tetap menghubungi host Anda, jadi ini bukan aplikasi offline yang bisa diinstal. Game ini berjalan di layar sentuh: pemain membidik di meja dan menarik kontrol tenaga.

Proyek aplikasi native tidak termasuk dalam paket. Kalau Anda ingin game ini ada di Google Play atau App Store, wrapper seperti Capacitor, yang oleh pembuatnya disebut runtime native lintas platform untuk membangun aplikasi mobile dengan kode web, adalah salah satu jalur yang umum. Membangun dan memelihara proyek toko aplikasi adalah pekerjaan Anda, atau layanan yang kami beri penawaran harga terpisah.

Apa yang tidak ada di edisi ini

Velvet Pool adalah edisi browser lokal. Tidak ada multiplayer online atau ruang privat, tidak ada peringkat online, tidak ada akun cloud, dan tidak ada SDK iklan. Dua orang bisa bermain di satu perangkat, dan skor pribadi dari pertandingan CPU yang memenuhi syarat disimpan di browser. Latihan dan pertandingan di perangkat yang sama tidak menyimpan skor.

Permainan online butuh server dan pengembangan Anda sendiri. Itu proyek sungguhan, jadi anggarkan sejak awal alih-alih berharap template ini tumbuh ke sana. Kalau katalog Anda butuh lebih banyak game olahraga, dua game ini juga dijual sebagai edisi browser siap hosting.

Puttide: mini golf 3D dengan 30 hole, juga dalam JavaScript murni

Golazo: sepak bola meja dengan 50 tim nasional

Lisensi dan harga dalam satu paragraf

Harga normal Velvet Pool adalah $39. Sampai 30 November 2026, promo Black Friday memotong 15% untuk semua template, jadi harganya $33,15, dan pesanan berisi dua template atau lebih mendapat potongan tambahan 5% sampai 20%. Setiap pembelian adalah lisensi permanen dan non-eksklusif untuk satu produk akhir, milik Anda atau milik satu klien. Anda boleh mengubah kode, grafis, dan audio di dalam produk itu dan memasang merek Anda sendiri. Pemain bisa mengaksesnya gratis atau melalui iklan. Anda tidak boleh menjual ulang template atau kodenya secara terpisah. Dukungan enam bulan sudah termasuk, atau 12 bulan dengan perpanjangan saat checkout; pekerjaan khusus, hosting, dan integrasi SDK atau portal diberi penawaran harga terpisah.

Baca ketentuan lisensi dan dukungan lengkap

Pertanyaan yang sering diajukan

Apakah source code game biliar ini mudah dibaca atau di-minify?

Mudah dibaca. JavaScript di source/src dan game/src polos dan rapi, tanpa file yang di-minify atau di-bundle.

Apakah saya butuh Node.js atau tahap build?

Tidak. Anda mengedit file di source/ lalu menyalinnya ke game/. Node.js 20 atau lebih baru hanya diperlukan kalau Anda ingin menjalankan tes opsional.

Bisakah CPU dibuat lebih mudah atau lebih sulit?

Bisa. Pemilihan pukulan CPU ada di src/core/ai.js, terpisah dari fisika, jadi Anda bisa menyetelnya tanpa mengubah cara bola bergerak.

Apakah bisa dimainkan di ponsel?

Bisa. Input sentuh didukung dan kontrolnya menyesuaikan layar. WebGL2 wajib ada, dan performanya tergantung perangkat, jadi uji di ponsel yang dipakai pemain Anda.

Apakah progres pemain tetap ada kalau game dipindah ke domain baru?

Tidak. Data simpanan terikat pada origin browser, jadi mengganti domain membuat pemain mulai dari awal. Tentukan alamat final sebelum peluncuran.

Bisakah saya menambahkan multiplayer online?

Tidak dengan edisi ini saja. Itu butuh server dan pengembangan Anda sendiri. Kami bisa memberi penawaran harga sebagai pekerjaan khusus.

Untuk siapa kode biliar ini cocok

Kode ini cocok untuk portal atau situs yang ingin menambahkan game 8-ball ke katalognya, agensi yang mengirimkan game biliar bermerek untuk satu klien, dan developer yang ingin membaca bagaimana fisika dan aturan biliar ditulis tanpa library 3D yang menghalangi. Kode ini kurang cocok kalau rencana Anda bergantung pada pertandingan online atau leaderboard bersama.

Mainkan demonya di ponsel dan di laptop sebelum membeli, dan buka peta file di manualnya. Kalau pembagian antara fisika, aturan, dan CPU sesuai dengan cara kerja Anda, sisanya hanya beberapa sore untuk melakukan perubahan.

Coba demo Velvet Pool dan beli lisensinya

Butuh perubahan atau beberapa lisensi? Minta penawaran harga