Ръководство

Сорс код на tower defense: вълни, кули и баланс в TypeScript

Barricade Z държи своите 30 вълни, 12 нива на кули и икономиката в три файла с данни. Ето какво означава това за купувача.

Артът на Barricade Z: карикатурен зомби прескача дървена бариера по здрач, докато жълта кула стреля по орда зад него.

В сорс кода на tower defense игрите дизайнът на играта живее в данните: колко силна е всяка кула, какво изпраща всяка вълна, колко бързо пристигат монетите. Ако тези данни са разпръснати из кода за рисуване, пребалансирането на една вълна означава четене на целия проект. Barricade Z, нашият merge tower defense шаблон, държи кулите, вълните и баланса в три файла на TypeScript, а това ръководство показва къде са те и как да ги променяте безопасно.

В този пакет има две нива на промяна. Текстов редактор стига за заглавието на страницата и името на записа. Всичко останало, от кулите до вълните със зомбита, минава през сорс кода на TypeScript и повторна компилация. Ако знаете коя промяна коя е, преди да купите, ще избегнете изненада по-късно.

Всяко име на файл по-долу идва от илюстрираното ръководство за купувача, включено в играта, което е на същите 14 езика като интерфейса.

Какво съдържа сорс кодът на tower defense играта

Barricade Z е merge защитна игра. Играчите създават кули в резерв, събират две еднакви нива, за да получат следващото, до ниво 12, и преместват най-силните в пет позиции на барикадата. Кампания от 30 вълни минава през три среди, с босове във вълни 10, 20 и 30. Гранатите се отключват във вълна 3, Overdrive (овърдрайв) – във вълна 7, а Workshop (работилница) продава подобрения. Ежедневните предизвикателства и Endless (безкраен режим) се отварят с напредъка на играча.

  • game/: играемият build, готов за качване, с 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/ вече съдържа играемия build, така че хостингът не изисква Node.js. Инсталирате го само ако променяте самата игра.

  1. Инсталирайте Node.js 20.19 или по-нов.
  2. В source/ пуснете npm ci. Тестваните версии на инструментите са фиксирани в package-lock.json.
  3. Направете промяната, после пуснете npm run typecheck и npm test.
  4. Пуснете npm run build. Резултатът отива в source/dist/.
  5. Качете съдържанието на source/dist/, за да замените хостнатата игра, по същия начин като game/.

Три незадължителни команди помагат по пътя: npm run dev стартира локален сървър за разработка, npm run preview сервира build за проверка, а npm run balance пуска пълна симулация на кампанията от командния ред, което е удобно след промяна на balance.ts.

Какво обикновено купувачът променя първо

  1. Заглавието на раздела и префиксът за записите в конфигурационния файл, за да е копието ваше от първото качване.
  2. Логото и арта в сорс кода. Запазвайте съществуващите пропорции, когато заменяте визии, както иска ръководството.
  3. Текстът на интерфейса в речниците i18n, на всеки език, който ще пускате.
  4. Трудност: състава на вълните в waves.ts, после потока на монетите в balance.ts.
  5. Кулите – последни, в towers.ts, защото всяка вълна е балансирана спрямо тях.

Ако продавате или управлявате няколко merge игри, същата идея за резерв и сливане се среща в два други наши шаблона, всеки със собствена тема и правила.

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 USD по каталожна цена или 33,15 USD по време на промоцията 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 подхожда на портал, който иска завършена игра за защита от зомбита, на фрийлансър или студио, което подготвя брандирана игра за един клиент, и на разработчик, който иска да прочете как tower defense на TypeScript и Phaser пази дизайна си в данни. Ако трябва само да я хоствате под ваше име, конфигурационният файл и логото покриват по-голямата част от работата. Ако планирате нова кампания, трите файла с данни и npm run balance са там, където ще прекарате времето си.

Изиграйте демото на Barricade Z и купете лиценза

Персонални вълни, reskin или поръчка за агенция? Поискайте оферта