Como Fazer Jogo no GameMaker: Guia do Primeiro Projeto

Como fazer jogo no GameMaker passo a passo: preço em alto nível, interface, GML e GML Visual e o caminho do seu primeiro jogo simples, sem enrolação.
Aprender como fazer jogo no GameMaker é um dos caminhos mais rápidos para sair da intenção e chegar num jogo 2D rodando na tela. A engine existe há décadas, foi usada em jogos comerciais enormes como Undertale e Hyper Light Drifter, e tem uma proposta clara: tirar da sua frente a parte difícil de infraestrutura e te deixar focado em sprite, lógica e level design. Neste guia você vai entender como a engine funciona, o que é de graça e o que é pago em alto nível, e o passo a passo conceitual do seu primeiro jogo simples.
Se você ainda está na fase anterior, decidindo se essa é a engine certa, dá uma olhada no post sobre se vale a pena aprender GameMaker e na comparação entre Godot e GameMaker. Aqui a premissa é que você já quer colocar a mão na massa.
Quanto custa: o modelo de preço em alto nível
Primeira boa notícia: dá para começar hoje sem gastar nada. O GameMaker tem uso gratuito para quem está aprendendo e desenvolvendo projeto não comercial. Ou seja, todo o caminho deste guia, instalar, criar projeto, fazer o jogo, testar, acontece de graça.
O dinheiro entra quando você quer vender. Para publicar comercialmente em plataformas como a Steam, é preciso ter uma licença paga, e para consoles existe um nível de licença à parte, pensado para estúdios. Os valores e os detalhes de cada plano mudam de tempos em tempos, então não vou cravar números aqui: antes de comprar qualquer coisa, confira a página oficial de preços do GameMaker. Para o seu momento atual, o resumo é simples: aprender e prototipar custa zero, e isso é tudo que você precisa agora.
Entendendo a interface: sprites, objects, events e rooms
O GameMaker organiza tudo em volta de quatro ideias. Entendeu as quatro, entendeu a engine.
Sprite é a imagem. O desenho da nave, da moeda, do chão. Sprites podem ter vários frames e virar animação, e o editor de imagem embutido quebra um galho para placeholder, embora a maioria das pessoas desenhe fora, num Aseprite da vida, e importe.
Object é o molde de comportamento. Um object normalmente aponta para um sprite e carrega a lógica: o que acontece quando ele nasce, a cada frame, quando colide com algo. É aqui que o jogo de fato acontece.
Event é o gatilho da lógica dentro de um object. Os mais usados são o evento Create, que roda uma vez quando a instância nasce, o evento Step, que roda a cada frame do jogo, e os eventos de colisão, que rodam quando a instância encosta em outra. Existem eventos para teclado, mouse, timer e desenho, mas com Create, Step e Collision você já faz um jogo inteiro.
Room é a fase, a tela onde as instâncias dos objects são posicionadas. Todo jogo de GameMaker é uma sequência de rooms: menu, fase 1, fase 2, tela de game over.
Um detalhe de vocabulário que confunde iniciante: object é o molde, instance é cada cópia viva dele dentro da room. Você define o object moeda uma vez e espalha trinta instances dele pela fase.
GML e GML Visual: os dois jeitos de programar
Para dar vida aos objects, o GameMaker oferece dois caminhos. O GML Visual é programação por blocos encaixáveis: você arrasta ações como "mover para a direita" e "destruir instância" e monta a lógica sem digitar código. É ótimo para perder o medo nos primeiros dias.
O GML, GameMaker Language, é a linguagem de script da engine. A sintaxe lembra JavaScript e é considerada uma das linguagens de engine mais amigáveis para iniciante. A recomendação honesta: use o visual na primeira semana se precisar, mas migre para GML o quanto antes. Tudo que é tutorial avançado, fórum e exemplo da comunidade vive em GML, e a linguagem de verdade te destrava muito mais rápido do que parece. Para dar o gostinho, mover uma instância para a direita quando a seta está pressionada é isto:
if (keyboard_check(vk_right)) {
x += 4;
}
Duas linhas, legíveis até para quem nunca programou. É esse o nível de barreira de entrada.
Antes do passo a passo, um parêntese importante. Dá para aprender tudo isso sozinho, pulando de vídeo em vídeo. O problema é que aprender sozinho costuma significar meses coletando tutorial sem nunca fechar um jogo, sem saber o que estudar depois, sem ninguém para olhar seu projeto e dizer o que está travando. Se a sua meta é virar game dev de verdade, com jogo publicado e portfólio andando, o que muda o jogo é ter um caminho estruturado e acompanhamento de quem já fez esse percurso, em vez de montar o mapa às cegas.
Como fazer jogo no GameMaker na prática: passo a passo
Vamos ao primeiro jogo. A receita abaixo serve para os dois clássicos de iniciante, a nave que atira ou o personagem que coleta moedas. Vou usar o coletor de moedas como fio condutor, apontando onde a versão da nave muda.
Passo 1: crie o projeto e os sprites
Crie um projeto novo em branco. Depois, crie três sprites: o jogador (um quadrado colorido serve perfeitamente), a moeda e, se quiser um desafio, um inimigo. Não gaste tempo com arte agora. Placeholder feio que funciona vale mais que arte linda num jogo que nunca roda. Arte boa entra depois que a mecânica diverte.
Passo 2: crie o object do jogador
Crie um object, associe a ele o sprite do jogador e adicione um evento Step. Nele vai a lógica de movimento: se a seta direita está pressionada, soma na posição horizontal; esquerda, subtrai; mesma ideia no eixo vertical. Em GML isso são quatro condicionais de duas linhas, no espírito do exemplo que mostrei acima. Na versão da nave, o movimento costuma ser só horizontal, e um evento de teclado dispara o tiro criando uma instância de projétil.
Coloque o object na room, aperte o botão de rodar e teste. Esse ciclo curto, mexeu, rodou, testou, é o maior superpoder do GameMaker. Use sem moderação.
Passo 3: crie a moeda e a colisão
Crie o object da moeda com o sprite correspondente. Agora, no object do jogador, adicione um evento de colisão com a moeda. A lógica do evento: destruir a instância da moeda encostada e somar um ponto numa variável de placar. Em GML, destruir o outro lado da colisão e pontuar é algo assim:
instance_destroy(other);
score += 1;
A variável other dentro de um evento de colisão representa a instância com quem você colidiu. Na versão da nave, a mesma ideia vale para o projétil que colide com o inimigo.
Passo 4: monte a room e espalhe as moedas
Abra a room, posicione o jogador e espalhe dez ou quinze instances de moeda pelo cenário. Rode o jogo. Se andar com as setas e as moedas sumirem ao toque, parabéns: você tem a espinha dorsal de um jogo funcionando.
Passo 5: mostre o placar e feche o loop
Um jogo precisa que o jogador veja o progresso. Adicione um evento de desenho de interface no jogador, ou num object controlador separado, e desenhe o valor do placar na tela. Depois feche o loop de gameplay: quando todas as moedas acabarem, mostre uma mensagem de vitória ou troque para uma room de parabéns. Se tiver criado o inimigo, faça a colisão com ele reiniciar a room. Pronto: começo, meio e fim. Isso é um jogo completo, por menor que seja.
Passo 6: termine e mostre para alguém
Esse passo não é técnico, mas é o mais importante. Exporte ou grave um vídeo e mostre o jogo para alguém. A sensação de ver outra pessoa jogando algo que você fez é o combustível que sustenta a caminhada, e o feedback de jogador real, mesmo num jogo de quadrados coloridos, ensina mais que dez tutoriais.
Próximos passos depois do primeiro jogo
Com o primeiro projeto fechado, o caminho natural é subir um degrau de cada vez: um jogo de plataforma com gravidade e pulo, depois algo com inimigos que se movem, depois menus e sons. Resista à tentação de começar o RPG dos sonhos no segundo projeto. Cada jogo pequeno terminado te ensina o ciclo completo, e é o ciclo completo que forma game dev, não o tamanho do projeto.
Sobre estudar por conta ou com apoio, cada rota tem custo: a solo custa tempo e risco de desistência, a estruturada custa dinheiro. Se estiver pesando investir em formação, o post sobre se curso de GameMaker vale a pena ajuda a fazer essa conta com frieza.
O resumo de tudo: o GameMaker te deixa fazer jogo de verdade já na primeira semana, de graça, com uma linguagem amigável e um ciclo de teste instantâneo. A distância entre você e o seu primeiro jogo não é talento nem dinheiro. É sentar hoje, criar um quadrado que anda, e não parar no passo 2.
Perguntas frequentes
O GameMaker é de graça?
Dá para usar o GameMaker gratuitamente para aprender e desenvolver projeto não comercial. Para vender o seu jogo em plataformas como a Steam, é preciso ter uma licença paga, e consoles têm um nível de licença próprio, voltado a estúdios. Os valores mudam com o tempo, então confira sempre a página oficial de preços antes de decidir.
Preciso saber programar para fazer jogo no GameMaker?
Não para começar. O GameMaker oferece o GML Visual, um sistema de blocos encaixáveis que monta a lógica sem digitar código. Só que a linguagem própria, o GML, é simples e muito mais flexível, então a recomendação honesta é usar o visual nos primeiros dias e migrar para GML assim que possível.
O que dá para fazer no GameMaker?
O GameMaker é especializado em jogos 2D: plataforma, ação, puzzle, RPG de visão de cima, roguelike, jogo de tiro. Jogos comerciais famosos do gênero foram feitos nele, como Undertale e Hyper Light Drifter. Para 3D ele não é a ferramenta certa, aí o caminho é Godot, Unity ou Unreal.
Qual a diferença entre sprite, object e instance no GameMaker?
Sprite é a imagem, o desenho em si. Object é o molde que define comportamento: variáveis, eventos e código. Instance é cada cópia viva de um object colocada dentro de uma room. Você desenha o sprite uma vez, define o object uma vez e pode espalhar quantas instances quiser pelo jogo.
Quanto tempo leva para fazer o primeiro jogo no GameMaker?
Um jogo realmente simples, tipo coletar moedas fugindo de um inimigo, sai num fim de semana seguindo um tutorial. O erro clássico é começar pelo jogo dos sonhos: comece com um projeto de escopo minúsculo, termine, e só então aumente a ambição no projeto seguinte.

