Rehber

Tower defense oyun kaynak kodu: TypeScript ile dalgalar ve kuleler

Barricade Z 30 dalgasını, 12 kule seviyesini ve ekonomisini üç veri dosyasında tutuyor. Bunun alıcı için anlamı şu.

Barricade Z görseli: alacakaranlıkta çizgi film tarzı bir zombi ahşap barikatın üstünden atlıyor, sarı bir taret arkadaki sürüye ateş ediyor.

Bir tower defense oyun kaynak kodunda oyun tasarımı veride yaşar: her kulenin ne kadar güçlü olduğu, her dalganın ne gönderdiği, jetonların ne hızla geldiği. Bu veri çizim kodunun içine dağılmışsa tek bir dalgayı yeniden dengelemek için bütün projeyi okumanız gerekir. Birleştirmeli tower defense şablonumuz Barricade Z, kuleleri, dalgaları ve dengeyi üç TypeScript dosyasında tutuyor; bu rehber onların nerede olduğunu ve nasıl güvenle değiştirileceğini gösteriyor.

Bu pakette iki düzey değişiklik var. Sayfa başlığı ve kayıt adı için bir metin editörü yeter. Kulelerden zombi dalgalarına kadar geri kalan her şey TypeScript kaynağından ve yeniden derlemeden geçer. Hangisinin hangisi olduğunu satın almadan önce bilmek sonradan sürpriz yaşamanızı önler.

Aşağıdaki tüm dosya adları oyunla birlikte gelen görselli alıcı kılavuzundan alındı; kılavuz da arayüzle aynı 14 dilde sunuluyor.

Bu tower defense oyun kaynak kodu neler içeriyor

Barricade Z bir birleştirmeli savunma oyunu. Oyuncular yedek alanda taret üretiyor, aynı seviyedeki iki tareti sürükleyip birleştirerek bir üst seviyeyi elde ediyor (12. seviyeye kadar) ve en güçlüleri beş barikat noktasına yerleştiriyor. 30 dalgalık kampanya üç ortamda geçiyor; 10, 20 ve 30. dalgalarda boss var. Bombalar 3. dalgada, Overdrive 7. dalgada açılıyor ve bir Workshop yükseltme satıyor. Günlük görevler ve Endless modu oyuncu ilerledikçe açılıyor.

  • game/: yüklemeye hazır oynanabilir derleme; lib/phaser.js içinde Phaser 3.90, ayrıca Bungee ve Barlow Condensed yazı tipleri.
  • game/barricade-z.config.js: yeniden derlemeden değiştirebileceğiniz iki ayar.
  • source/: okunaklı TypeScript projesi, yalnızca geliştiriciler için.
  • documentation/index.html ve kökteki DOCUMENTATION.html: çevrimdışı açılan alıcı kılavuzu.
  • THIRD-PARTY-LICENSES/: motor ve yazı tipleri için bildirimler.

Arayüz 14 dilde ve dokunmatik ile fare için dikey ve yatay düzenlerle geliyor. Spiker yalnızca İngilizce kaydedildi; dil ayarı sesi değil, arayüz metnini değiştiriyor.

Barricade Z'yi inceleyin: demo, kılavuz ve fiyat

Oyun tasarımını tutan üç dosya

Önce source/src/data/ klasörünü açın. Kaynak sürümü satın almanın asıl nedeni bu üç dosya, çünkü bir tower defense oyunu gerçekte burada tasarlanıyor.

  • towers.ts: 12 kule seviyesi, silah özellikleri ve namlu verileri.
  • waves.ts: 30 kampanya dalgası ve boss'ların çıktığı yerler.
  • balance.ts: ekonomi, can, hasar ve ilerleme ayarları.

Bunların çevresinde source/src/i18n/ 14 dilin sözlüklerini, source/src/ui/ menüleri, HUD'u, araç çubuğunu, panelleri ve eğitimi tutuyor; source/src/audio/ ise ses yönlendirmesini ve spikeri yönetiyor. game/assets/ içindeki derlenmiş kodun dosya adları hash'li; bunları elle düzenlemeyin, yeniden derleyin.

Metin editörüyle neleri değiştirebilirsiniz

