Voltar para o Blog
Quest Log

Como Fazer um Jogo Auto Battler: Mecânicas e Primeiros Passos

Tabuleiro de auto battler com unidades posicionadas e loja de compra

Como fazer um jogo auto battler: entenda o gênero, economia, loja, sinergias e posicionamento, e monte um protótipo simples na Godot 4.

Como fazer um jogo auto battler é uma dúvida que aparece muito entre quem gosta de estratégia mas se assusta com a ideia de controlar dezenas de unidades em tempo real. A boa notícia é que o gênero foi desenhado justamente para tirar esse peso das suas mãos. Neste post você vai entender o que define o auto battler, quais mecânicas fazem ele funcionar e como montar um protótipo simples na Godot 4, focando no design antes de qualquer gráfico bonito.

O que é um jogo auto battler

Um auto battler é um jogo de estratégia onde você não controla a luta. Você monta um time de unidades, posiciona elas num tabuleiro e aperta um botão. A partir daí o combate roda sozinho: as unidades andam, atacam, usam habilidades e morrem sem que você toque em nada. Sua vitória ou derrota foi decidida antes, nas escolhas que você fez fora do combate.

O formato ficou famoso em 2019 com o mod Dota Auto Chess, e depois com Teamfight Tactics, Hearthstone Battlegrounds e Legends of Runeterra. Se você quer entender onde esse gênero se encaixa no mapa maior, vale ler nosso guia de gêneros de jogos explicados, porque o auto battler mistura estratégia, roguelike e um pouco de card game.

O ponto central para entender o design: o jogador é um técnico, não um soldado. Ele decide quem entra em campo e onde fica cada peça. O combate é a consequência, não a ação principal. Isso muda tudo na hora de projetar, porque a diversão precisa vir das decisões, não dos reflexos.

As mecânicas centrais

Um auto battler funciona porque várias mecânicas simples se cruzam. Nenhuma delas é difícil sozinha. A mágica está na interação entre elas.

Economia e ouro

A cada round o jogador recebe ouro. Esse ouro paga tudo: comprar unidades, girar a loja em busca de peças melhores e subir de nível. O detalhe que dá profundidade é o juro. Na maioria dos jogos, guardar ouro rende ouro extra no round seguinte, o que cria uma tensão constante. Você gasta agora para ficar forte já, ou economiza para virar uma bola de neve mais tarde? Essa pergunta se repete a cada round e nunca tem resposta óbvia.

A loja de unidades

A loja mostra algumas unidades aleatórias por round, tiradas de um pool compartilhado. O jogador compra o que aparece ou paga para rolar de novo. A aleatoriedade é o motor do gênero: você raramente consegue exatamente o que planejou, então precisa adaptar a estratégia ao que a sorte oferece. Bom design de loja é sobre probabilidades. Unidades caras aparecem menos, e a chance melhora conforme o jogador sobe de nível.

Sinergias e classes

Cada unidade carrega etiquetas, tipo "guerreiro" ou "mago" ou "elfo". Juntar várias unidades da mesma etiqueta ativa um bônus para o time inteiro. É aqui que nasce a estratégia de composição: você não quer as melhores unidades soltas, você quer unidades que conversam entre si. Uma peça mediana pode valer mais que uma forte se ela completa uma sinergia.

Posicionamento no tabuleiro

Onde cada unidade fica importa porque o combate é automático. Tanques na frente, atiradores atrás, peças frágeis nos cantos. Um posicionamento esperto contra o adversário certo ganha lutas que pareciam perdidas. Essa é a última decisão de cada round e a mais tática.

Rounds e vida do jogador

A partida é uma sequência de rounds. Em cada um, o combate resolve e quem perde toma dano na própria vida. Quando sua vida chega a zero, você sai. A vida funciona como um relógio: ela dá espaço para experimentar cedo e apostar em planos de longo prazo, mas cobra o preço se você demorar demais para ficar forte.

Próximo nível
Quer aprender isso na prática?

No CursoGame.Dev você sai dos tutoriais soltos e constrói jogos publicáveis, com trilha progressiva, quests práticas e feedback real.

Conhecer a plataforma
+500 alunos4.9/5Garantia 7 dias

O loop de decisão

Junte as mecânicas e você tem o loop que o jogador repete a partida inteira:

  1. Receber ouro no começo do round.
  2. Olhar a loja e decidir comprar, rolar ou guardar.
  3. Reorganizar o time e as sinergias com o que comprou.
  4. Posicionar as unidades no tabuleiro.
  5. Assistir ao combate automático.
  6. Ganhar ou perder vida conforme o resultado.

Repita. Cada volta é uma minidecisão de investimento sob incerteza. É o mesmo prazer de gerir recursos que você encontra em como fazer um jogo tycoon/management, só que comprimido em partidas curtas e com um combate no fim de cada ciclo para dar o veredito.

O que torna esse loop divertido é a informação incompleta. Você nunca sabe o que a loja vai mostrar, nem o que os adversários estão montando. Toda decisão é uma aposta. Boas apostas ao longo de muitos rounds viram vantagem, e é essa sensação de estar sempre lendo a situação que prende o jogador.

Como começar um protótipo na Godot

O erro clássico de quem começa é ir direto para o combate com animações. Faça o contrário. O coração do auto battler é a economia e a loja. Prototipe isso primeiro, com botões e texto, sem nenhum gráfico. Se o loop de comprar e montar já for interessante só com números na tela, o jogo tem base. Se não for, nenhuma animação salva.

