Código-fonte de jogo de tower defense: ondas, torres e balanço em TypeScript
O Barricade Z guarda as 30 ondas, os 12 níveis de torre e a economia em três arquivos de dados. Veja o que isso muda para quem compra.

Num código-fonte de jogo de tower defense, o design do jogo mora nos dados: a força de cada torre, o que cada onda manda, a velocidade com que as moedas chegam. Se esses dados estão espalhados pelo código de desenho, rebalancear uma única onda exige ler o projeto inteiro. O Barricade Z, nosso template de tower defense com fusão, guarda torres, ondas e balanço em três arquivos TypeScript, e este guia mostra onde estão e como mudar sem quebrar nada.
Há dois níveis de mudança neste pacote. Um editor de texto basta para o título da página e o nome do save. Todo o resto, das torres às ondas de zumbis, passa pelo código TypeScript e por um build. Saber qual é qual antes da compra evita surpresa depois.
Todos os nomes de arquivo abaixo vêm do manual ilustrado do comprador que acompanha o jogo, disponível nos mesmos 14 idiomas da interface.
O que vem neste código-fonte de jogo de tower defense
O Barricade Z é um jogo de defesa com fusão. O jogador fabrica torretas numa reserva, arrasta dois níveis iguais um sobre o outro para formar o próximo, até o nível 12, e leva os mais fortes para as cinco posições da barricada. A campanha de 30 ondas passa por três ambientes, com chefões nas ondas 10, 20 e 30. As granadas liberam na onda 3 e o Overdrive na 7, e uma oficina vende melhorias. Desafio diário e modo infinito abrem conforme o jogador avança.
- game/: a versão jogável, pronta para enviar, com o Phaser 3.90 em lib/phaser.js e as fontes Bungee e Barlow Condensed.
- game/barricade-z.config.js: os dois ajustes que você muda sem build.
- source/: o projeto TypeScript legível, só para desenvolvedores.
- documentation/index.html, mais o DOCUMENTATION.html na raiz: o manual do comprador, que abre sem internet.
- THIRD-PARTY-LICENSES/: avisos de licença do motor e das fontes.
A interface vem em 14 idiomas, com layouts em retrato e paisagem para toque e mouse. O locutor foi gravado só em inglês, e a escolha de idioma muda o texto da interface, não a voz.
Ver o Barricade Z: demo, manual e preço
Os três arquivos que guardam o design do jogo
Abra primeiro source/src/data/. Esses três arquivos são o motivo de comprar a edição com código, porque é neles que um tower defense é desenhado de verdade.
- towers.ts: os 12 níveis de torre, atributos das armas e dados do disparo.
- waves.ts: as 30 ondas da campanha e onde aparecem os chefões.
- balance.ts: economia, vida, dano e ritmo da progressão.
Em volta deles, source/src/i18n/ guarda os dicionários dos 14 idiomas, source/src/ui/ tem menus, HUD, barra de ferramentas, painéis e tutorial, e source/src/audio/ cuida da mixagem e do locutor. O código compilado em game/assets/ tem nomes de arquivo com hash; não edite esses arquivos à mão, gere um build novo.
O que dá para mudar com um editor de texto
Abra game/barricade-z.config.js, mude um valor, salve e recarregue. Não precisa de build. Só dois ajustes moram aqui.
- title: o título da aba do navegador. Não substitui o logotipo ilustrado.
- storagePrefix: o nome do espaço onde o save é gravado. Mudar começa um save separado e deixa as chaves antigas onde estão. Use só letras, números, pontos, sublinhados e hifens, até 64 caracteres.
O storagePrefix é mais útil do que parece. Duas cópias do jogo no mesmo domínio dividem o save mesmo em subpastas diferentes. Se uma agência hospeda uma cópia por cliente no mesmo domínio, cada cópia precisa do próprio prefixo para o progresso dos jogadores não se misturar.
Qualquer coisa além desses dois valores, incluindo logotipo, ícones, arte, regras, torres, ondas e textos, precisa da edição com código e de um build.
Gerando o build depois de uma mudança de verdade
A pasta game/ já traz a versão jogável, então hospedar não exige Node.js. Você só instala para mudar o jogo em si.
- Instale o Node.js 20.19 ou mais novo.
- Dentro de source/, rode npm ci. As versões testadas das ferramentas estão travadas no package-lock.json.
- Faça a mudança e rode npm run typecheck e npm test.
- Rode npm run build. O resultado vai para source/dist/.
- Envie o conteúdo de source/dist/ por cima do jogo hospedado, do mesmo jeito que game/.
Três comandos opcionais ajudam no caminho: npm run dev abre um servidor local de desenvolvimento, npm run preview serve um build para conferir, e npm run balance roda uma simulação da campanha inteira pela linha de comando, o que ajuda muito depois de mexer no balance.ts.
O que o comprador costuma mudar primeiro
- O título da aba e o prefixo do save no arquivo de configuração, para a cópia ser sua desde o primeiro envio.
- Logotipo e arte no código. Mantenha as proporções ao trocar os visuais, como pede o manual.
- Textos da interface nos dicionários i18n, em todos os idiomas que você vai publicar.
- Dificuldade: composição das ondas em waves.ts, depois o fluxo de moedas em balance.ts.
- Torres por último, em towers.ts, porque cada onda foi ajustada com elas.
Se você vende ou mantém vários jogos de fusão, a mesma ideia de reserva e fusão aparece em outros dois templates nossos, cada um com tema e regras próprios.
Deepforge: funda picaretas e mande-as para uma mina com física
Plop: quebra-cabeça de fusão de frutas com física e 11 níveis
Hospedagem, atualizações e saves
Envie só o conteúdo de game/ para uma pasta vazia, como public_html/meu-jogo/, e abra o endereço num Chrome, Edge, Firefox ou Safari atual. Não precisa de npm, PHP, banco de dados nem conta, e HTTPS é o recomendado. Dar duplo clique no index.html do computador não funciona. A hospedagem precisa servir .js como JavaScript, .css como CSS, fontes e .mp3 com os tipos normais, e em muitos servidores os nomes de arquivo diferenciam maiúsculas e minúsculas.
O save fica no navegador do jogador, em barricadez.save (campanha e checkpoint) e barricadez.settings (idioma, som, tutorial, desbloqueios e recordes), com o prefixo padrão. Não há conta nem sincronização na nuvem. Recarregar a página reinicia a onda atual a partir do checkpoint.
- Para atualizar: faça backup de game/ e do arquivo de configuração editado, envie o novo game/ por cima, mantenha o storagePrefix e recarregue.
- Se a versão antiga continuar aparecendo, limpe imagens e arquivos em cache ou aperte Ctrl+F5. Não limpe os dados do site: isso apaga o save.
- O jogo traz um manifest.webmanifest, mas o manual deixa claro que ele não é um app offline instalável.
Projetos de app nativo não estão incluídos. Se você quer o jogo numa loja de apps, o empacotamento e a ficha da loja são um trabalho à parte, que podemos orçar.
O que não vem, e a licença
A edição não tem SDK de anúncios, analytics, meio de pagamento, multiplayer online, ranking remoto nem save na nuvem, e não inclui app nativo, hospedagem ou desenvolvimento sob medida. Qualquer um desses itens é trabalho de desenvolvimento com contas suas.
O Barricade Z custa US$ 39 de tabela, ou US$ 33,15 na promoção de Black Friday, que vai até 30 de novembro de 2026; dois ou mais templates no mesmo pedido também ganham desconto de pacote de 5% a 20%. A licença é perpétua e não exclusiva, para um produto final, seu ou de um cliente. Você pode mudar código, arte e áudio, trocar a nossa marca pela sua e oferecer o jogo de graça ou com anúncios. Revender o template ou o código sozinhos não é permitido. Vêm seis meses de suporte, doze com a extensão; recursos novos e integrações são orçados antes.
Perguntas frequentes sobre o código do Barricade Z
Que motor o código-fonte do tower defense usa?
Phaser 3.90 com TypeScript. O motor vem em game/lib/phaser.js, sob licença MIT, então nada é carregado de CDN.
Dá para mudar ondas e torres sem Node.js?
Não. O arquivo de configuração só define o título da aba e o prefixo do save. Ondas, torres e balanço estão no código e precisam do Node.js 20.19 ou mais novo e de um build.
O locutor é traduzido?
Não. Os 14 idiomas cobrem a interface. As gravações do locutor são em inglês, e os outros idiomas não têm narração.
Funciona no celular?
Funciona. Os layouts em retrato e paisagem aceitam toque e mouse. O desempenho depende do aparelho, então teste nos celulares do seu público.
Duas cópias no mesmo domínio podem ter saves separados?
Podem, se cada cópia tiver o próprio storagePrefix no barricade-z.config.js. Só mudar de subpasta não separa.
Para quem vale a compra
O Barricade Z serve para portal que quer um jogo de defesa contra zumbis pronto, para freelancer ou estúdio que prepara um jogo com a marca de um cliente e para quem quer ler como um tower defense em TypeScript e Phaser guarda o design em dados. Se você só precisa publicar com o seu nome, o arquivo de configuração e o logotipo resolvem quase tudo. Se planeja uma campanha nova, os três arquivos de dados e o npm run balance são onde você vai passar o tempo.
Jogar a demo do Barricade Z e comprar a licença
Ondas sob medida, reskin ou pedido de agência? Peça orçamento
