Вихідний код tower defense: хвилі, вежі й баланс у TypeScript
Barricade Z тримає свої 30 хвиль, 12 рівнів веж і економіку в трьох файлах даних. Ось що це означає для покупця.

У вихідному коді tower defense ігровий дизайн живе в даних: наскільки сильна кожна вежа, що присилає кожна хвиля, як швидко надходять монети. Якщо ці дані розкидані по коду відображення, щоб перебалансувати одну хвилю, доведеться прочитати весь проєкт. Barricade Z, наш шаблон tower defense зі злиттям, тримає вежі, хвилі й баланс у трьох файлах TypeScript, і цей гайд показує, де вони лежать і як їх безпечно змінювати.
У цьому пакеті є два рівні змін. Для заголовка сторінки і назви збереження достатньо текстового редактора. Усе інше, від веж до хвиль зомбі, йде через вихідний код TypeScript і перезбірку. Знати, що є що, ще до покупки, — це вберегти від сюрпризу пізніше.
Кожна назва файлу нижче взята з ілюстрованого посібника для покупця, що йде з грою; він доступний тими самими 14 мовами, що й інтерфейс.
Що містить вихідний код tower defense
Barricade Z — гра-оборона зі злиттям. Гравці створюють турелі в резерві, перетягують дві однакові до наступного рівня, до рівня 12, і переносять найсильніші на п'ять позицій барикади. Кампанія з 30 хвиль проходить через три середовища, з босами на хвилях 10, 20 і 30. Гранати відкриваються на хвилі 3, а Overdrive (перевантаження) на хвилі 7, а Workshop (майстерня) продає покращення. Щоденні виклики та режим Endless (нескінченний) відкриваються з просуванням гравця.
- game/: готова до гри збірка, готова до завантаження, з Phaser 3.90 у lib/phaser.js і шрифтами Bungee та Barlow Condensed.
- game/barricade-z.config.js: два налаштування, які можна змінити без перезбірки.
- source/: читабельний проєкт TypeScript, лише для розробників.
- documentation/index.html, а також DOCUMENTATION.html у корені: посібник для покупця, який відкривається офлайн.
- THIRD-PARTY-LICENSES/: повідомлення для рушія і шрифтів.
Інтерфейс доступний 14 мовами, з портретною та альбомною версткою для сенсорного і мишачого керування. Диктор записаний лише англійською, і мовне налаштування змінює текст інтерфейсу, а не голос.
Дивіться Barricade Z: демо, посібник і ціну
Три файли, які тримають ігровий дизайн
Спершу відкрийте source/src/data/. Ці три файли — головна причина купувати версію з вихідним кодом, адже саме тут насправді проєктується гра tower defense.
- towers.ts: 12 рівнів веж, їхні атрибути зброї та дані про дульний зріз.
- waves.ts: 30 хвиль кампанії і місця, де з'являються боси.
- balance.ts: налаштування економіки, здоров'я, шкоди і прогресу.
Навколо них source/src/i18n/ тримає словники для 14 мов, source/src/ui/ — меню, HUD, панель інструментів, панелі та навчання, а source/src/audio/ відповідає за маршрутизацію звуку і диктора. Зібраний код у game/assets/ має хешовані імена файлів; не редагуйте їх вручну, краще перезберіть.
Що можна змінити текстовим редактором
Відкрийте game/barricade-z.config.js, змініть значення, збережіть і перезавантажте сторінку. Перезбірка не потрібна. Тут лише два налаштування.
- title: заголовок вкладки браузера. Він не замінює ілюстрований логотип.
- storagePrefix: простір імен для збережених даних. Зміна починає окреме збереження і залишає старі ключі на місці. Використовуйте лише літери, цифри, крапки, підкреслення і дефіси, до 64 символів.
storagePrefix корисніший, ніж здається. Дві копії гри на одному домені ділять збереження, навіть якщо лежать у різних підпапках. Якщо агенція розміщує по одній копії для кожного клієнта на одному домені, дайте кожній копії власний префікс, щоб прогрес гравців не змішувався.
Усе, що виходить за ці два значення, включно з логотипом, іконками, графікою, правилами, вежами, хвилями і текстом, потребує версії з вихідним кодом і перезбірки.
Перезбірка після реальної зміни
Папка game/ вже містить готову до гри збірку, тож для хостингу Node.js не потрібен. Його встановлюють лише тоді, коли міняють саму гру.
- Встановіть Node.js 20.19 або новіший.
- Всередині source/ виконайте npm ci. Перевірені версії інструментів зафіксовані в package-lock.json.
- Внесіть зміну, потім виконайте npm run typecheck і npm test.
- Виконайте npm run build. Результат піде в source/dist/.
- Завантажте вміст source/dist/, щоб замінити розміщену гру, так само як game/.
Три необов'язкові команди допомагають по дорозі: npm run dev запускає локальний сервер розробки, npm run preview віддає збірку для перевірки, а npm run balance запускає повну симуляцію кампанії з командного рядка, що зручно після змін у balance.ts.
Що покупець зазвичай змінює першим
- Заголовок вкладки і префікс збереження в конфігураційному файлі, щоб копія була вашою з першого завантаження.
- Логотип і графіку в source. Зберігайте наявні пропорції, коли замінюєте візуали, як просить посібник.
- Текст інтерфейсу в словниках i18n, для кожної мови, яку плануєте випустити.
- Складність: склад хвиль у waves.ts, потім потік монет у balance.ts.
- Вежі останніми, у towers.ts, бо кожну хвилю налаштовували саме під них.
Якщо ви продаєте або ведете кілька ігор зі злиттям, та сама ідея резерву і злиття є в двох інших наших шаблонах, кожен зі своєю темою і правилами.
Deepforge: зливайте кирки і відправляйте їх у шахту з фізикою
Plop: головоломка зі злиттям фруктів на фізиці, 11 рівнів
Хостинг, оновлення і збереження
Завантажуйте лише вміст game/ в порожню папку, наприклад public_html/my-game/, і відкривайте адресу в актуальних версіях Chrome, Edge, Firefox або Safari. Не потрібні npm, PHP, база даних чи акаунт, рекомендовано HTTPS. Подвійне клацання на index.html на комп'ютері не працює. Ваш хост має віддавати .js як JavaScript, .css як CSS, а шрифти і .mp3 — з їхніми звичайними типами; на багатьох хостах імена файлів чутливі до регістру.
Збереження живуть у браузері гравця під назвами barricadez.save (кампанія і контрольна точка) і barricadez.settings (мова, звук, навчання, розблокування, рекорди) із типовим префіксом. Акаунта і хмарної синхронізації немає. Перезавантаження починає поточну хвилю з контрольної точки.
- Щоб оновити: зробіть резервну копію game/ і вашого зміненого конфігураційного файлу, завантажте нову game/ поверх старої, залиште storagePrefix без змін і перезавантажте сторінку.
- Якщо показується стара версія, очистьте кешовані зображення і файли або натисніть Ctrl+F5. Не очищайте дані сайту: це видалить збереження.
- У грі є manifest.webmanifest, але посібник чітко каже, що вона не упакована як офлайн-застосунок для встановлення.
Проєкти нативних застосунків не входять до пакета. Якщо ви хочете гру в магазині застосунків, обгортка і картка в магазині — це окрема робота, яку ми можемо оцінити.
Чого немає і ліцензія
Версія не має рекламного SDK, аналітики, платіжного провайдера, онлайн-мультиплеєра, віддаленої таблиці лідерів чи хмарних збережень, а також нативного застосунку, хостингу чи індивідуальної розробки. Додавання будь-чого з цього — це робота розробки з вашими акаунтами.
Barricade Z коштує $39 за ціною зі списку або $33,15 під час акції Black Friday до 30 листопада 2026 року; два або більше шаблони в одному замовленні також дають пакетну знижку від 5% до 20%. Ліцензія безстрокова і невиключна, на один кінцевий продукт, ваш або одного клієнта. Ви можете змінювати код, графіку й аудіо, замінити наш бренд на свій і пропонувати гру безкоштовно або з рекламою. Перепродавати шаблон або його код окремо не можна. Шість місяців підтримки входять у ціну, або дванадцять з розширенням; нові функції та інтеграції спершу оцінюються.
Поширені запитання
Який рушій використовує вихідний код tower defense?
Phaser 3.90 з TypeScript. Рушій вбудовано в game/lib/phaser.js за ліцензією MIT, тож нічого не завантажується з CDN.
Чи можна змінити хвилі й вежі без Node.js?
Ні. Конфігураційний файл задає лише заголовок вкладки і префікс збереження. Хвилі, вежі і баланс лежать у вихідному коді й потребують Node.js 20.19 або новіший і перезбірки.
Чи перекладено диктора?
Ні. 14 мов охоплюють інтерфейс. Записи диктора англійською, а в інших мовах немає озвучення.
Чи працює на телефонах?
Так. Портретна і альбомна верстка працюють із сенсорним і мишачим керуванням. Продуктивність залежить від пристрою, тож перевірте на телефонах вашої аудиторії.
Чи можуть дві копії на одному домені мати окремі збереження?
Так, якщо кожна копія має власний storagePrefix у barricade-z.config.js. Сама різна підпапка їх не розділяє.
Кому варто купити
Barricade Z підійде порталу, який хоче готову гру-оборону з зомбі, фрілансеру або студії, що готує брендовану гру для одного клієнта, і розробнику, який хоче прочитати, як TypeScript і Phaser tower defense тримають дизайн у даних. Якщо потрібно лише розмістити гру під власною назвою, більшість роботи покривають конфігураційний файл і логотип. Якщо плануєте нову кампанію, три файли даних і npm run balance — це те, де ви витратите час.
Пограйте в демо Barricade Z і купіть ліцензію
Власні хвилі, рескін чи замовлення для агенції? Запитайте оцінку
