Guida

Codice sorgente tower defense: ondate, torri e bilanciamento

Barricade Z tiene le sue 30 ondate, i 12 livelli di torre e l'economia in tre file di dati. Ecco cosa significa per chi acquista.

Illustrazione di Barricade Z: uno zombie in stile cartoon salta una barricata di legno al tramonto mentre una torretta gialla spara su un'orda alle sue spalle.

Nel codice sorgente di un tower defense il game design vive nei dati: quanto è forte ogni torre, cosa manda ogni ondata, con che ritmo arrivano le monete. Se quei dati sono sparsi nel codice di rendering, ribilanciare una singola ondata significa leggere tutto il progetto. Barricade Z, il nostro template tower defense con meccanica merge, tiene torri, ondate e bilanciamento in tre file TypeScript, e questa guida mostra dove sono e come modificarli senza rischi.

In questo pacchetto ci sono due livelli di modifica. Per il titolo della pagina e il nome del salvataggio basta un editor di testo. Tutto il resto, dalle torri alle ondate di zombie, passa dal sorgente TypeScript e da un rebuild. Saperlo prima dell'acquisto evita sorprese dopo.

Ogni nome di file citato qui viene dalla guida illustrata per l'acquirente inclusa nel gioco, disponibile nelle stesse 14 lingue dell'interfaccia.

Cosa contiene questo codice sorgente tower defense

Barricade Z è un gioco di difesa con meccanica merge. I giocatori costruiscono torrette in una riserva, trascinano insieme due livelli identici per ottenere il successivo, fino al livello 12, e spostano le più forti in cinque postazioni sulla barricata. Una campagna di 30 ondate attraversa tre ambientazioni, con boss alle ondate 10, 20 e 30. Le granate si sbloccano all'ondata 3 e l'Overdrive all'ondata 7, e un Workshop vende potenziamenti. Sfide giornaliere e modalità Endless si aprono man mano che il giocatore avanza.

  • game/: la build giocabile, pronta da caricare, con Phaser 3.90 in lib/phaser.js e i font Bungee e Barlow Condensed.
  • game/barricade-z.config.js: le due impostazioni modificabili senza rebuild.
  • source/: il progetto TypeScript leggibile, solo per sviluppatori.
  • documentation/index.html, più DOCUMENTATION.html nella radice: la guida per l'acquirente, consultabile offline.
  • THIRD-PARTY-LICENSES/: le note di licenza del motore e dei font.

L'interfaccia è disponibile in 14 lingue, con layout verticale e orizzontale per touch e mouse. Lo speaker è registrato solo in inglese, e l'impostazione della lingua cambia i testi dell'interfaccia, non la voce.

Scopri Barricade Z: demo, guida e prezzo

I tre file che contengono il game design

Apri prima source/src/data/. Questi tre file sono il vero motivo per acquistare l'edizione con sorgente, perché è lì che un tower defense viene davvero progettato.

  • towers.ts: i 12 livelli di torre, gli attributi delle armi e i dati della bocca di fuoco.
  • waves.ts: le 30 ondate della campagna e dove compaiono i boss.
  • balance.ts: taratura di economia, vita, danni e progressione.

Attorno a loro, source/src/i18n/ contiene i dizionari delle 14 lingue, source/src/ui/ i menu, l'HUD, la barra degli strumenti, i pannelli e il tutorial, e source/src/audio/ gestisce l'instradamento dei suoni e lo speaker. Il codice compilato in game/assets/ ha nomi di file con hash: non modificarli a mano, rifai la build.

Cosa puoi cambiare con un editor di testo

Apri game/barricade-z.config.js, cambia un valore, salva e ricarica. Non serve alcun rebuild. Qui ci sono solo due impostazioni.

  • title: il titolo della scheda del browser. Non sostituisce il logo illustrato.
  • storagePrefix: lo spazio dei nomi dei dati salvati. Cambiarlo avvia un salvataggio separato e lascia al loro posto le vecchie chiavi. Usa solo lettere, numeri, punti, trattini bassi e trattini, fino a 64 caratteri.

storagePrefix è più utile di quanto sembri. Due copie del gioco sullo stesso dominio condividono i salvataggi anche se stanno in sottocartelle diverse. Se un'agenzia ospita una copia per ogni cliente su un unico dominio, deve dare a ciascuna un prefisso proprio, così i progressi dei giocatori non si mescolano.

Tutto ciò che va oltre questi due valori, compresi logo, icone, grafica, regole, torri, ondate e testi, richiede l'edizione con sorgente e un rebuild.

Il rebuild dopo una modifica vera

La cartella game/ contiene già la build giocabile, quindi per l'hosting non serve Node.js. Lo installi solo per modificare il gioco.

  1. Installa Node.js 20.19 o successivo.
  2. Dentro source/, esegui npm ci. Le versioni degli strumenti testate sono fissate in package-lock.json.
  3. Fai la modifica, poi esegui npm run typecheck e npm test.
  4. Esegui npm run build. L'output va in source/dist/.
  5. Carica il contenuto di source/dist/ al posto del gioco pubblicato, come faresti con game/.

