Voltar para o Blog
Quest Log

O Que É o Core Loop de um Jogo e Como Projetar o Seu

Diagrama circular representando o ciclo de ação e recompensa de um core loop de jogo

Entenda o que é o core loop de um jogo, como o ciclo de ação e recompensa funciona, veja exemplos reais e aprenda a projetar e testar o seu.

O Que É o Core Loop de um Jogo e Como Projetar o Seu

O core loop de um jogo é a sequência de ações que o jogador repete o tempo inteiro, do minuto um até a última sessão. Em Tetris: peça cai, você encaixa, linha some, próxima peça. Em Minecraft: explora, coleta, constrói, explora de novo. Se esse ciclo é bom, o jogador fica. Se é fraco, nenhuma quantidade de história, gráfico ou conteúdo segura ele.

É por isso que core loop é a primeira coisa que eu desenho num projeto novo, antes de qualquer arte e antes de quase todo código. Errar aqui é errar a fundação: você só descobre meses depois, com o jogo inteiro construído em cima.

Nesse artigo vou destrinchar como o ciclo de ação e recompensa funciona, mostrar exemplos de jogos conhecidos e passar o processo que eu uso pra projetar e testar um loop antes de comprometer meses de produção.

O que é o core loop de um jogo, na prática

Pense no seu jogo como uma série de ciclos aninhados. O core loop é o menor deles, o ciclo de segundos a poucos minutos que se repete milhares de vezes. Ele tem três partes:

  1. Ação: o que o jogador faz. Atirar, pular, plantar, combinar peças, escolher uma carta.
  2. Recompensa: o que o jogador ganha por fazer. Pontos, loot, recurso, progresso visível, ou só a satisfação de ter executado bem.
  3. Motivação pra repetir: o que puxa o jogador de volta pro início do ciclo. Geralmente a recompensa abre uma possibilidade nova, ou o desafio seguinte já está na tela.

A terceira parte é a que separa um loop de uma tarefa. Lavar louça também é ação e resultado, mas nada te puxa pro próximo prato. Num bom core loop, completar o ciclo cria o desejo de rodar ele de novo: o loot que dropou pede pra ser equipado, o equipamento novo pede um inimigo mais forte, o inimigo mais forte dropa loot melhor.

Loops dentro de loops

O core loop nunca existe sozinho. Em volta dele orbitam ciclos maiores:

  • Loop de segundos: mirar e atirar num FPS.
  • Loop de minutos: limpar uma arena, completar uma fase.
  • Loop de sessão: uma run inteira de um roguelike, uma partida de um MOBA.
  • Loop de longo prazo: subir de nível, desbloquear a árvore de skills, terminar a campanha.

Os loops externos dão direção, mas quem carrega o jogo nas costas é o interno. Ninguém grinda 80 horas por uma árvore de skills se apertar o botão de ataque não é gostoso. O contrário acontece direto: jogos com loop de segundos excelente e quase nenhuma meta de longo prazo (Tetris de novo) duram décadas.

O ciclo de ação e recompensa em jogos reais

Olhar jogos de sucesso pela lente do loop é o melhor treino de game design que existe. Alguns exemplos:

Vampire Survivors. Ação: andar desviando da horda enquanto o ataque é automático. Recompensa: gemas de XP espalhadas no chão. Motivação: cada level up oferece uma escolha de upgrade, e o upgrade muda como você anda e desvia. O loop fecha em segundos e o jogo inteiro é só ele, bem afinado.

Stardew Valley. Ação: plantar, regar, colher. Recompensa: dinheiro e itens. Motivação: o dinheiro vira semente melhor, ferramenta melhor e expansão da fazenda, que aumentam o que você consegue plantar amanhã. O ciclo do dia dentro do jogo é o loop de sessão perfeito: termina o dia, salva, "só mais um dia" e já é madrugada na vida real.

Slay the Spire. Ação: jogar cartas num combate por turnos. Recompensa: carta nova, relíquia, ouro. Motivação: cada carta nova muda as combinações possíveis no próximo combate, então a decisão de pegar ou pular uma carta é, em si, parte do jogo.

Counter-Strike. Ação: comprar, posicionar, atirar. Recompensa: round vencido, dinheiro pro próximo round. Motivação: a economia liga um round no outro, e a execução pura (mirar bem) é recompensa intrínseca. Repare que quase não existe progressão permanente, e o jogo roda há mais de vinte anos.

O padrão que se repete: a recompensa não é só um número subindo. Ela alimenta a próxima ação. Quando a recompensa não muda nada no jogo (uma conquista decorativa, por exemplo), ela não fecha o loop, só enfeita.

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

Como projetar o seu core loop

O processo que funciona pra mim tem quatro passos, e nenhum deles envolve abrir a engine.

1. Escreva o loop em uma frase

Complete: "no meu jogo, o jogador repetidamente ___, ganha ___, e isso o leva a ___". Se você precisa de três frases, seu loop está confuso ou você está descrevendo um loop externo. "O jogador explora a masmorra, encontra equipamento, e o equipamento permite descer mais fundo" cabe numa frase. "O jogador vive uma jornada épica de vingança" não é um loop, é uma premissa.

