Como fazer um jogo de Game Boy Advance de verdade com IA (e jogar em hardware real)
Também em: English · Español · Deutsch · Français · Italiano · Nederlands · Svenska · Norsk · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · Русский · 日本語 · 한국어 · 繁體中文
Para fazer um jogo de Game Boy Advance com IA, abra o Shiny Gen (no navegador em shinygen.ai/play, ou no app para iPhone, iPad e Android), comece um jogo novo, selecione o Motor GBA e descreva o jogo que você quer. O agente de IA escreve o jogo, compila em um cartucho de GBA de verdade, joga para encontrar e corrigir bugs, e você baixa a ROM .gba, o que exige uma compra qualquer, a partir de um pacote inicial de $2.99. A ROM roda em emuladores de GBA e em um Game Boy Advance de verdade com um flash cart.
Este guia mostra o passo a passo e depois fala dos tipos de jogo que funcionam bem, dos limites, sem rodeios, e das perguntas mais comuns.
O que é o motor GBA
O motor GBA é um motor que criamos e que compila jogos novos a partir do seu prompt. Ele não é um emulador nem um carregador de ROMs: os motores GBA, GBC, N64, GameCube e DS compilam jogos que você cria no Shiny Gen e não conseguem rodar ROMs comerciais ou de terceiros.
O seu jogo é escrito em uma pequena linguagem parecida com C (o arquivo é main.sgba). O Shiny Gen compila para código de máquina ARM no seu próprio aparelho, coloca a sua arte e o seu som dentro do cartucho e roda esse cartucho. Não existe uma versão de prévia separada: o jogo que você joga no app é o próprio cartucho.
O que você precisa
- Um navegador moderno, ou o app Shiny Gen da App Store ou do Google Play.
- Uma conta gratuita no Shiny Gen. Contas novas começam com gemas grátis, que é o que a IA gasta.
- Para baixar a ROM: uma compra qualquer, a partir de um pacote inicial de $2.99.
- Para jogar em hardware real: um Game Boy Advance e um flash cart de GBA. Emuladores não precisam de mais nada.
Passo a passo
1. Comece um jogo novo e escolha o motor GBA
Toque no botão +. Em Agente no app, escolha Novo. A próxima tela mostra Escolha um motor: selecione Motor GBA.
Um jogo de GBA novo abre no editor. Ele começa como um cartucho em branco de propósito, com um init() vazio (roda uma vez) e um frame() vazio (roda sessenta vezes por segundo), para que o agente crie o que você descreveu em vez de editar um modelo que você não pediu.

2. Descreva o jogo
Abra a aba Agente na parte de baixo do editor e digite o que você quer na visualização Chat. Uma boa primeira mensagem diz que tipo de jogo é, o que o jogador faz, os controles (o GBA tem direcional, A, B, L, R, Start e Select), o objetivo e o visual.
Por exemplo: "Faça uma aventura vista de cima no GBA. Uma raposa explora uma floresta, conversa com moradores em caixas de texto e coleta cinco lanternas. Direcional para mover, A para conversar, Start para pausar. Salve o progresso quando o jogador descansar em uma fogueira."
O botão ao lado da caixa de texto escolhe o modelo, e o agente integrado é cobrado em gemas pelo uso real.
3. Veja o agente criar e testar
O agente sabe que está trabalhando em um cartucho. Ele lê a referência da linguagem do GBA, escreve o código e compila. Se a compilação falhar, o compilador diz o que deu errado e onde (linha, coluna e o que escrever no lugar), e o agente corrige. Depois ele mesmo joga:
- Roda o cartucho e lê o relatório da compilação, incluindo quanto do cartucho está ocupado.
- Tira capturas de tela da tela de 240 x 160 para conferir o que realmente está desenhado.
- Aperta os botões (A, B, L, R, Start, Select e o direcional) para jogar o que criou.
- Lê valores que o jogo informa, para saber que o herói se moveu ou que a pontuação subiu em vez de adivinhar.
- Corrige o que está quebrado e tenta de novo.
Ele também pode criar a arte e o som: sprites, fundos e música, que entram no cartucho pelo nome. Gerar recursos gasta gemas.
4. Mude o jogo conversando
Quando a primeira versão rodar, continue no mesmo chat. Pedidos pequenos e específicos funcionam melhor: "Adicione uma tela de título", "Transforme a segunda área em uma caverna com cores mais escuras", "A caixa de texto continua aberta depois que eu me afasto; feche." Diga o que você viu em vez de tentar adivinhar a causa; o agente consegue reproduzir jogando.
Você também pode abrir a visualização Código e editar main.sgba por conta própria. Editar código à mão não custa nada, e uma compilação troca o cartucho pelo novo sem perder o seu save.
5. Jogue no app
O jogo roda direto no editor e a partir do cartão do seu jogo. Em um celular ou tablet os controles ficam na tela: um direcional à esquerda, A e B à direita, e L, R, Start e Select em volta. No computador, você joga pelo teclado: setas, Z para A, X para B, A e S para L e R, Enter para Start e Shift para Select. Um controle de videogame também funciona, e você pode remapear os botões nas configurações do controle.
O jogo salva no próprio save de bateria, como um cartucho, então você pode sair e voltar de onde parou.