Tre comandi facoltativi aiutano lungo la strada: npm run dev avvia un server di sviluppo locale, npm run preview serve una build per controllarla, e npm run balance esegue dalla riga di comando una simulazione completa della campagna, comoda dopo aver toccato balance.ts.

Cosa cambia di solito per primo chi acquista

  1. Il titolo della scheda e il prefisso dei salvataggi nel file di configurazione, così la copia è tua dal primo caricamento.
  2. Logo e grafica nel sorgente. Mantieni le proporzioni esistenti quando sostituisci le immagini, come chiede la guida.
  3. Testi dell'interfaccia nei dizionari i18n, in tutte le lingue che intendi pubblicare.
  4. Difficoltà: composizione delle ondate in waves.ts, poi flusso di monete in balance.ts.
  5. Le torri per ultime, in towers.ts, perché ogni ondata è stata tarata su di loro.

Se vendi o gestisci più giochi merge, la stessa idea di riserva e fusione compare in altri due nostri template, ognuno con tema e regole propri.

Deepforge: unisci picconi e mandali in una miniera con fisica

Plop: un puzzle fisico di fusione della frutta con 11 livelli

Hosting, aggiornamenti e salvataggi

Carica solo il contenuto di game/ in una cartella vuota, per esempio public_html/my-game/, e apri l'indirizzo in una versione recente di Chrome, Edge, Firefox o Safari. Non servono npm, PHP, database né account, ed è consigliato l'HTTPS. Fare doppio clic su index.html dal computer non funziona. L'host deve servire i .js come JavaScript, i .css come CSS, font e .mp3 con i loro tipi normali, e su molti host i nomi dei file distinguono maiuscole e minuscole.

I salvataggi restano nel browser del giocatore sotto barricadez.save (campagna e checkpoint) e barricadez.settings (lingua, audio, tutorial, sblocchi, record), con il prefisso predefinito. Non ci sono account né sincronizzazione cloud. Ricaricando la pagina, l'ondata in corso riparte dal suo checkpoint.

  • Per aggiornare: fai un backup di game/ e del file di configurazione modificato, carica la nuova game/ sopra la vecchia, lascia invariato storagePrefix e ricarica.
  • Se compare ancora la vecchia versione, svuota immagini e file nella cache o premi Ctrl+F5. Non cancellare i dati del sito: così elimini il salvataggio.
  • Il gioco include un manifest.webmanifest, ma la guida chiarisce che non è confezionato come app installabile offline.

I progetti di app native non sono inclusi. Se vuoi il gioco in uno store, il wrapper e la scheda dello store sono un lavoro a parte, che possiamo quotare.

Cosa non è incluso, e la licenza

L'edizione non ha SDK pubblicitario, analytics, provider di pagamento, multigiocatore online, classifica remota o salvataggi cloud, né app native, hosting o sviluppo su misura. Aggiungere uno qualsiasi di questi elementi è lavoro di sviluppo con account tuoi.

Barricade Z costa $39 a listino, oppure $33.15 durante la promozione Black Friday valida fino al 30 novembre 2026; con due o più template nello stesso ordine ottieni anche uno sconto pacchetto dal 5% al 20%. La licenza è perpetua e non esclusiva, per un solo prodotto finale, tuo o di un cliente. Puoi modificare codice, grafica e audio, sostituire il nostro marchio con il tuo e offrire il gioco gratis o con pubblicità. Non è consentito rivendere il template o il suo codice da soli. Sono inclusi sei mesi di supporto, dodici con l'estensione; nuove funzioni e integrazioni si quotano prima.

Leggi i termini del marketplace

Domande frequenti

Quale motore usa il codice sorgente del tower defense?

Phaser 3.90 con TypeScript. Il motore è incluso in game/lib/phaser.js con licenza MIT, quindi nulla viene caricato da una CDN.

Posso cambiare ondate e torri senza Node.js?

No. Il file di configurazione imposta solo il titolo della scheda e il prefisso dei salvataggi. Ondate, torri e bilanciamento stanno nel sorgente e richiedono Node.js 20.19 o successivo e un rebuild.

Lo speaker è tradotto?

No. Le 14 lingue riguardano l'interfaccia. Le registrazioni dello speaker sono in inglese e le altre lingue non hanno narrazione.

Funziona sui telefoni?

Sì. I layout verticale e orizzontale funzionano con touch e mouse. Le prestazioni dipendono dal dispositivo, quindi prova sui telefoni che usa il tuo pubblico.

Due copie sullo stesso dominio possono avere salvataggi separati?

Sì, se ogni copia ha il proprio storagePrefix in barricade-z.config.js. Una sottocartella diversa da sola non basta a separarle.

A chi conviene

Barricade Z è adatto a un portale che vuole un gioco di difesa contro gli zombie già finito, a un freelance o uno studio che prepara un gioco brandizzato per un cliente, e a uno sviluppatore che vuole vedere come un tower defense in TypeScript e Phaser tiene il design nei dati. Se devi solo pubblicarlo con il tuo nome, file di configurazione e logo coprono gran parte del lavoro. Se progetti una nuova campagna, passerai il tempo sui tre file di dati e su npm run balance.

Prova la demo di Barricade Z e acquista la licenza

Ondate su misura, un reskin o un ordine da agenzia? Chiedi un preventivo