Rehber

Bilardo Oyunu Kaynak Kodu: 8-Ball HTML5 Paketinin İçinde Ne Var

Fizik, kurallar, bilgisayar rakip ve kayıtlar ayrı dosyalarda: Velvet Pool kaynak kodunun içeriği ve alıcının ilk değiştirdikleri.

Velvet Pool görseli: yeşil masada beyaz topun arkasına hizalanmış ıstaka, köşe cebinin yakınında 3, 8 ve 4 numaralı toplar.

Bir bilardo oyunu kaynak kodu, üç şey ayrı ve okunabilir dosyalarda durduğunda satın almaya değer: top fiziği, 8-ball kuralları ve bilgisayar rakip. Bunlar birbirine karışmışsa çuha rengindeki ya da CPU zorluğundaki her değişiklik bir hata ayıklama seansına dönüşür. 8-ball şablonumuz Velvet Pool bunları ayrı tutar ve bu rehber paketini dosya dosya inceliyor.

Kodun nasıl düzenlendiğini, alıcının genellikle ilk neyi değiştirdiğini, oyunu nasıl barındıracağınızı ya da uygulamaya dönüştüreceğinizi, lisansın neye izin verdiğini ve sürümün neleri kapsamadığını anlatıyoruz. Aşağıdaki her dosya adı, oyunla birlikte gelen alıcı rehberinden alındı.

Kısacası: Velvet Pool, WebGL2 üzerinde düz JavaScript'tir; 3D kütüphanesi ve derleme adımı yoktur. Bir dosyayı düzenler, oyun klasörüne kopyalar ve sayfayı yenilersiniz.

Bu bilardo oyunu kaynak kodu neler içeriyor

Velvet Pool bir motor ya da başlangıç kiti değil, bitmiş bir 8-ball oyunudur. İndirilen pakette dört klasör var: game/ yüklemeye hazır derlemedir; source/ aynı oyunun README, package.json ve testlerle birlikte geliştirici sürümüdür; documentation/ İngilizce ve Portekizce resimli rehberi içerir; THIRD-PARTY-LICENSES/ ise font lisans metinlerini tutar.

Oyun; faul, ball-in-hand (topu elde alma) ve düz ya da çizgili toplarla 8-ball oynatır. Üç CPU seviyesi (Easy, Medium ve Hard), geri alma, top yerleştirme ve yeniden dizme özellikli serbest bir antrenman masası ve tek cihazda iki kişilik maçlar var. Oyuncular beyaz topa takip, geri çekme ya da yan falso verebilir; yerel başarımlar beş çuha rengi ve beş ıstaka stilinin kilidini açar. Arayüz 14 dilde.

  • Teknoloji: saf (vanilla) JavaScript, ES modülleri ve WebGL2. Three.js ya da başka bir kod kütüphanesi yok.
  • Kod: source/src ve game/src içinde düz, biçimlendirilmiş JavaScript. Hiçbir şey küçültülmüş (minified) ya da paketlenmiş (bundled) değil.
  • Testler: isteğe bağlı, Node.js 20 ya da üstüyle. Fiziği, 8-ball kurallarını, CPU maçlarını ve çeviri anahtarlarını kontrol eder.
  • Bu yazı hazırlanırken sürüm: 1.1.0, 22 Ekim 2026'da güncellendi.

Velvet Pool ürün sayfasını, demosunu ve kılavuzunu görün

Dosyalar nasıl düzenlenmiş

game/ ve source/ aynı yapıyı paylaşır; bir klasördeki yol diğerinde aynı dosyayı gösterir. Bir bilardo oyunu için en önemli ayrım src/core/ (simülasyon ve kurallar) ile src/game/ (oyuncunun dokunduğu her şey) arasındadır.

  • src/core/physics.js: top simülasyonu, falso ve bant tepkisi.
  • src/core/rules.js: 8-ball kuralları ve faul kararları.
  • src/core/ai.js: CPU'nun vuruşunu nasıl seçtiği.
  • src/game/controls.js: nişan, güç ve falso girişi.
  • src/game/progress.js: başarımlar, çuhalar, ıstakalar ve maç puanlaması.
  • src/game/i18n.js: LANGS içinde listelenen 14 dildeki metinler.
  • src/game/localRecords.js: yerel skor geçmişi.
  • src/game/audio.js: efekt ve müzik çalma.
  • css/style.css ve css/fonts.css: tema, duyarlı yerleşim ve font tanımları.
  • assets/: görseller, sesler ve fontlar; logo dosyaları assets/logo/ içinde.