game/barricade-z.config.js dosyasını açın, bir değeri değiştirin, kaydedin ve sayfayı yenileyin. Yeniden derleme gerekmez. Burada yalnızca iki ayar var.

  • title: tarayıcı sekmesinin başlığı. Görselli logonun yerini almaz.
  • storagePrefix: kayıtlı verinin ad alanı. Değiştirmek ayrı bir kayıt başlatır ve eski anahtarları yerinde bırakır. Yalnızca harf, rakam, nokta, alt çizgi ve tire kullanın; en fazla 64 karakter.

storagePrefix göründüğünden daha işe yarar. Aynı alan adındaki iki oyun kopyası farklı alt klasörlerde olsa bile kayıtları paylaşır. Bir ajans tek alan adında her müşteri için bir kopya barındırıyorsa, oyuncuların ilerlemesi karışmasın diye her kopyaya ayrı bir önek vermeli.

Bu iki değerin ötesindeki her şey, yani logo, simgeler, görseller, kurallar, kuleler, dalgalar ve metinler, kaynak sürümü ve yeniden derleme gerektirir.

Gerçek bir değişiklikten sonra yeniden derlemek

game/ klasörü oynanabilir derlemeyi zaten içeriyor, bu yüzden barındırmak için Node.js gerekmez. Onu yalnızca oyunun kendisini değiştirmek için kurarsınız.

  1. Node.js 20.19 veya daha yenisini kurun.
  2. source/ içinde npm ci çalıştırın. Test edilmiş araç sürümleri package-lock.json'da sabitlenmiş.
  3. Değişikliğinizi yapın, ardından npm run typecheck ve npm test çalıştırın.
  4. npm run build çalıştırın. Çıktı source/dist/ klasörüne gider.
  5. Barındırılan oyunun yerine source/dist/ içeriğini, game/ ile aynı şekilde yükleyin.

Yol boyunca üç isteğe bağlı komut işinizi kolaylaştırır: npm run dev yerel bir geliştirme sunucusu başlatır, npm run preview bir derlemeyi kontrol için sunar, npm run balance ise komut satırından eksiksiz bir kampanya simülasyonu çalıştırır; balance.ts'e dokunduktan sonra çok işe yarar.

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

  1. Config dosyasındaki sekme başlığı ve kayıt öneki; böylece kopya ilk yüklemeden itibaren sizin olur.
  2. Kaynaktaki logo ve görseller. Kılavuzun istediği gibi görselleri değiştirirken mevcut oranları koruyun.
  3. i18n sözlüklerindeki arayüz metinleri, yayınlamayı planladığınız her dilde.
  4. Zorluk: önce waves.ts'te dalga bileşimi, sonra balance.ts'te jeton akışı.
  5. Kuleler en sonda, towers.ts içinde, çünkü her dalga onlara göre ayarlandı.

Birden fazla birleştirme oyunu satıyor ya da işletiyorsanız, aynı yedek alan ve birleştirme fikri kendi teması ve kuralları olan iki şablonumuzda daha var.

Deepforge: kazmaları birleştirip fizik tabanlı bir madene gönderin

Plop: 11 kademeli, fizik tabanlı meyve birleştirme bulmacası

Barındırma, güncellemeler ve kayıtlar

Yalnızca game/ içeriğini public_html/my-game/ gibi boş bir klasöre yükleyin ve adresi güncel bir Chrome, Edge, Firefox veya Safari'de açın. npm, PHP, veritabanı ya da hesap gerekmez; HTTPS önerilir. Bilgisayarınızda index.html'e çift tıklamak çalışmaz. Sunucunuz .js'i JavaScript, .css'i CSS olarak, yazı tiplerini ve .mp3'leri de normal türleriyle sunmalı; birçok sunucuda dosya adları büyük/küçük harfe duyarlıdır.

