Tower-Defense-Quellcode: Wellen, Türme und Balancing in TypeScript
Barricade Z hält seine 30 Wellen, 12 Turmstufen und die Spielökonomie in drei Datendateien. Das bedeutet es für Käufer.

Im Quellcode eines Tower-Defense-Spiels steckt das Game Design in den Daten: wie stark jeder Turm ist, was jede Welle schickt, wie schnell Münzen hereinkommen. Sind diese Daten über den Rendering-Code verstreut, muss man für das Neubalancieren einer einzigen Welle das ganze Projekt lesen. Barricade Z, unsere Merge-Tower-Defense-Vorlage, hält Türme, Wellen und Balancing in drei TypeScript-Dateien. Dieser Leitfaden zeigt, wo sie liegen und wie man sie gefahrlos ändert.
Das Paket kennt zwei Ebenen von Änderungen. Für den Seitentitel und den Namen des Spielstands reicht ein Texteditor. Alles andere, von den Türmen bis zu den Zombie-Wellen, läuft über den TypeScript-Quellcode und einen Rebuild. Wer das vor dem Kauf weiß, erlebt später keine Überraschung.
Alle Dateinamen unten stammen aus dem bebilderten Käuferhandbuch, das dem Spiel beiliegt und in denselben 14 Sprachen wie die Oberfläche verfügbar ist.
Was dieser Tower-Defense-Quellcode enthält
Barricade Z ist ein Merge-Defense-Spiel. Die Spieler fertigen Geschütztürme in einer Reserve, ziehen zwei gleiche Stufen zusammen, um die nächste zu erhalten, bis Stufe 12, und setzen die stärksten auf fünf Positionen an der Barrikade. Eine Kampagne mit 30 Wellen führt durch drei Umgebungen, mit Bossen in den Wellen 10, 20 und 30. Granaten werden ab Welle 3 freigeschaltet, Overdrive ab Welle 7, und ein Workshop verkauft Upgrades. Tägliche Herausforderungen und der Endless-Modus öffnen sich mit dem Spielfortschritt.
- game/: der spielbare Build, fertig zum Hochladen, mit Phaser 3.90 in lib/phaser.js und den Schriften Bungee und Barlow Condensed.
- game/barricade-z.config.js: die zwei Einstellungen, die sich ohne Rebuild ändern lassen.
- source/: das lesbare TypeScript-Projekt, nur für Entwickler.
- documentation/index.html, dazu DOCUMENTATION.html im Hauptordner: das Käuferhandbuch, das auch offline öffnet.
- THIRD-PARTY-LICENSES/: Hinweise zur Engine und zu den Schriften.
Die Oberfläche gibt es in 14 Sprachen, mit Hoch- und Querformat-Layouts für Touch und Maus. Der Sprecher ist nur auf Englisch aufgenommen; die Spracheinstellung ändert die Texte der Oberfläche, nicht die Stimme.
Barricade Z ansehen: Demo, Handbuch und Preis
Die drei Dateien mit dem Game Design
Öffnen Sie zuerst source/src/data/. Diese drei Dateien sind der eigentliche Grund, die Quellcode-Edition zu kaufen, denn hier wird ein Tower-Defense-Spiel tatsächlich gestaltet.
- towers.ts: die 12 Turmstufen, ihre Waffenattribute und Mündungsdaten.
- waves.ts: die 30 Kampagnenwellen und wo die Bosse auftauchen.
- balance.ts: Feinabstimmung von Ökonomie, Lebenspunkten, Schaden und Progression.
Darum herum liegen in source/src/i18n/ die Wörterbücher der 14 Sprachen, in source/src/ui/ die Menüs, das HUD, die Werkzeugleiste, die Panels und das Tutorial, und source/src/audio/ kümmert sich um das Sound-Routing und den Sprecher. Der gebaute Code in game/assets/ hat Dateinamen mit Hash; bearbeiten Sie diese nicht von Hand, sondern bauen Sie neu.
Was Sie mit einem Texteditor ändern können
Öffnen Sie game/barricade-z.config.js, ändern Sie einen Wert, speichern Sie und laden Sie neu. Ein Rebuild ist nicht nötig. Hier gibt es nur zwei Einstellungen.
- title: der Titel des Browser-Tabs. Er ersetzt nicht das illustrierte Logo.
- storagePrefix: der Namensraum für gespeicherte Daten. Eine Änderung startet einen separaten Spielstand und lässt die alten Schlüssel stehen. Nur Buchstaben, Ziffern, Punkte, Unterstriche und Bindestriche verwenden, höchstens 64 Zeichen.
storagePrefix ist nützlicher, als es aussieht. Zwei Kopien des Spiels auf derselben Domain teilen sich die Spielstände, auch wenn sie in verschiedenen Unterordnern liegen. Hostet eine Agentur auf einer Domain eine Kopie pro Kunde, sollte jede Kopie ein eigenes Präfix bekommen, damit sich die Fortschritte der Spieler nicht vermischen.
Alles, was über diese zwei Werte hinausgeht, darunter Logo, Icons, Artwork, Regeln, Türme, Wellen und Texte, braucht die Quellcode-Edition und einen Rebuild.
Neu bauen nach einer echten Änderung
Der Ordner game/ enthält bereits den spielbaren Build, fürs Hosting brauchen Sie also kein Node.js. Sie installieren es nur, um das Spiel selbst zu ändern.
- Node.js 20.19 oder neuer installieren.
- In source/ npm ci ausführen. Die getesteten Tool-Versionen sind in package-lock.json festgelegt.
- Die Änderung vornehmen, dann npm run typecheck und npm test ausführen.
- npm run build ausführen. Die Ausgabe landet in source/dist/.
- Den Inhalt von source/dist/ hochladen und damit das gehostete Spiel ersetzen, genauso wie bei game/.
Drei optionale Befehle helfen unterwegs: npm run dev startet einen lokalen Entwicklungsserver, npm run preview stellt einen Build zur Kontrolle bereit, und npm run balance führt eine komplette Kampagnensimulation auf der Kommandozeile aus, praktisch nach Änderungen an balance.ts.
Was Käufer meist zuerst ändern
- Tab-Titel und Speicherpräfix in der Konfigurationsdatei, damit die Kopie ab dem ersten Upload Ihnen gehört.
- Logo und Artwork im Quellcode. Behalten Sie beim Austausch von Grafiken die bestehenden Proportionen bei, wie es das Handbuch verlangt.
- Oberflächentexte in den i18n-Wörterbüchern, in jeder Sprache, die Sie ausliefern wollen.
- Schwierigkeit: Zusammensetzung der Wellen in waves.ts, danach der Münzfluss in balance.ts.
- Türme zuletzt, in towers.ts, weil jede Welle auf sie abgestimmt ist.
Wenn Sie mehrere Merge-Spiele verkaufen oder betreiben: Dieselbe Idee aus Reserve und Zusammenführen steckt in zwei weiteren Vorlagen von uns, jeweils mit eigenem Thema und eigenen Regeln.
Deepforge: Spitzhacken kombinieren und in eine Mine mit Physik schicken
Plop: ein Frucht-Merge-Physikpuzzle mit 11 Stufen
Hosting, Updates und Spielstände
Laden Sie nur den Inhalt von game/ in einen leeren Ordner, etwa public_html/my-game/, und öffnen Sie die Adresse in einem aktuellen Chrome, Edge, Firefox oder Safari. npm, PHP, Datenbank oder Konto sind nicht nötig, HTTPS wird empfohlen. Ein Doppelklick auf index.html auf dem eigenen Rechner funktioniert nicht. Ihr Host muss .js als JavaScript, .css als CSS sowie Schriften und .mp3 mit ihren üblichen Typen ausliefern, und auf vielen Hosts wird bei Dateinamen zwischen Groß- und Kleinschreibung unterschieden.
Spielstände liegen im Browser des Spielers unter barricadez.save (Kampagne und Checkpoint) und barricadez.settings (Sprache, Ton, Tutorial, Freischaltungen, Rekorde), mit dem Standardpräfix. Es gibt kein Konto und keine Cloud-Synchronisierung. Nach einem Neuladen startet die aktuelle Welle wieder ab ihrem Checkpoint.
- Zum Aktualisieren: game/ und Ihre bearbeitete Konfigurationsdatei sichern, das neue game/ über das alte laden, storagePrefix unverändert lassen und neu laden.
- Wird noch die alte Version angezeigt, zwischengespeicherte Bilder und Dateien löschen oder Strg+F5 drücken. Keine Websitedaten löschen: Das entfernt den Spielstand.
- Das Spiel bringt eine manifest.webmanifest mit, aber das Handbuch stellt klar, dass es nicht als installierbare Offline-App verpackt ist.
Native App-Projekte sind nicht enthalten. Wenn das Spiel in einen App Store soll, sind Wrapper und Store-Eintrag eine eigene Arbeit, für die wir ein Angebot machen können.
Was nicht enthalten ist, und die Lizenz
Die Edition hat kein Werbe-SDK, keine Analytics, keinen Zahlungsanbieter, keinen Online-Multiplayer, keine Online-Bestenliste und keine Cloud-Spielstände, außerdem keine native App, kein Hosting und keine Individualentwicklung. All das nachzurüsten ist Entwicklungsarbeit mit Ihren eigenen Konten.
Barricade Z kostet regulär $39, während der Black-Friday-Aktion bis zum 30. November 2026 $33.15; bei zwei oder mehr Vorlagen in einer Bestellung kommt ein Paketrabatt von 5 % bis 20 % dazu. Die Lizenz ist unbefristet und nicht exklusiv, für ein Endprodukt, Ihres oder das eines Kunden. Sie dürfen Code, Grafik und Audio ändern, unsere Marke durch Ihre ersetzen und das Spiel kostenlos oder mit Werbung anbieten. Die Vorlage oder ihren Code für sich allein weiterzuverkaufen ist nicht erlaubt. Sechs Monate Support sind dabei, mit Verlängerung zwölf; neue Funktionen und Integrationen bieten wir vorab an.
Bedingungen des Marktplatzes lesen
Häufig gestellte Fragen
Welche Engine nutzt der Tower-Defense-Quellcode?
Phaser 3.90 mit TypeScript. Die Engine liegt unter MIT-Lizenz in game/lib/phaser.js, es wird also nichts von einem CDN geladen.
Kann ich Wellen und Türme ohne Node.js ändern?
Nein. Die Konfigurationsdatei legt nur den Tab-Titel und das Speicherpräfix fest. Wellen, Türme und Balancing stecken im Quellcode und brauchen Node.js 20.19 oder neuer sowie einen Rebuild.
Ist der Sprecher übersetzt?
Nein. Die 14 Sprachen betreffen die Oberfläche. Die Aufnahmen des Sprechers sind auf Englisch, die anderen Sprachen haben keine Sprachausgabe.
Läuft es auf Smartphones?
Ja. Hoch- und Querformat funktionieren mit Touch und Maus. Die Leistung hängt vom Gerät ab, testen Sie also auf den Smartphones Ihres Publikums.
Können zwei Kopien auf einer Domain getrennte Spielstände haben?
Ja, wenn jede Kopie in barricade-z.config.js ein eigenes storagePrefix hat. Ein anderer Unterordner allein trennt sie nicht.
Für wen sich der Kauf lohnt
Barricade Z passt zu einem Portal, das ein fertiges Zombie-Defense-Spiel möchte, zu Freelancern oder Studios, die ein gebrandetes Spiel für einen Kunden vorbereiten, und zu Entwicklern, die nachlesen wollen, wie ein Tower Defense in TypeScript und Phaser sein Design in Daten hält. Wenn Sie es nur unter eigenem Namen hosten wollen, decken Konfigurationsdatei und Logo den Großteil der Arbeit ab. Planen Sie eine neue Kampagne, verbringen Sie Ihre Zeit mit den drei Datendateien und npm run balance.
Barricade-Z-Demo testen und Lizenz kaufen
Eigene Wellen, ein Reskin oder ein Agenturauftrag? Angebot anfragen