Fizik, kurallar ve CPU ayrı modüller olduğu için topların hareketine dokunmadan CPU'yu daha hoşgörülü yapabilir ya da bantları yeniden ayarlamadan bir faul kuralını değiştirebilirsiniz. Satın aldığınız herhangi bir bilardo kodunda aranacak asıl şey bu ayrımdır.

Alıcının ilk değiştirdikleri

Çoğu proje aynı sırayı izler. Oyuncuların gördüğüyle başlayın, sonra hissettiklerine geçin ve kuralları sona bırakın, çünkü hata sokmanın en kolay yeri kurallardır.

  1. Marka: assets/logo/ içindeki logo dosyalarını değiştirin ve CSS'teki ilgili boyutları ayarlayın. Beyaz etikete izin verildiği için bizim adımızın yerine sizin ya da müşterinizin adı gelebilir.
  2. Masanın görünümü: renkler ve fontlar css/style.css içinde. Çuha ve ıstaka tanımları progress.js içinde. Kimliklerini (ID) sabit tutun, yoksa oyuncular daha önce açtıkları kozmetikleri kaybeder.
  3. Metinler ve diller: her metin i18n.js içinde. İhtiyacınız olan ifadeleri düzenleyin; dil listesi LANGS içinde.
  4. CPU zorluğu: vuruş seçimi ai.js içinde. Her seferinde bir seviyeyi ayarlayın ve ona karşı tam bir maç oynayın.
  5. Fizik: sürtünme, falso ve bant tepkisi physics.js içinde. Burada küçük değişiklikler büyük etki yapar; her birinden sonra testleri çalıştırın.
  6. Kurallar: yerel kural varyasyonları rules.js'e aittir. Faulleri ve ball-in-hand'i test paketinin yanında elle de test edin.

Hepsinde iş akışı aynı: dosyayı source/ içinde düzenleyin, game/ içinde aynı yola kopyalayın, klasörü HTTP üzerinden sunun ve yenileyin. Alıcı rehberi her seferinde tek bir özelliği değiştirmeyi ve her değişiklikten sonra menüyü, bir maçı, duraklatmayı, sonuç ekranını ve sayfa yenilemeyi test etmeyi önerir.

Barındırmak, sayfaya gömmek ya da uygulamaya dönüştürmek

Barındırma işin en basit kısmı. game/ içindeki her şeyi public_html/velvet-pool/ gibi bir klasöre yükleyin, alt klasörleri koruyun ve adresi açın. Sunucu tarafında npm, terminal, PHP, veritabanı ya da hesap yok. Statik dosyaları HTTPS üzerinden sunan bir paket yeterli.

  • index.html'i çift tıklayarak açmayın: tarayıcılar oyun modüllerini file:// üzerinde engeller. Yerel test için game/ içinde python -m http.server 8765 çalıştırın.
  • Ekran boş kalıyorsa WebGL2'nin açık olduğunu ve dosya adlarının büyük-küçük harflerini koruduğunu kontrol edin.
  • Tarayıcı bir modülü reddediyorsa sunucunuz .js dosyalarını yanlış MIME türüyle gönderiyordur.
  • Bir portalda iframe içinde kullanırken fullscreen ve autoplay izinlerini verin.

Oyunun çalışırken ihtiyaç duyduğu her şey game/ içinde durur; hiçbir şey bir CDN'den ya da başka bir siteden yüklenmez. Yine de sayfanın her ilk yüklenişinde sunucunuza istek gider; yani bu kurulabilir bir çevrimdışı uygulama değildir. Dokunmatik ekranlarda çalışır: oyuncular masada nişan alır ve güç kontrolünü çeker.

Yerel (native) uygulama projeleri pakete dahil değildir. Oyunu Google Play'de ya da App Store'da istiyorsanız, yapımcılarının web koduyla mobil uygulama geliştirmek için platformlar arası yerel bir çalışma ortamı olarak tanımladığı Capacitor gibi bir sarmalayıcı yaygın bir yoldur. Mağaza projesini oluşturmak ve sürdürmek sizin işinizdir ya da ayrıca fiyatlandırdığımız bir hizmettir.

Sürümün kapsamadıkları

