Kod źródłowy gry tower defense: fale, wieże i balans w TypeScript
Barricade Z trzyma 30 fal, 12 poziomów wież i ekonomię w trzech plikach z danymi. Co to znaczy dla kupującego.

W kodzie źródłowym gry tower defense projekt rozgrywki żyje w danych: jak mocna jest każda wieża, co wysyła każda fala, jak szybko napływają monety. Jeśli te dane są rozrzucone po kodzie renderowania, przebalansowanie jednej fali oznacza czytanie całego projektu. Barricade Z, nasz szablon tower defense z łączeniem, trzyma wieże, fale i balans w trzech plikach TypeScript. Ten przewodnik pokazuje, gdzie są i jak je bezpiecznie zmieniać.
W tym pakiecie są dwa poziomy zmian. Edytor tekstu wystarcza do tytułu strony i nazwy zapisu. Cała reszta, od wież po fale zombie, przechodzi przez źródło TypeScript i przebudowę. Zanim kupisz, warto wiedzieć, która zmiana jest która.
Każda nazwa pliku poniżej pochodzi z ilustrowanego przewodnika dla kupującego, który dołączony jest do gry i jest dostępny w tych samych 14 językach co interfejs.
Co zawiera kod źródłowy gry tower defense
Barricade Z to gra obronna z łączeniem. Gracze wytwarzają wieże w rezerwie, przeciągają dwa identyczne poziomy, by złożyć następny, aż do poziomu 12, i ustawiają najmocniejsze na pięciu pozycjach barykady. Kampania 30 fal przebiega przez trzy środowiska, z bossami na falach 10, 20 i 30. Granaty (Grenades) pojawiają się od fali 3, a Overdrive od fali 7, a Workshop (warsztat) sprzedaje ulepszenia. Codzienne wyzwania i tryb Endless otwierają się w miarę postępu gracza.
- game/: gotowa do wgrania wersja do grania, z Phaser 3.90 w lib/phaser.js i czcionkami Bungee oraz Barlow Condensed.
- game/barricade-z.config.js: dwa ustawienia, które zmienisz bez przebudowy.
- source/: czytelny projekt TypeScript, tylko dla programistów.
- documentation/index.html oraz DOCUMENTATION.html w katalogu głównym: przewodnik dla kupującego, który otwiera się offline.
- THIRD-PARTY-LICENSES/: informacje o silniku i czcionkach.
Interfejs występuje w 14 językach, z układami pionowym i poziomym dla dotyku i myszy. Lektor (announcer) jest nagrany tylko po angielsku, a ustawienie języka zmienia tekst interfejsu, a nie głos.
Zobacz Barricade Z: demo, przewodnik i cenę
Trzy pliki, w których zapisany jest projekt rozgrywki
Zajrzyj najpierw do source/src/data/. Te trzy pliki są powodem, by w ogóle kupować edycję źródłową, bo tu naprawdę projektuje się grę tower defense.
- towers.ts: 12 poziomów wież, ich atrybuty broni i dane lufy.
- waves.ts: 30 fal kampanii i miejsca pojawienia się bossów.
- balance.ts: ekonomia, zdrowie, obrażenia i tempo progresji.
Wokół nich source/src/i18n/ trzyma słowniki dla 14 języków, source/src/ui/ zawiera menu, HUD, pasek narzędzi, panele i samouczek, a source/src/audio/ obsługuje kierowanie dźwięku i lektora. Zbudowany kod w game/assets/ ma nazwy plików z sumą kontrolną (hashem); nie edytuj ich ręcznie, tylko przebuduj.
Co zmienisz edytorem tekstu
Otwórz game/barricade-z.config.js, zmień wartość, zapisz i przeładuj. Przebudowa nie jest potrzebna. Tylko dwa ustawienia są tutaj.
- title: tytuł karty przeglądarki. Nie zastępuje ilustrowanego logo.
- storagePrefix: przestrzeń nazw dla zapisanych danych. Zmiana uruchamia osobny zapis, a stare klucze zostają na miejscu. Używaj tylko liter, cyfr, kropek, podkreśleń i myślników, do 64 znaków.
storagePrefix jest bardziej przydatny, niż się wydaje. Dwie kopie gry w tej samej domenie dzielą zapisy, nawet jeśli leżą w różnych podfolderach. Jeśli agencja hostuje po jednej kopii dla każdego klienta w jednej domenie, daj każdej kopii własny prefiks, aby postępy graczy się nie mieszały.
Wszystko poza tymi dwiema wartościami, łącznie z logo, ikonami, grafiką, zasadami, wieżami, falami i tekstem, wymaga edycji źródłowej i przebudowy.
Przebudowa po prawdziwej zmianie
Folder game/ zawiera już gotowy build do grania, więc hosting nie wymaga Node.js. Instalujesz go tylko po to, by zmienić samą grę.
- Zainstaluj Node.js 20.19 lub nowszy.
- W source/ uruchom npm ci. Przetestowane wersje narzędzi są przypięte w package-lock.json.
- Wprowadź zmianę, a potem uruchom npm run typecheck i npm test.
- Uruchom npm run build. Wynik trafia do source/dist/.
- Wgraj zawartość source/dist/, by zastąpić hostowaną grę, tak jak w przypadku game/.
Trzy opcjonalne polecenia pomagają po drodze: npm run dev uruchamia lokalny serwer deweloperski, npm run preview serwuje build do sprawdzenia, a npm run balance uruchamia pełną symulację kampanii z linii poleceń, co przydaje się po zmianie balance.ts.
Co kupujący zwykle zmienia najpierw
- Tytuł karty i prefiks zapisu w pliku konfiguracyjnym, tak by kopia była Twoja od pierwszego wgrania.
- Logo i grafikę w źródle. Zachowuj dotychczasowe proporcje przy podmianie wizualiów, jak prosi przewodnik.
- Tekst interfejsu w słownikach i18n, we wszystkich językach, które planujesz wysłać.
- Trudność: skład fal w waves.ts, potem przepływ monet w balance.ts.
- Wieże na końcu, w towers.ts, bo każda fala była dostrojona do nich.
Jeśli sprzedajesz lub prowadzisz kilka gier z łączeniem, ten sam pomysł rezerwy i łączenia pojawia się w dwóch innych naszych szablonach, każdym z własnym motywem i zasadami.
Deepforge: łącz kilofy i wysyłaj je do kopalni prowadzonej fizyką
Plop: łamigłówka z łączeniem owoców i fizyką, 11 poziomów
Hosting, aktualizacje i zapisy
Wgraj tylko zawartość game/ do pustego folderu, na przykład public_html/my-game/, i otwórz adres w aktualnej przeglądarce Chrome, Edge, Firefox lub Safari. Nie potrzeba npm, PHP, bazy danych ani konta, a zalecany jest HTTPS. Dwukrotne kliknięcie index.html na komputerze nie działa. Twój hosting musi serwować pliki .js jako JavaScript, .css jako CSS, a czcionki i .mp3 z ich zwykłymi typami, a nazwy plików są na wielu hostingach wrażliwe na wielkość liter.
Zapisy znajdują się w przeglądarce gracza pod nazwami barricadez.save (kampania i punkty kontrolne) oraz barricadez.settings (język, dźwięk, samouczek, odblokowania, rekordy), z domyślnym prefiksem. Nie ma konta ani synchronizacji w chmurze. Przeładowanie wznawia bieżącą falę od jej punktu kontrolnego.
- Aby zaktualizować: zrób kopię zapasową game/ i edytowanego pliku konfiguracyjnego, wgraj nowy game/ na stare miejsce, zachowaj niezmieniony storagePrefix i przeładuj.
- Jeśli wciąż widać starą wersję, wyczyść zbuforowane obrazy i pliki albo naciśnij Ctrl+F5. Nie czyść danych witryny: to usuwa zapis.
- Gra zawiera manifest.webmanifest, ale przewodnik jasno mówi, że nie jest to aplikacja instalowalna działająca offline.
Projekty aplikacji natywnych nie są w pakiecie. Jeśli chcesz grę w sklepie z aplikacjami, opakowanie i karta sklepu to osobna praca, którą możemy wycenić.
Czego nie ma w pakiecie i licencja
Edycja nie ma SDK reklam, analityki, dostawcy płatności, multiplayera online, zdalnej tabeli wyników ani zapisów w chmurze, a także aplikacji natywnych, hostingu i prac na zamówienie. Dodanie któregokolwiek z nich to praca programistyczna z Twoimi własnymi kontami.
Barricade Z kosztuje 39 USD w cenie katalogowej albo 33,15 USD w promocji Black Friday, obowiązującej do 30 listopada 2026; zamówienie dwóch lub więcej szablonów daje też zniżkę pakietową od 5% do 20%. Licencja jest wieczna i niewyłączna, na jeden produkt końcowy, Twój albo jednego klienta. Możesz zmieniać kod, grafikę i dźwięk, zastąpić naszą markę swoją i oferować grę za darmo albo z reklamami. Odsprzedawanie szablonu albo jego kodu osobno jest niedozwolone. Wsparcie trwa sześć miesięcy, a dwanaście z rozszerzeniem; nowe funkcje i integracje wyceniamy najpierw.
Przeczytaj warunki marketplace
Najczęściej zadawane pytania
Jakiego silnika używa kod źródłowy gry tower defense?
Phaser 3.90 z TypeScript. Silnik jest dołączony w game/lib/phaser.js na licencji MIT, więc nic nie ładuje się z CDN.
Czy mogę zmieniać fale i wieże bez Node.js?
Nie. Plik konfiguracyjny ustawia tylko tytuł karty i prefiks zapisu. Fale, wieże i balans są w źródle i wymagają Node.js 20.19 lub nowszego oraz przebudowy.
Czy lektor jest przetłumaczony?
Nie. 14 języków obejmuje interfejs. Nagrania lektora są po angielsku, a w pozostałych językach nie ma narracji.
Czy działa na telefonach?
Tak. Układy pionowy i poziomy działają z dotykiem i myszą. Wydajność zależy od urządzenia, więc testuj na telefonach, z których korzysta Twoja publiczność.
Czy dwie kopie w jednej domenie mogą mieć osobne zapisy?
Tak, jeśli każda kopia ma własny storagePrefix w barricade-z.config.js. Sam inny podfolder ich nie rozdziela.
Dla kogo to jest
Barricade Z pasuje do portalu, który chce gotową grę obronną z zombie, do freelancera lub studia przygotowującego markową grę dla jednego klienta oraz do programisty, który chce przeczytać, jak tower defense w TypeScript i Phaser trzyma projekt w danych. Jeśli potrzebujesz tylko hostować ją pod swoją nazwą, plik konfiguracyjny i logo pokryją większość pracy. Jeśli planujesz nową kampanię, tu spędzisz czas: na trzech plikach danych i npm run balance.
Wypróbuj demo Barricade Z i kup licencję
Własne fale, reskin albo zamówienie agencji? Poproś o wycenę