6. Baixe a ROM
Toque em Compartilhar e depois em Export .gba ROM. Exportar exige uma compra qualquer, a partir de um pacote inicial de $2.99; o botão aparece para todo dono de jogo e, sem uma compra, leva você para a loja. O botão está disponível para jogos que são seus.
Antes de entregar o arquivo, o Shiny Gen recompila o cartucho se algo mudou, depois inicia o jogo em um emulador novo e confere que ele abre. Você recebe um arquivo .gba com o nome do seu jogo. A ROM abre com uma breve tela de abertura do Shiny Gen e não inclui o seu save, então uma cópia que você passa para alguém começa do zero.
Para onde o arquivo vai depende do aparelho: um download normal no navegador e a tela Salvar em Arquivos no app para iPhone e iPad. O app para Android ainda não consegue salvar o arquivo; abra o jogo em shinygen.ai no navegador do celular ou do computador para baixar, o que exige a mesma compra.

7. Jogue em hardware real
Um flash cart é um cartucho de GBA com uma entrada para cartão de memória em vez de um único jogo fixo. Você copia arquivos de ROM para o cartão, e o cartucho mostra um menu com eles quando o console é ligado. Já jogamos ROMs feitas assim em um Game Boy Advance de verdade e em um Nintendo DS Lite, com save funcionando.
Os passos gerais (o manual do seu cartucho tem os passos exatos):
- Copie o arquivo
.gbapara o cartão SD ou microSD do cartucho. Alguns cartuchos também precisam dos próprios arquivos de sistema no cartão antes. - Coloque o cartão no cartucho e o cartucho no Game Boy Advance.
- Ligue o console e escolha o seu jogo no menu do cartucho.
Alguns cartuchos pedem um tipo de save para cada jogo. As nossas ROMs usam saves em flash de 128 KB (1 Mbit) e informam isso dentro da ROM, que é como flash carts e emuladores costumam detectar sozinhos. Se o seu cartucho pedir, escolha flash de 128 KB ou 1M. Assim o save funciona no cartucho do mesmo jeito que em um cartucho original.
Para jogar sem hardware, qualquer emulador de GBA abre o arquivo: por exemplo o mGBA no computador ou o Delta no iPhone.
Que tipos de jogo funcionam bem
Os jogos de GBA do nosso catálogo mostram as possibilidades. Você pode jogar todos de graça no navegador e fazer um remix de qualquer um para ter a sua própria cópia e mudar com o agente:
- RPGs de colecionar monstros: Shiny Monsters Advance, com uma cidade, caixas de texto e partidas entre monstros. Ele troca e batalha com monstros dos outros jogos Shiny Monsters pela internet.
- Corrida com piso giratório em "Mode 7": Shiny Kart Advance, oito pilotos em três pistas.
- Arcade: Shiny Pinball, uma mesa de pinball espacial.
- Ação e sobrevivência: Shiny Swarm, em que as armas atiram sozinhas e você resiste a ondas de inimigos.
- Jogos pequenos e tranquilos: Spark Garden e Ember Courier.