Comece definindo o dado de uma unidade. Uma boa unidade é só um conjunto de valores. Em GDScript tipado, um recurso simples resolve:

extends Resource
class_name UnitData

@export var nome: String = ""
@export var custo: int = 1
@export var vida: int = 100
@export var ataque: int = 10
@export var classes: Array[String] = []

func descricao() -> String:
    return "%s (%d ouro) - %d/%d" % [nome, custo, vida, ataque]

Com isso você já pode criar várias unidades como arquivos de recurso e jogá-las num pool. O passo seguinte é a loja: uma função que sorteia algumas unidades do pool e devolve para a tela mostrar.

func gerar_loja(pool: Array[UnitData], quantidade: int) -> Array[UnitData]:
    var oferta: Array[UnitData] = []
    for i in quantidade:
        var indice: int = randi() % pool.size()
        oferta.append(pool[indice])
    return oferta

Depois vem a economia. Uma variável de ouro, uma função para comprar (que só permite se houver ouro suficiente) e uma regra de juro no fim do round. Nada disso passa de poucas linhas. Trate o time do jogador como uma lista de unidades compradas, exatamente como você faria ao montar como criar um sistema de inventário para RPG: a estrutura de guardar, adicionar e remover itens é a mesma ideia aplicada às peças do tabuleiro.

Só quando o loop de comprar e vender estiver gostoso é que vale atacar o combate. E mesmo ele pode começar bruto. Uma primeira versão razoável: as duas equipes trocam dano em turnos, a unidade mais rápida bate primeiro, quem zera a vida sai, e o combate acaba quando um lado fica sem peças. Sem movimento, sem animação, só a matemática resolvendo. Você imprime o resultado no console e valida se o balanceamento faz sentido. Movimento no tabuleiro, alcance e habilidades entram depois, um de cada vez.

Um roteiro enxuto de protótipo

Para não se perder, siga esta ordem:

  1. Crie 6 a 8 unidades como recursos, com custo, vida e ataque diferentes.
  2. Faça a loja sortear 5 unidades por round.
  3. Implemente ouro, compra e o juro por economizar.
  4. Deixe o jogador montar um time e ver o total dos atributos.
  5. Resolva um combate simples só com troca de dano.
  6. Adicione vida do jogador e a sequência de rounds.
  7. Só então introduza uma sinergia, a mais simples possível.

Repare que sinergia e posicionamento, que são o auge da estratégia, ficam para o fim. Isso é de propósito. Eles só fazem sentido depois que o esqueleto econômico anda sozinho. Adicionar sinergia cedo demais é otimizar algo que talvez você jogue fora.

Erros comuns de quem começa

Três armadilhas aparecem sempre. A primeira é complexidade cedo demais: dez sinergias, vinte unidades e três moedas diferentes num protótipo que ainda não provou ser divertido. Comece pequeno e cresça só o que o teste pedir.

A segunda é ignorar o balanceamento da aleatoriedade. Se a loja for injusta ou previsível demais, o jogo desanda. Ajuste as probabilidades cedo e teste bastante com você mesmo antes de mostrar para outros.

A terceira é achar que o combate precisa ser espetacular. Ele precisa ser legível. O jogador tem que entender por que perdeu para aprender e apostar melhor no próximo round. Clareza vale mais que efeito visual, sempre.

Fechando

Um auto battler parece complexo de fora, mas por dentro é um punhado de sistemas simples conversando: ouro, loja, sinergia, posicionamento e vida. O trabalho de verdade está em fazer o loop de decisão ser tenso e recompensador, e isso você só descobre prototipando cedo, com números na tela, antes de qualquer arte. Comece pela economia, valide se comprar já é divertido, e vá somando camadas.

Se você quer sair dos protótipos soltos e aprender a construir jogos completos com método, do design ao código na prática, é exatamente isso que ensinamos no curso da CursoGame.Dev. A gente pega quem está começando e leva até publicar um jogo de verdade, um passo de cada vez.

Perguntas frequentes

O que é um jogo auto battler?

É um gênero de estratégia onde o jogador compra e posiciona unidades num tabuleiro, mas não controla o combate. A batalha roda sozinha e o desafio está nas decisões antes do round: economia, compras, sinergias e posicionamento.

Qual a diferença de auto battler para autochess?

São praticamente sinônimos. Autochess foi o nome do mod de Dota 2 que popularizou o formato em 2019. Auto battler virou o termo genérico do gênero, usado por jogos como Teamfight Tactics e Hearthstone Battlegrounds.

Preciso saber programar para fazer um auto battler?

Sim, um mínimo. O combate automático exige lógica de estados e loops. A boa notícia é que dá para prototipar a parte mais difícil (economia e loja) com pouco código, e o combate pode começar simplificado, sem animação.

Qual engine usar para um auto battler indie?

A Godot 4 é uma boa escolha para começar: é gratuita, leve e o GDScript é rápido de iterar. Um auto battler não exige gráficos pesados, então o gargalo é o design, não a tecnologia.

Auto battler é multiplayer obrigatoriamente?

Não. Muitos usam 8 jogadores por partida, mas você pode fazer um single-player contra rounds de inimigos ou bots. Comece single-player: multiplayer adiciona uma camada grande de complexidade de rede.

O que torna um auto battler divertido?

A tensão entre gastar ouro agora e economizar para depois, somada à leitura das sinergias que aparecem na loja. Cada partida vira uma sequência de apostas com informação incompleta, e é isso que prende.