Broncode van een tower defense-spel: golven, torens en balans
Barricade Z houdt zijn 30 golven, 12 torenniveaus en economie bij in drie databestanden. Dit betekent dat voor een koper.

In broncode van een tower defense-spel zit het spelontwerp in de data: hoe sterk elke toren is, wat elke golf stuurt, hoe snel de munten binnenkomen. Als die data verspreid zit door de rendercode, betekent het opnieuw in balans brengen van één golf het hele project lezen. Barricade Z, ons merge tower defense-template, houdt torens, golven en balans in drie TypeScript-bestanden, en deze gids laat zien waar ze staan en hoe je ze veilig wijzigt.
Er zijn in dit pakket twee soorten wijzigingen. Een teksteditor is genoeg voor de paginatitel en de naam van het opslaan. Al het andere, van de torens tot de zombiegolven, loopt via de TypeScript-broncode en een nieuwe build. Weten welke wijziging bij welke categorie hoort voordat je koopt, voorkomt later een verrassing.
Elke bestandsnaam hieronder komt uit de geïllustreerde kopersgids die bij het spel zit. Die is beschikbaar in dezelfde 14 talen als de interface.
Wat deze broncode van een tower defense-spel bevat
Barricade Z is een merge-verdedigingsspel. Spelers maken torens in een reserve, slepen twee identieke niveaus naar elkaar om het volgende te maken, tot niveau 12, en zetten de sterkste op vijf barricadeposities. Een campagne van 30 golven loopt door drie omgevingen, met bazen in de golven 10, 20 en 30. Granaten worden vrijgespeeld bij golf 3 en Overdrive bij golf 7, en in een Workshop koop je upgrades. Dagelijkse uitdagingen en Endless-modus openen naarmate de speler vordert.
- game/: de speelbare build, klaar om te uploaden, met Phaser 3.90 in lib/phaser.js en de lettertypen Bungee en Barlow Condensed.
- game/barricade-z.config.js: de twee instellingen die je zonder opnieuw bouwen kunt wijzigen.
- source/: het leesbare TypeScript-project, alleen voor ontwikkelaars.
- documentation/index.html, plus DOCUMENTATION.html in de hoofdmap: de kopersgids, die offline opent.
- THIRD-PARTY-LICENSES/: vermeldingen voor de engine en de lettertypen.
De interface komt in 14 talen, met staande en liggende lay-outs voor aanraken en muis. De aankondiger is alleen in het Engels opgenomen, en de taalinstelling verandert de interfacetekst, niet de stem.
Bekijk Barricade Z: demo, gids en prijs
De drie bestanden die het spelontwerp bevatten
Open eerst source/src/data/. Deze drie bestanden zijn de reden om überhaupt de broncode-editie te kopen, want hier wordt een tower defense-spel echt ontworpen.
- towers.ts: de 12 torenniveaus, hun wapenkenmerken en mondingsgegevens.
- waves.ts: de 30 golven van de campagne en waar de bazen verschijnen.
- balance.ts: afstemming van economie, gezondheid, schade en voortgang.
Daaromheen bevat source/src/i18n/ de woordenboeken voor de 14 talen, source/src/ui/ de menu's, de HUD, de werkbalk, de panelen en de tutorial, en source/src/audio/ de geluidsroutering en de aankondiger. De gebouwde code in game/assets/ heeft bestandsnamen met een hash; bewerk die niet met de hand, bouw opnieuw.
Wat je met een teksteditor kunt wijzigen
Open game/barricade-z.config.js, wijzig een waarde, sla op en herlaad. Er is geen nieuwe build nodig. Er staan maar twee instellingen in dit bestand.
- title: de titel van het browsertabblad. Die vervangt het geïllustreerde logo niet.
- storagePrefix: de naamruimte voor opgeslagen gegevens. Als je die wijzigt, begint een aparte opslag en blijven de oude sleutels staan. Gebruik alleen letters, cijfers, punten, underscores en koppeltekens, tot 64 tekens.
storagePrefix is nuttiger dan het lijkt. Twee kopieën van het spel op hetzelfde domein delen opslag, zelfs als ze in verschillende submappen staan. Als een bureau per klant één kopie op één domein host, geef elke kopie dan een eigen prefix, zodat de voortgang van spelers niet door elkaar loopt.
Alles behalve deze twee waarden, dus ook het logo, de pictogrammen, de kunst, de regels, de torens, de golven en de tekst, vereist de broncode-editie en een nieuwe build.
Opnieuw bouwen na een echte wijziging
De map game/ bevat al de speelbare build, dus hosten heeft geen Node.js nodig. Je installeert het alleen als je het spel zelf wilt wijzigen.
- Installeer Node.js 20.19 of nieuwer.
- Voer in source/ npm ci uit. De geteste toolversies staan vast in package-lock.json.
- Doe je wijziging en voer daarna npm run typecheck en npm test uit.
- Voer npm run build uit. De uitvoer gaat naar source/dist/.
- Upload de inhoud van source/dist/ om het gehoste spel te vervangen, net zoals bij game/.
Drie optionele commando's helpen onderweg: npm run dev start een lokale ontwikkelserver, npm run preview serveert een build om te controleren, en npm run balance draait vanaf de opdrachtregel een volledige campagnesimulatie, handig na een wijziging in balance.ts.
Wat een koper meestal als eerste wijzigt
- De titel van het tabblad en de opslagprefix in het configuratiebestand, zodat de kopie vanaf de eerste upload van jou is.
- Logo en kunst in de broncode. Houd de bestaande verhoudingen aan als je beelden vervangt, zoals de gids vraagt.
- Interfacetekst in de i18n-woordenboeken, in elke taal die je levert.
- Moeilijkheid: de samenstelling van de golven in waves.ts, daarna de munten-stroom in balance.ts.
- Torens als laatste, in towers.ts, omdat elke golf erop is afgestemd.
Verkoop of beheer je meerdere merge-spellen, dan komt hetzelfde idee van reserve en samenvoegen terug in twee andere templates van ons, elk met een eigen thema en eigen regels.
Deepforge: voeg houwelen samen en stuur ze een mijn in die door fysica wordt aangedreven
Plop: een puzzel met fruit dat je samenvoegt, met 11 niveaus
Hosten, updaten en opslaan
Upload alleen de inhoud van game/ naar een lege map, zoals public_html/mijn-spel/, en open het adres in een actuele versie van Chrome, Edge, Firefox of Safari. Er is geen npm, PHP, database of account nodig, en HTTPS wordt aanbevolen. Dubbelklikken op index.html op je computer werkt niet. Je host moet .js als JavaScript serveren, .css als CSS, en lettertypen en .mp3 met hun gebruikelijke types; bestandsnamen zijn op veel hosts hoofdlettergevoelig.
Opslag staat in de browser van de speler onder barricadez.save (campagne en checkpoint) en barricadez.settings (taal, geluid, tutorial, ontgrendelingen, records), met de standaardprefix. Er is geen account en geen cloudsynchronisatie. Een herlaadbeurt start de huidige golf opnieuw vanaf het checkpoint.
- Bijwerken: maak een back-up van game/ en je bewerkte configuratiebestand, upload de nieuwe game/ over de oude, houd storagePrefix ongewijzigd en herlaad.
- Als de oude versie nog verschijnt, wis dan de gecachte afbeeldingen en bestanden of druk op Ctrl+F5. Wis geen sitegegevens: dat verwijdert de opslag.
- Het spel heeft een manifest.webmanifest, maar de gids is duidelijk dat het niet als installeerbare offline-app is verpakt.
Native appprojecten zijn niet inbegrepen. Wil je het spel in een app-winkel, dan zijn de wrapper en de winkelvermelding apart werk, dat we kunnen offreren.
Wat niet is inbegrepen, en de licentie
De editie heeft geen advertentie-SDK, analyse, betalingsprovider, online multiplayer, externe ranglijst of cloudopslag, en geen native app, hosting of maatwerkontwikkeling. Het toevoegen van een van die dingen is ontwikkelwerk met je eigen accounts.
Barricade Z kost $39 van de lijstprijs, of $33,15 tijdens de Black Friday-actie die tot 30 november 2026 loopt. Twee of meer templates in één bestelling krijgen daarnaast een bundelkorting van 5% tot 20%. De licentie is eeuwigdurend en niet-exclusief, voor één eindproduct, van jou of van één klant. Je mag de code, kunst en audio wijzigen, ons merk door het jouwe vervangen en het spel gratis of met advertenties aanbieden. Het template of zijn code op zichzelf doorverkopen is niet toegestaan. Zes maanden support zijn inbegrepen, of twaalf met de extensie; nieuwe functies en integraties worden eerst geofferd.
Lees de voorwaarden van de marketplace
Veelgestelde vragen
Welke engine gebruikt de broncode van het tower defense-spel?
Phaser 3.90 met TypeScript. De engine zit gebundeld in game/lib/phaser.js onder de MIT-licentie, dus er wordt niets van een CDN geladen.
Kan ik golven en torens wijzigen zonder Node.js?
Nee. Het configuratiebestand stelt alleen de titel van het tabblad en de opslagprefix in. Golven, torens en balans staan in de broncode en hebben Node.js 20.19 of nieuwer en een nieuwe build nodig.
Is de aankondiger vertaald?
Nee. De 14 talen gelden voor de interface. De opnamen van de aankondiger zijn in het Engels, en de andere talen hebben geen voice-over.
Werkt het op telefoons?
Ja. Staande en liggende lay-outs werken met aanraking en muis. De prestaties hangen af van het apparaat, dus test op de telefoons die je publiek gebruikt.
Kunnen twee kopieën op één domein aparte opslag houden?
Ja, als elke kopie een eigen storagePrefix heeft in barricade-z.config.js. Een andere submap alleen scheidt ze niet.
Voor wie het geschikt is
Barricade Z past bij een portal die een kant-en-klaar zombieverdedigingsspel wil, bij een freelancer of studio die een gebrand spel voor één klant voorbereidt, en bij een ontwikkelaar die wil lezen hoe een TypeScript- en Phaser-tower defense zijn ontwerp in data bewaart. Als je het alleen onder je eigen naam wilt hosten, dekken het configuratiebestand en het logo het meeste werk. Plan je een nieuwe campagne, dan ga je de meeste tijd kwijt aan de drie databestanden en npm run balance.
Probeer de Barricade Z-demo en koop de licentie
Eigen golven, een reskin of een bestelling van een bureau? Vraag een offerte aan
