Como criar um jogo de blocos que caem com IA sem código
Como criar um jogo de blocos que caem com IA
Este gênero é um dos que melhor respondem a texto, porque as regras são fechadas e conhecidas. Grade, peças de quatro quadrados, rotação, linha que some quando fica cheia: uma construção de 6 créditos entrega isso rodando. O trabalho fino está no sorteio das peças e na curva de velocidade.
O que é obrigatório e o que é enfeite?
Obrigatório: grade fixa, peças que descem sozinhas, rotação, encaixe que trava a peça, linha completa que desaparece e fim de partida quando a pilha alcança o topo. Sem qualquer um desses itens, você tem outro jogo, não uma versão simplificada deste.
Enfeite, e vale deixar para depois: efeito de partícula, sombra projetada da peça no chão, som de encaixe, temas de cor. Nada disso muda a decisão que o jogador toma, e decisão é o que sustenta um quebra-cabeça de encaixe.
No meio do caminho existem dois recursos que parecem enfeite e não são: a pré-visualização da próxima peça e a possibilidade de guardar uma peça para usar depois. Ambos mudam a estratégia inteira, então decida se quer os dois antes de gerar, e não depois.
Qual prompt gera a primeira versão jogável?
Descreva a grade, as peças, os comandos, a regra de limpeza e o fim. Quanto mais numérico o texto, menos espaço para suposição, e neste gênero suposição custa edições.
Crie um quebra-cabeça de blocos que caem, 2D no navegador.
Grade de 10 colunas por 20 linhas, fundo escuro, blocos coloridos.
Peças formadas por quatro quadrados, nos sete formatos clássicos, cada uma com sua cor.
Comandos: setas esquerda e direita movem, seta para cima gira,
seta para baixo acelera a descida, espaço solta a peça direto no fundo.
Quando uma linha fica cheia, ela some e tudo acima desce uma casa.
Mostre a próxima peça em um quadro ao lado.
Sorteio: embaralhar os sete formatos em um saco e só repetir quando o saco esvaziar.
Pontuação maior para várias linhas limpas de uma vez.
A partida acaba quando uma peça nova não couber. Botão de jogar de novo.
A linha do saco é a que mais diferencia um resultado bom de um resultado frustrante, e é justamente a que ninguém lembra de escrever. Vale entender por que ela existe.
Por que o sorteio precisa de um saco e não de um dado?
Porque sorteio puramente aleatório produz sequências que parecem sabotagem. Com sete formatos sorteados um a um de forma independente, é perfeitamente normal passar vinte peças sem ver a barra comprida que você está esperando para limpar quatro linhas de uma vez.
O jogador não interpreta isso como estatística. Interpreta como jogo injusto, e para de jogar. O saco resolve com uma regra de uma frase: embaralhe os sete formatos, entregue um por um, e só reembaralhe quando o saco esvaziar. Assim nenhuma peça some por muito tempo e a variedade continua existindo.
É o tipo de detalhe que parece pequeno na descrição e domina a experiência real. Se você lembrar de uma única linha extra para colocar no prompt deste gênero, que seja essa.
Que números costumam fazer o jogo parecer certo?
| Elemento | Valor que costuma funcionar | Motivo |
|---|---|---|
| Grade | 10 colunas por 20 linhas | Espaço para errar e recuperar |
| Formatos de peça | Os sete clássicos de quatro quadrados | Variedade sem virar bagunça |
| Sorteio | Saco embaralhado de sete peças | Evita ausência longa de um formato |
| Pré-visualização | Uma peça à frente | Planejar sem eliminar a surpresa |
| Atraso ao encostar | Um instante antes de travar | Permite o encaixe de última hora |
| Subida de nível | A cada dez linhas limpas | Progresso perceptível e gradual |
| Pontuação | Bônus crescente por linhas simultâneas | Recompensa quem arrisca |
Esses valores não são obrigação, são ponto de partida testado por décadas de jogos do gênero. Se você quer algo diferente, mude um por vez e jogue no meio: mudar grade e velocidade juntas torna impossível saber qual das duas deixou o jogo estranho.
O que quase sempre quebra na rotação?
A peça girando perto da parede ou de uma pilha alta. No espaço livre, girar é trivial. Encostado na borda direita, a rotação pediria que a peça ocupasse uma coluna que não existe, e aí o resultado padrão costuma ser um de dois: a rotação simplesmente não acontece, ou a peça atravessa o que estava ali.
A correção se descreve em uma frase: quando a rotação não couber, empurrar a peça uma casa para o lado ou para cima e tentar de novo, e só recusar o giro se nenhuma dessas tentativas couber. Jogadores experientes contam com esse comportamento, mesmo sem saber o nome dele.
O segundo defeito frequente é a limpeza de várias linhas ao mesmo tempo. Muitas implementações removem uma linha, deslocam tudo e conferem de novo, o que pode deixar uma linha cheia para trás. Ao testar, faça de propósito quatro linhas de uma vez e veja se todas somem juntas.
Como a velocidade deve crescer?
Por degraus previsíveis, ligados a algo que o jogador controla. Subir um nível a cada dez linhas limpas funciona porque cria uma relação clara entre o que ele faz e o que acontece com o jogo, diferente de um cronômetro que acelera sozinho.
Cuide do topo da curva. Depois de certo ponto, a peça cai mais rápido que o tempo de reação humano e o jogo termina sozinho, o que é frustrante em vez de desafiador. Um teto de velocidade mantém a partida decidida pela habilidade, não pelo relógio.
Se você quiser mexer bastante nesses valores, em algum momento fica mais barato exportar o código para o GitHub e ajustar os números direto no arquivo. Sobre esse caminho, dá para exportar o código explica como o projeto sai da plataforma.
Quanto custa em créditos até uma versão redonda?
Construção inicial de 6 créditos, edições de 3. Um jogo deste gênero costuma ficar bom com uma construção e três a cinco edições, concentradas em rotação junto às bordas, sorteio das peças, curva de velocidade e pontuação por linhas simultâneas.
O modo Hi-Fi dobra os valores: construção de 12 créditos e edição de 6. Aqui ele é tentador porque o gênero é visual, mas o acabamento não salva um sorteio ruim. Deixe o Hi-Fi para quando o jogo já estiver gostoso de jogar em preto e branco.
Os 200 créditos do plano Pro, a $25 por mês, equivalem a cerca de 33 construções ou 66 edições, o que cobre vários projetos no mês. O Free traz 5 créditos, logo abaixo de uma construção de 6, então serve para conhecer a ferramenta. O Business custa $99 por mês com 800 créditos.
Dá para publicar e guardar recordes?
Dá, e a publicação não consome créditos. O jogo fica em um endereço seu-slug.zugo.run, abre no navegador do celular e do computador, e aceita um domínio próprio quando fizer sentido ter um nome definitivo.
Recorde salvo no próprio navegador resolve o caso individual e não exige nada além de uma linha no prompt. Se você quiser um ranking com nomes, aí entra a conexão com Supabase, que guarda as pontuações e permite login. Isso é uma edição sobre um jogo pronto, não um projeto novo.
Vale um aviso sobre controles no celular. Setas do teclado não existem lá, então descreva os comandos de toque explicitamente: arrastar para mover, tocar para girar, deslizar para baixo para soltar. Sem isso, o jogo publicado fica ótimo no computador e inutilizável no telefone.
O que fica fora do alcance?
O resultado é 2D e roda no navegador, então efeitos pesados e três dimensões ficam de fora. O Zugo não substitui um time de desenvolvimento em um produto complexo, e regra muito específica chega por edições sucessivas, não por um prompt genial.
E há o limite de sempre: identidade visual, trilha sonora e sensação de polimento são trabalho humano. O jogo gerado sai funcional e apresentável, e a distância entre apresentável e memorável continua sendo percorrida por você.
Por onde começar?
Copie o prompt, gere, jogue até perder três vezes e observe uma coisa por partida: na primeira, o sorteio; na segunda, a rotação nas bordas; na terceira, a velocidade. Três observações separadas viram três edições certeiras.
Para ver o método aplicado a um vizinho de grade, como criar um jogo match 3 com IA trata de encaixe com reação em cadeia, e a IA consegue criar um jogo jogável dá o panorama antes de você gastar a primeira construção.
Comece pelo prompt em zugo.dev e não esqueça da linha do saco de peças.