Kayıtlar, varsayılan önekle oyuncunun tarayıcısında barricadez.save (kampanya ve kontrol noktası) ve barricadez.settings (dil, ses, eğitim, açılan öğeler, rekorlar) altında tutulur. Hesap ya da bulut senkronizasyonu yok. Sayfayı yenilemek mevcut dalgayı kontrol noktasından yeniden başlatır.

  • Güncellemek için: game/ klasörünü ve düzenlediğiniz config dosyasını yedekleyin, yeni game/ klasörünü eskisinin üzerine yükleyin, storagePrefix'i değiştirmeyin ve yenileyin.
  • Eski sürüm hâlâ görünüyorsa önbelleğe alınmış resim ve dosyaları temizleyin ya da Ctrl+F5'e basın. Site verilerini temizlemeyin: bu kaydı siler.
  • Oyunla birlikte bir manifest.webmanifest geliyor, ancak kılavuz bunun yüklenebilir bir çevrimdışı uygulama olarak paketlenmediğini açıkça belirtiyor.

Yerel uygulama projeleri dahil değil. Oyunu bir uygulama mağazasında görmek istiyorsanız sarmalayıcı ve mağaza sayfası ayrı işlerdir; bunlar için fiyat verebiliriz.

Dahil olmayanlar ve lisans

Bu sürümde reklam SDK'sı, analitik, ödeme sağlayıcısı, çevrimiçi çok oyunculu mod, uzak skor tablosu ya da bulut kaydı yok; yerel uygulama, barındırma veya özel geliştirme de yok. Bunlardan herhangi birini eklemek, kendi hesaplarınızla yapılacak bir geliştirme işidir.

Barricade Z'nin liste fiyatı 39 $; 30 Kasım 2026'ya kadar süren Black Friday kampanyasında 33,15 $. Aynı siparişte iki veya daha fazla şablon almak %5 ile %20 arası paket indirimi de kazandırır. Lisans süresiz ve münhasır değil; size ya da bir müşterinize ait tek bir son ürün için geçerli. Kodu, görselleri ve sesleri değiştirebilir, bizim markamızın yerine kendinizinkini koyabilir ve oyunu ücretsiz ya da reklamlı sunabilirsiniz. Şablonu veya kodunu tek başına yeniden satmak yasak. Altı aylık destek dahil, uzatmayla on iki ay; yeni özellikler ve entegrasyonlar için önce fiyat verilir.

Mağaza koşullarını okuyun

Sıkça sorulan sorular

Tower defense kaynak kodu hangi motoru kullanıyor?

TypeScript ile Phaser 3.90. Motor MIT lisansıyla game/lib/phaser.js içinde paketli, dolayısıyla CDN'den hiçbir şey yüklenmiyor.

Dalgaları ve kuleleri Node.js olmadan değiştirebilir miyim?

Hayır. Config dosyası yalnızca sekme başlığını ve kayıt önekini belirler. Dalgalar, kuleler ve denge kaynakta; Node.js 20.19 veya daha yenisi ve yeniden derleme gerekir.

Spiker çevrilmiş mi?

Hayır. 14 dil arayüzü kapsıyor. Spiker kayıtları İngilizce; diğer dillerde seslendirme yok.

Telefonlarda çalışıyor mu?

Evet. Dikey ve yatay düzenler dokunmatik ve fareyle çalışıyor. Performans cihaza bağlı; kitlenizin kullandığı telefonlarda test edin.

Aynı alan adındaki iki kopya ayrı kayıt tutabilir mi?

Evet, her kopyanın barricade-z.config.js içinde kendi storagePrefix'i varsa. Yalnızca farklı bir alt klasör onları ayırmaz.

Kimler satın almalı

Barricade Z; bitmiş bir zombi savunma oyunu isteyen portallara, tek bir müşteri için markalı oyun hazırlayan serbest çalışanlara ve stüdyolara, TypeScript ve Phaser ile yazılmış bir tower defense oyununun tasarımını veride nasıl tuttuğunu okumak isteyen geliştiricilere uyar. Oyunu yalnızca kendi adınızla barındırmanız gerekiyorsa config dosyası ve logo işin çoğunu görür. Yeni bir kampanya planlıyorsanız vaktinizin çoğunu üç veri dosyasında ve npm run balance ile geçireceksiniz.

Barricade Z demosunu deneyin ve lisansı satın alın

Özel dalgalar, yeniden tasarım ya da ajans siparişi mi? Teklif isteyin