Guide

Tower defense kildekode: bølger, tårn og balanse i TypeScript

Barricade Z har sine 30 bølger, 12 tårnnivåer og økonomi i tre datafiler. Her er hva det betyr for kjøperen.

Barricade Z-illustrasjon: en tegneserie-zombie hopper over en trebarrikade i skumring, mens et gult tårn skyter mot en flokk bak ham.

I tower defense-kildekode ligger spilldesignet i data: hvor sterkt hvert tårn er, hva hver bølge sender, og hvor fort mynter kommer inn. Hvis dataene er spredt rundt i renderingskoden, må du lese hele prosjektet for å balansere én enkelt bølge. Barricade Z, vår sammenslåingsmal for tower defense, holder tårn, bølger og balanse i tre TypeScript-filer, og denne guiden viser hvor de er og hvordan du endrer dem trygt.

Det finnes to nivåer av endring i denne pakken. En teksteditor er nok for sidetittelen og lagringsnavnet. Alt annet, fra tårnene til zombiebølgene, går gjennom TypeScript-kilden og en ny bygging. Å vite hva som er hva før du kjøper, sparer deg for en overraskelse senere.

Alle filnavnene under kommer fra den illustrerte kjøpsguiden som følger med spillet, og den finnes på de samme 14 språkene som grensesnittet.

Hva denne tower defense-kildekoden inneholder

Barricade Z er et sammenslåingsforsvarsspill. Spillerne fabrikerer tårn i et reservelager, drar to identiske nivåer sammen for å lage neste, opp til nivå 12, og flytter de sterkeste til fem barrikadeposisjoner. En kampanje på 30 bølger går gjennom tre miljøer, med bosser i bølge 10, 20 og 30. Granater låses opp i bølge 3 og Overdrive i bølge 7, og Workshop (verksted) selger oppgraderinger. Daglige utfordringer og Endless-modus (endeløs) åpnes etter hvert som spilleren kommer videre.

  • game/: den spillbare byggingen, klar til opplasting, med Phaser 3.90 i lib/phaser.js og skriftene Bungee og Barlow Condensed.
  • game/barricade-z.config.js: de to innstillingene du kan endre uten bygging.
  • source/: det lesbare TypeScript-prosjektet, bare for utviklere.
  • documentation/index.html, pluss DOCUMENTATION.html i roten: kjøpsguiden, som åpnes offline.
  • THIRD-PARTY-LICENSES/: merknader for motoren og skriftene.

Grensesnittet finnes på 14 språk, med stående og liggende oppsett for berøring og mus. Kunngjøreren er innspilt bare på engelsk, og språkinnstillingen endrer grensesnittteksten, ikke stemmen.

Se Barricade Z: demo, veiledning og pris

De tre filene som holder spilldesignet

Åpne source/src/data/ først. Disse tre filene er grunnen til at du i det hele tatt bør kjøpe kildeutgaven, for det er her et tower defense-spill faktisk designes.

  • towers.ts: de 12 tårnnivåene, våpenegenskapene og munningsdataene.
  • waves.ts: de 30 bølgene i kampanjen og hvor bossene dukker opp.
  • balance.ts: justering av økonomi, helse, skade og progresjon.

Rundt dem holder source/src/i18n/ ordbøkene for de 14 språkene, source/src/ui/ holder menyene, HUD-en, verktøylinjen, panelene og opplæringen, og source/src/audio/ håndterer lydruting og kunngjøreren. Den bygde koden i game/assets/ har hashede filnavn. Rediger dem ikke for hånd; bygg på nytt i stedet.

Det du kan endre med en teksteditor

Åpne game/barricade-z.config.js, endre en verdi, lagre og last inn siden på nytt. Ingen bygging trengs. Bare to innstillinger ligger her.

  • title: tittelen på nettleserfanen. Den erstatter ikke den illustrerte logoen.
  • storagePrefix: navneområdet for lagrede data. Endrer du den, starter en egen lagring, og de gamle nøklene blir liggende. Bruk bare bokstaver, tall, punktum, understrek og bindestrek, opptil 64 tegn.

storagePrefix er mer nyttig enn det ser ut. To kopier av spillet på samme domene deler lagringer, selv om de ligger i ulike undermapper. Hvis et byrå hoster én kopi per kunde på ett domene, gi hver kopi sitt eget prefiks, slik at spillerens fremdrift ikke blandes.

Alt utover disse to verdiene, inkludert logoen, ikonene, grafikken, reglene, tårnene, bølgene og teksten, krever kildeutgaven og en ny bygging.

Bygging på nytt etter en reell endring

Mappen game/ inneholder allerede den spillbare byggingen, så hosting trenger ikke Node.js. Du installerer det bare for å endre selve spillet.

  1. Installer Node.js 20.19 eller nyere.
  2. Inne i source/ kjører du npm ci. De testede verktøyversjonene er låst i package-lock.json.
  3. Gjør endringen, og kjør deretter npm run typecheck og npm test.
  4. Kjør npm run build. Resultatet går til source/dist/.
  5. Last opp innholdet i source/dist/ for å erstatte det hostede spillet, på samme måte som med game/.

Tre valgfrie kommandoer hjelper underveis: npm run dev starter en lokal utviklingsserver, npm run preview serverer en bygging for kontroll, og npm run balance kjører en full kampanjesimulering fra kommandolinjen, noe som er nyttig etter at du har endret balance.ts.