Em geral, funcionam melhor os jogos que combinam com o console: aventuras e RPGs vistos de cima, jogos de plataforma, quebra-cabeças, jogos de tiro, corrida em piso giratório e qualquer coisa feita de tiles e sprites. O motor suporta camadas com rolagem, sprites que giram e mudam de escala, efeitos de transparência, caixas de texto, música e efeitos sonoros.
Limites
O motor GBA tem os mesmos limites do console de verdade, e algumas coisas ainda não estão prontas:
- Os limites do próprio console. Uma tela de 240 x 160; até 128 sprites ao mesmo tempo, cada um com no máximo 64 x 64 pixels; cores em paletas de 16; 256 KB de memória de trabalho para os dados do seu jogo. Não há ponto flutuante, então as posições usam números de ponto fixo. Cada compilação informa quanto de cada orçamento está ocupado, para você ver um limite chegando antes de bater nele.
- Sem 3D. O GBA desenha tiles e sprites em 2D. O piso em "Mode 7" dá um visual 3D a jogos de corrida, mas é uma imagem 2D girada e com escala.
- Só jogos novos. Ele não consegue abrir nem rodar uma ROM feita por outra pessoa, e você não pode importar uma ROM para editar.
- Ainda sem cabo link em hardware. Trocas e batalhas entre os jogos Shiny Monsters funcionam pela internet dentro do Shiny Gen. Jogar com um cabo link de verdade entre dois consoles não está comprovado, então não afirmamos isso.
- O save fica com você. A ROM não leva o seu progresso, e o Shiny Gen guarda o save do app na sua conta.
- Baixar exige uma compra, e o app para Android ainda não consegue salvar o arquivo. Exportar a ROM exige uma compra qualquer, a partir de $2.99; no Android, baixe pelo navegador.
Os outros motores retrô
O GBA é um dos cinco motores retrô que criamos, e todos funcionam do mesmo jeito: escolha o motor, descreva o jogo, e o agente cria e testa. GBC gera uma ROM de Game Boy Color, N64 uma ROM de N64, GameCube um arquivo .dol e DS um arquivo .nds de duas telas, e exportar qualquer um deles exige a mesma compra, a partir de $2.99. Se você quer um jogo moderno em 2D ou 3D, o motor Godot é a sexta opção na mesma tela. Veja como o Shiny Gen se compara a outros criadores de jogos com IA.
Perguntas frequentes
A IA consegue fazer um jogo de Game Boy Advance?
Sim. No Shiny Gen você escolhe o motor GBA e descreve o jogo; o agente de IA escreve o código, compila um cartucho de GBA de verdade, joga com os botões para encontrar bugs e os corrige. Você pode baixar a ROM .gba depois de uma compra qualquer, a partir de $2.99.
É uma ROM de GBA de verdade?
Sim. É uma imagem de cartucho .gba padrão, compilada para código de máquina ARM, com um cabeçalho de cartucho válido. O Shiny Gen inicia cada ROM em um emulador novo antes de entregar, e já jogamos essas ROMs, com save, em um Game Boy Advance de verdade e em um DS Lite com um flash cart.
Ele roda Pokemon ou outras ROMs comerciais?
Não. O motor GBA não é um emulador nem um carregador de ROMs. Ele compila jogos novos que você cria no Shiny Gen e não consegue rodar ROMs comerciais ou de terceiros.
Preciso saber programar?
Não. Você descreve o jogo e o agente escreve e testa o código. Se quiser, você pode ler e editar o código na visualização Código; editar à mão não custa nada.
Posso vender um jogo de GBA que eu fiz?
Sim. O que você cria é seu, e o Shiny Gen não fica com nenhuma parte da receita (Termos de Serviço, seção 4). Você pode vender o próprio arquivo da ROM; exportá-lo exige uma compra qualquer, a partir de $2.99.
Em quais aparelhos a ROM funciona?
Em emuladores de GBA, como o mGBA no computador ou o Delta no iPhone, e em hardware real com um flash cart. Testamos em um Game Boy Advance e em um Nintendo DS Lite, com save, e ela deve funcionar em qualquer console ou portátil que rode cartuchos de GBA, como o Game Boy Advance SP.
Qual tipo de save devo escolher no meu flash cart?
Flash de 128 KB (1 Mbit). A ROM informa isso, então cartuchos e emuladores costumam detectar sem perguntar.
É grátis?
Criar, jogar e compartilhar jogos é grátis. A geração por IA e o agente integrado usam gemas, e contas novas ganham gemas grátis. Baixar a ROM exige uma compra qualquer, a partir de um pacote inicial de $2.99. A lista completa está na página de preços.