Doug's Game Dev Log
Sobre
EN|PT-BR
2026-08-28

Minas, Coquetéis Molotov e um Cooldown pra Pegar Fogo

Duas torres entraram no elenco essa semana, a Zap Mines e a Molotov, e a torre Flame perdeu a habilidade de tacar fogo numa wave inteira de uma vez. Embaixo das três tem uma mudança em como os status effects funcionam: fogo, veneno, gelo, stun, confusão e hex agora declaram duração e cooldown num arquivo só, e um inimigo que acabou de se livrar de um efeito fica brevemente imune a ele. Trabalho de balanceamento, no geral, que é o tipo que nunca aparece em trailer e decide se o jogo presta.

Zap Mines

A torre Zap Mines coloca até três minas elétricas em qualquer lugar dentro do alcance dela. Quando um inimigo entra no raio de 48px de uma mina, ela detona e acerta até três inimigos aleatórios naquele raio com dano elétrico dividido mais o mesmo STUN que a Tesla aplica. O dano escala de 48 no nível 1 até 640 no nível 100.

O que a deixa interessante é que ela é a primeira torre cuja cobertura não é um círculo em volta de si mesma. As minas ficam onde o caminho faz curva, a torre pode ficar escondida atrás, e o dano cai quando o inimigo decide chegar, não num timer de cadência. Por enquanto ela usa emprestados os sprites da Spike Factory, então parece placeholder porque é. Custo de unlock: 20 de ouro.

Molotov

A Molotov atira igual ao Cannon (e reaproveita os sprites dele por ora) mas causa dano de FOGO. No impacto, todo inimigo dentro de 0.5 unidade de mundo (32px) leva o dano cheio e o efeito de queimadura, sem falloff de splash: todo mundo na explosão leva a mesma pancada, não um gradiente a partir do centro.

Esse perfil chapado é justamente a graça. O Cannon premia acertar o centro do bolo; a Molotov premia acertar o bolo, e depois continua trabalhando pela queimadura depois do impacto. Duas respostas bem diferentes pra mesma multidão. Desbloqueável na loja meta por 20 moedas.

A torre Flame parou de queimar tudo

A torre Flame usava o comportamento de cone, que aplicava queimadura em todo inimigo dentro do arco a cada tiro. Combinado com o upgrade Wildfire, que espalha queimaduras, isso virava uma cobertura desgovernada: acende uma wave e a coisa toda fica pegando fogo pra sempre, sem exigir posicionamento nenhum.

O fogo agora é alvo único: a torre Flame causa dano e aplica queimadura só no alvo principal por tiro. Todo o sistema de fogo ficou igual, ele só parou de ser aplicado em uma dúzia de inimigos de uma vez por uma torre que custa quase nada.

As duas torres novas também chegaram efetivamente impossíveis de usar, e demorei pra perceber. Elas estavam na loja de unlock e dava pra comprar, mas estavam fora da lista availableTowerTypes de todas as fases, e o sorteio de torre filtra por essa lista. Você podia ter uma Molotov e nunca receber a oferta dela. Adicionar zapMines e molotov em todas as fases resolveu. Qualquer coisa que existe em duas listas mais cedo ou mais tarde vai existir em só uma delas.

Todo efeito tem duração e cooldown

Os status effects tinham crescido de forma orgânica, cada um com os próprios campos sob medida e a própria ideia de empilhamento. Todos os não intrínsecos (fogo, veneno, gelo, stun, confusão, hex) agora declaram duração e cooldown no statusEffects.json. Depois que um efeito expira, aquele inimigo fica imune àquele efeito específico durante a janela de cooldown, 2 segundos por padrão.

O cooldown é a metade interessante. Sem ele, uma torre rápida simplesmente reaplica o efeito no instante em que ele vence, o que faz de "permanentemente stunado" o estado padrão de qualquer coisa que uma Tesla enxerga, e transforma o sistema de status num teto de controle de multidão que ninguém consegue ajustar. Com ele, os efeitos ganham ritmo: o inimigo queima, para de queimar e fica um instante à prova de fogo, então sobrepor duas torres de fogo na mesma pista é genuinamente pior que espalhar.

Na implementação, isso adicionou burnCooldownRemaining e poisonCooldownRemaining ao StatusState, com os cooldowns de lentidão, confusão e hex controlados nos sistemas de movimento e de status, respectivamente.

Potent e Lingering Afflictions

Com a força dos efeitos congelada no nível da torre (a regra dos três números da vez passada), o único jeito de crescer um status effect é uma carta de upgrade. Duas globais entraram:

  • Potent Afflictions escala o statusPowerMult, de +10% no nível 1 até 5x no nível 100. Todo status effect bate mais forte.
  • Lingering Afflictions escala o statusDurationMult, de +10% até 4x. Todo status effect dura mais.

Elas multiplicam em todo lugar onde um efeito nasce: o payload do dardo de veneno no spawn do projétil, o DPS e a duração da queimadura da torre Flame, a duração do stun da Tesla, a confusão da torre Illusion. O Lingering Afflictions também levanta o teto duro de 6 segundos de queimadura pelo mesmo fator, senão o upgrade não faria nada na surdina depois de certo nível, que é o pior tipo de upgrade que existe.

Poison e Illusion ganharam arte de verdade

Mais duas torres deixaram de ser placeholder, seguindo o mesmo padrão do resto da passada de arte das torres: um sheet de 128x64 com dois frames de 64x64, parada e atirando, com o frame de tiro aparecendo por uma janela fixa depois de cada disparo.

O corpo hexagonal da torre Poison é fixo (ela nunca gira pra encarar o alvo) e ela finalmente tem um projétil de verdade: uma poção de 64x64 desenhada na metade do tamanho que gira enquanto voa, seguindo o mesmo arco lento que o disco de ricochete usa, do centro da torre até o alvo único.

A torre Illusion é radialmente simétrica, então também é fixa, e ela não dispara projétil nenhum, o comportamento dela é confuse. O campo de projétil só aponta pra própria textura dela, que nunca é desenhada. Esquisitice pequena, mas que merece um comentário no código pra ninguém apagar a atribuição "errada" depois.

Na próxima: toda tela aprende a dizer o que está acontecendo.