Velvet Pool yerel tarayıcı sürümüdür. Çevrimiçi çok oyunculu mod ya da özel odalar, çevrimiçi sıralama, bulut hesapları ve reklam SDK'sı yoktur. İki kişi tek cihazda oynayabilir ve uygun CPU maçlarındaki kişisel skorlar tarayıcıya kaydedilir. Antrenman ve aynı cihazdaki maçlar skor kaydetmez.

Çevrimiçi oyun kendi sunucunuzu ve geliştirme çalışmasını gerektirir. Bu gerçek bir projedir; şablonun zamanla buna dönüşmesini beklemek yerine en baştan bütçeleyin. Kataloğunuzun daha fazla spor oyununa ihtiyacı varsa, şu ikisi de barındırmaya hazır tarayıcı sürümleri olarak satılıyor.

Puttide: 30 delikli 3D mini golf, o da düz JavaScript

Golazo: 50 milli takımlı masa futbolu

Tek paragrafta lisans ve fiyat

Velvet Pool'un liste fiyatı 39 dolar. 30 Kasım 2026'ya kadar Black Friday kampanyası tüm şablonlarda %15 indirim uyguluyor; böylece fiyatı 33,15 dolar oluyor ve iki ya da daha fazla şablon içeren siparişlerde ayrıca %5 ile %20 arası indirim var. Her satın alma, sizin ya da bir müşterinizin tek bir son ürünü için süresiz, münhasır olmayan bir lisanstır. O ürünün içindeki kodu, görselleri ve sesleri değiştirebilir, üzerine kendi markanızı koyabilirsiniz. Oyuncular ürüne ücretsiz ya da reklamlar aracılığıyla erişebilir. Şablonu ya da kodunu tek başına yeniden satamazsınız. Altı aylık destek dahildir, ödeme sırasında uzatmayla 12 ay olur; özel işler, barındırma ve SDK ya da portal entegrasyonu ayrıca fiyatlandırılır.

Lisans ve destek koşullarının tamamını okuyun

Sıkça sorulan sorular

Bilardo oyunu kaynak kodu okunabilir mi, yoksa küçültülmüş mü?

Okunabilir. source/src ve game/src içindeki JavaScript düz ve biçimlendirilmiştir; küçültülmüş ya da paketlenmiş dosya yoktur.

Node.js ya da derleme adımı gerekiyor mu?

Hayır. Dosyaları source/ içinde düzenleyip game/ içine kopyalarsınız. Node.js 20 ya da üstü yalnızca isteğe bağlı testleri çalıştırmak isterseniz gerekir.

CPU'yu daha kolay ya da daha zor yapabilir miyim?

Evet. CPU'nun vuruş seçimi fizikten ayrı olarak src/core/ai.js içinde durur; böylece topların hareketini değiştirmeden ayarlayabilirsiniz.

Telefonlarda çalışıyor mu?

Evet. Dokunmatik giriş desteklenir ve kontroller ekrana uyum sağlar. WebGL2 gerekir ve performans cihaza bağlıdır; bu yüzden oyuncularınızın kullandığı telefonlarda test edin.

Oyunu yeni bir alan adına taşırsam oyuncular ilerlemelerini korur mu?

Hayır. Kayıtlar tarayıcı kaynağına aittir; alan adını değiştirmek oyuncuları sıfırdan başlatır. Son adresi yayından önce seçin.

Çevrimiçi çok oyunculu mod ekleyebilir miyim?

Yalnızca bu sürümle hayır. Kendi sunucunuzu ve geliştirme çalışmasını gerektirir. Bunu özel iş olarak fiyatlandırabiliriz.

Bu bilardo kodu kime uygun

Kataloğunda bir 8-ball oyunu isteyen bir portal ya da siteye, tek bir müşteriye markalı bir bilardo oyunu teslim eden bir ajansa ve bilardo fiziğinin ve kurallarının araya bir 3D kütüphanesi girmeden nasıl yazıldığını okumak isteyen bir geliştiriciye uygundur. Planınız çevrimiçi maçlara ya da ortak bir skor tablosuna dayanıyorsa daha az uygundur.

Satın almadan önce demoyu bir telefonda ve bir dizüstü bilgisayarda oynayın ve kılavuzdaki dosya haritasını açın. Fizik, kurallar ve CPU arasındaki ayrım çalışma şeklinize uyuyorsa, gerisi birkaç öğleden sonralık değişiklikten ibaret.

Velvet Pool demosunu deneyin ve lisansı satın alın

Değişiklik ya da birden fazla lisans mı gerekiyor? Fiyat teklifi isteyin