2. Verifique cada elo da corrente

Pra cada parte da frase, pergunte:

  • A ação é interessante por si só? Ela exige decisão ou habilidade? Apertar um botão e esperar não é ação, é assistir. Se a resposta é não, ou você melhora a ação ou aceita que está fazendo um idle game (que é um gênero legítimo, mas tem que ser de propósito).
  • A recompensa é percebida na hora? Recompensa que o jogador não nota não existe. Som, número, item no inventário, barra enchendo: algo precisa confirmar "funcionou".
  • A recompensa muda a próxima rodada do loop? Esse é o elo que mais quebra. Se o jogador pode ignorar a recompensa e jogar exatamente igual, o loop está aberto.

3. Corte até sobrar o mínimo

Iniciante adora empilhar sistemas: crafting, mais reputação, mais clima dinâmico, mais pesca. Cada sistema extra é um loop concorrente disputando a atenção do jogador e o seu tempo de desenvolvimento. A pergunta certa é a inversa: qual é o menor conjunto de ação, recompensa e motivação que ainda é divertido? Comece por ele. Sistema extra entra depois, quando o núcleo já provou que funciona, e entra pra alimentar o loop central, não pra competir com ele.

4. Defina o tempo de ciclo

Cronometre mentalmente: quanto tempo leva uma volta completa no loop? Não existe número mágico, mas existe coerência com a plataforma e o contexto. Jogo mobile de fila de banco pede ciclos de segundos. Um jogo de estratégia pra PC aguenta ciclos de vários minutos. O problema é o descompasso: um jogo hyper casual com loop de dez minutos morre, e um RPG de 60 horas feito só de microciclos cansa.

Como testar se o core loop funciona

Loop se valida jogando, não discutindo. E dá pra validar barato.

Protótipo feio, rápido e focado

Monte só o loop. Sem menu, sem arte final, sem história. Quadrados coloridos e fontes padrão estão ótimos. O objetivo é responder uma única pergunta: rodar esse ciclo vinte vezes seguidas continua interessante? Se a resposta com quadrados é não, arte bonita não vai consertar, só vai mascarar o problema por mais tempo (e mais caro).

Pra muitos loops você nem precisa de código: papel, dado e post-it testam um loop de deck builder ou de gerenciamento numa tarde.

Playtest de verdade

Coloque o protótipo na mão de alguém que não é você e fique quieto. Não explique, não justifique, não diga "ah, mas na versão final...". Observe três coisas:

  • Onde a pessoa para de jogar. O momento do abandono geralmente aponta o elo quebrado: se ela larga depois da recompensa, a motivação pra repetir está fraca; se larga no meio da ação, a ação está chata ou confusa.
  • Se ela consegue explicar o loop. Pergunte no final: "o que você ficava fazendo?". Se a resposta dela bate com a sua frase do passo 1, a comunicação do jogo está funcionando.
  • O "só mais uma". O sinal mais confiável de loop saudável é o testador pedir pra jogar de novo sem você oferecer.

Meça o ciclo com dados simples

Sensação engana, número não. Instrumentar o protótipo pra medir a duração de cada volta do loop custa poucas linhas. Em GDScript (Godot 4), um medidor mínimo:

extends Node

var loop_start_ms: int = 0
var durations: Array[float] = []

# Chame quando o ciclo começa (ex: inimigo nasce, peça aparece).
func loop_started() -> void:
    loop_start_ms = Time.get_ticks_msec()

# Chame quando o ciclo fecha (ex: recompensa coletada).
func loop_completed() -> void:
    var seconds := (Time.get_ticks_msec() - loop_start_ms) / 1000.0
    durations.append(seconds)
    print("ciclo %d: %.1fs" % [durations.size(), seconds])

func _exit_tree() -> void:
    if durations.is_empty():
        return
    var total := 0.0
    for d in durations:
        total += d
    print("ciclos: %d | média: %.1fs" % [durations.size(), total / durations.size()])

Com isso você descobre, por exemplo, que o ciclo que você imaginava em 30 segundos leva dois minutos na mão de um jogador novo, ou que a duração cresce a cada volta porque a dificuldade escala rápido demais. São decisões de tuning que o cronômetro entrega e a intuição não.

Itere no loop antes de escalar

Cada rodada de teste gera ajuste: encurtar a ação, deixar a recompensa mais visível, fortalecer o elo de motivação. Só quando o loop sobrevive a vários testadores sem você precisar defender ele é que vale construir conteúdo em cima. Conteúdo multiplica o que o loop é: multiplica diversão se ele é bom, multiplica tédio se ele é fraco.

Fechando

Core loop é a frase que descreve o que seu jogador faz mil vezes: ação que exige algo dele, recompensa que ele percebe, e uma recompensa que muda a próxima volta. Os melhores jogos que você conhece cabem nessa frase, e o seu também precisa caber.

O erro caro não é desenhar um loop ruim no papel, é descobrir que ele é ruim depois de seis meses de produção. Então faça o barato primeiro: escreva a frase, prototipe feio, coloque na mão de alguém e meça. Se com quadrados cinzas a pessoa pedir "só mais uma", você tem um jogo. O resto é construção em cima de fundação boa.