Det en kjøper vanligvis endrer først

  1. Fanetittelen og lagringsprefikset i konfigurasjonsfilen, slik at kopien er din fra første opplasting.
  2. Logo og grafikk i kilden. Behold de eksisterende proporsjonene når du erstatter bilder, slik veiledningen ber om.
  3. Grensesnittekst i i18n-ordbøkene, på hvert språk du planlegger å levere.
  4. Vanskelighetsgrad: bølgesammensetning i waves.ts, deretter myntflyt i balance.ts.
  5. Tårn sist, i towers.ts, fordi hver bølge ble justert mot dem.

Hvis du selger eller driver flere sammenslåingsspill, dukker den samme ideen om reserve og sammenslåing opp i to andre av malene våre, hver med sitt eget tema og egne regler.

Deepforge: slå sammen gruvehakker og send dem inn i en fysikkdrevet gruve

Plop: et frukt-sammenslåingspuslespill med fysikk og 11 nivåer

Hosting, oppdateringer og lagring

Last opp bare innholdet i game/ til en tom mappe, for eksempel public_html/my-game/, og åpne adressen i en oppdatert Chrome, Edge, Firefox eller Safari. Ingen npm, PHP, database eller konto trengs, og HTTPS anbefales. Dobbeltklikk på index.html på datamaskinen din fungerer ikke. Hosten din må servere .js som JavaScript, .css som CSS, og skrifttyper og .mp3 med sine vanlige filtyper, og filnavn skiller store og små bokstaver på mange hoster.

Lagringer ligger i spillerens nettleser under barricadez.save (kampanje og sjekkpunkt) og barricadez.settings (språk, lyd, opplæring, opplåsinger og rekorder), med standardprefikset. Det finnes ingen konto og ingen skysynkronisering. En innlasting på nytt starter den gjeldende bølgen fra sjekkpunktet.

  • For å oppdatere: ta sikkerhetskopi av game/ og den redigerte konfigurasjonsfilen, last opp den nye game/ over den gamle, behold storagePrefix uendret, og last inn siden på nytt.
  • Hvis den gamle versjonen fortsatt vises, tøm bufrede bilder og filer, eller trykk Ctrl+F5. Ikke tøm nettstedsdata: det sletter lagringen.
  • Spillet har en manifest.webmanifest, men veiledningen er tydelig på at det ikke er pakket som en app som kan installeres for bruk uten nett.

Native appprosjekter er ikke inkludert. Vil du ha spillet i en appbutikk, er omslaget og butikkoppføringen eget arbeid, som vi kan gi tilbud på.

Hva som ikke er inkludert, og lisensen

Utgaven har ingen annonse-SDK, analyse, betalingsleverandør, flerspiller på nett, ledertavle på nett eller skylagring, og heller ingen native app, hosting eller tilpasset utvikling. Å legge til noen av dem er utviklingsarbeid med dine egne kontoer.

Barricade Z koster $39 til listepris, eller $33,15 under Black Friday-kampanjen som gjelder til 30. november 2026. To eller flere maler i samme bestilling gir også en pakkerabatt på 5 % til 20 %. Lisensen er evigvarende og ikke-eksklusiv, for ett sluttprodukt, ditt eller én kundes. Du kan endre koden, grafikken og lyden, erstatte vår merkevare med din egen, og tilby spillet gratis eller med annonser. Å videreselge malen eller koden alene er ikke tillatt. Seks måneders støtte følger med, eller tolv med tillegget. Nye funksjoner og integrasjoner gis tilbud på først.

Les vilkårene for markedsplassen

Vanlige spørsmål

Hvilken motor bruker tower defense-kildekoden?

Phaser 3.90 med TypeScript. Motoren er pakket i game/lib/phaser.js under MIT-lisensen, så ingenting lastes fra en CDN.

Kan jeg endre bølger og tårn uten Node.js?

Nei. Konfigurasjonsfilen setter bare fanetittelen og lagringsprefikset. Bølger, tårn og balanse ligger i kilden og krever Node.js 20.19 eller nyere og en ny bygging.

Er kunngjøreren oversatt?

Nei. De 14 språkene dekker grensesnittet. Kunngjørerens innspillinger er på engelsk, og de andre språkene har ingen fortelling.

Fungerer det på telefoner?

Ja. Stående og liggende oppsett fungerer med berøring og mus. Ytelsen avhenger av enheten, så test på telefonene publikummet ditt bruker.

Kan to kopier på ett domene ha separate lagringer?

Ja, hvis hver kopi har sitt eget storagePrefix i barricade-z.config.js. En annen undermappe alene skiller dem ikke.

Hvem bør kjøpe den

Barricade Z passer for en portal som vil ha et ferdig zombieforsvarsspill, en frilanser eller et studio som forbereder et merkevarespill til én kunde, og en utvikler som vil lese hvordan et TypeScript- og Phaser-tower defense holder designet sitt i data. Hvis du bare trenger å hoste det under ditt eget navn, dekker konfigurasjonsfilen og logoen det meste av jobben. Planlegger du en ny kampanje, er de tre datafilene og npm run balance der du vil bruke mest tid.

Prøv Barricade Z-demoen og kjøp lisensen

Egne bølger, en reskin eller en byråbestilling? Be om et tilbud