1

Pitch: Meu jogo de canetinha tinha 191 MB. Mais da metade não era do jogo

Sou dev de sites, nunca tinha feito jogo. Fiz o Sketch Blade com IA do começo ao fim: código em Godot, ícones e ilustrações. Você é uma caneta que atira tinta em monstros de canetinha que caem de uma folha de caderno.

A Play Store mostrou o tamanho: 191 MB. Para um jogo em 2D de caneta e papel, sem música gravada e sem vídeo, aquilo não fazia o menor sentido.

Pedi para a IA ver se havia algo de errado. Ela olhou as configurações e disse que estava tudo certo. Só quando abri o pacote na mão a resposta apareceu.

O Godot, por padrão, empacota todos os arquivos da pasta. Eu tinha deixado lá imagens de outro trabalho, enormes e sem relação com o jogo. Ninguém usava, e mesmo assim foram junto para a Play Store.

Tirei as imagens que não eram do jogo e reduzi as que eram. O download foi de 191 MB para 45 MB, e de quase 2 minutos para 25 segundos.

Fica a dica para quem usa Godot: o pacote que vai para a Play Store (AAB) é só um zip. Antes de enviar, abra e veja os maiores arquivos. Leva 10 segundos e teria me poupado a vergonha.

Agora o pedido: é a primeira versão de teste, o jogo ainda está em desenvolvimento e tem muita coisa para chegar. Preciso de 12 testadores para o Google liberar o jogo, e estou com 3 (eu, meu primo e minha esposa). Se você tem Android e puder ser o quarto:

  1. Entre no grupo: https://groups.google.com/g/sketch-blade-testers
  2. Toque em "Tornar-se testador": https://play.google.com/apps/testing/com.richardgms.sketchblade
  3. Deixe instalado por 14 dias

Se também está nessa fase, deixa o link do seu teste aqui que eu testo de volta.

Carregando publicação patrocinada...
1

Pra não depender de lembrar de abrir o AAB toda vez, dá pra resolver no próprio Godot. No preset de exportação tem o campo de filtros pra excluir arquivos e pastas (tipo referencias/*), e também o modo de exportar só as cenas selecionadas com as dependências delas, aí o que nenhuma cena usa nem entra no pacote.

Outra opção é deixar um arquivo vazio chamado .gdignore na pasta de rascunho. O Godot ignora a pasta inteira, nem importa os arquivos dela.

1

Valeu, ótimas dicas! Acabei indo pelo filtro de exclusão no preset (store/*, *.jpg, *.psd), e o .gdignore eu não conhecia, vou usar na pasta de referências.

Um cuidado sobre exportar só as cenas selecionadas, que descobri olhando meu projeto: no meu caso não daria certo. Os ícones dos upgrades e as artes dos capítulos são carregados por código a partir de uma string (load("res://assets/...") vindo de uma tabela de dados), e não por uma cena. O Godot não enxerga essa dependência, então esses arquivos ficariam de fora e o jogo quebraria só no celular. Quem carrega recurso dinamicamente precisa listar essas pastas no filtro de inclusão.

No fim deixei as duas coisas: o filtro no preset e o hábito de abrir o AAB antes de enviar, porque foi ali que eu vi o problema de verdade.

1

boa, esse do load() com caminho em string é verdade, o Godot só segue dependência que tá salva em cena ou recurso, então coisa carregada por tabela de dados fica invisível pra ele. abrir o AAB no fim acaba sendo a conferência mais confiável mesmo.