Tutorial Game Maker: Olá Mundo "Interativo"

placeholderantigo

GameMakerLogoOlá pessoal, é com grande prazer que contamos com a primeira participação de um leitor aqui no Abrindo o Jogo. O Luis Otávio nos enviou um tutorial base sobre o Game Maker. Muito interessante para quem quer iniciar no desenvolvimento de jogos de uma maneira fácil e intuitiva. Vamos conferir.

Olá pessoal, meu nome é Luis Otávio e trago este artigo onde mostrarei como começar na programação de jogos usando o Game Maker. O Game Maker é um motor (Engine) desenvolvido para facilitar a criação de jogos de qualquer tipo. Com ele podemos fazer um Pac-Man ou até um Mega Man. Este motor também permite a criação de jogos 3D simples, porém para criar jogos mais complexos, como Age of Empires, você precisará dominar a linguagem do motor, denominada GML (Game Maker Language), não abordada neste meu primeiro tutorial por motivos didáticos.

Inicialmente vocês criarão jogos usando o sistema Drag and Drop (Arraste e Solte) que o Game Maker oferece.

Bom, para começar você precisa fazer o download do programa, ele pode ser baixado no endereço yoyogames.com. A instalação é bem simples, utilize a versão gratuita, apesar de possuir algumas limitações, nos possibilitará fazer jogos bem interessantes. A tela inicial do programa é mostrada abaixo:

Tela Inicial do Game Maker

Tela Inicial do Game Maker

Eu farei uma rápida introdução sobre a interface do programa, falando apenas sobre o necessário para o entendimento básico do Game Maker.

  • Sprites
    • Nesta pasta você colocaráa as imagens dos personagens, itens e qualquer outra imagem que representara algo interativo no jogo.
  • Sounds
    • Aqui irá os sons e musicas do jogo.
  • Backgrounds
    • Nesta pasta você carregará os fundos de cenários e imagens que não são interativas no jogo, tais como logos, fundos de menus etc.
  • Fonts
    • Nesta pasta você poderá colocar as fontes (tipos de letras) que serão usadas em seu jogo.
  • Objects
    • Esta é sem duvidas uma das pastas mais importantes, é nela que fica tudo que for interativo no jogo é aqui que fica o funcionamento do jogo.
  • Rooms
    • Aqui é onde ficam as salas do jogo, isso pode ser entendido como o local onde ficam a fase, a tela de game over ou a tela de título.

Para adicionar algum dos itens listados acima, você deve clicar com o botão direito sobre a pasta e selecionar Create. Vamos começar por Create Sprite.

Create Sprite

Create Sprite

Logo surgirá a tela Sprite Properties (Propriedades do Sprite) como mostra a figura abaixo.

Load Sprite

Load Sprite

Por enquanto não entrarei em detalhes sobre as propriedades do sprite, isto será abordado em um outro artigo. Vamos apenas clicar em Load Sprite, abrirá então uma janela de seleção de arquivos, selecione uma imagem qualquer para representar um personagem do jogo. Após selecionada a imagem, clique em ok. Repita o processo para selecionar um sprite que represente um obstáculo em nosso jogo, pode ser um cubo ou qualquer imagem que você preferir. Se você fez tudo certinho, veremos uma tela como a demonstrada abaixo.

Create Object

Create Object

Por enquanto estes sprites não são nada além de imagens, ou seja, eles ainda não representam nada dentro do jogo, são apenas imagens que serão enviadas para a memória assim que o jogo iniciar. Para dar vida a nosso personagem, devemos criar um novo Object, utilizando o mesmo procedimento anterior, um clique com o botão direito sobre a pasta Objects. Ao selecionar Create Object, a janela abaixo será apresentada.

Propriedades do Objeto

Propriedades do Objeto

Na janela de propriedades do objeto, você pode perceber que existem vários botões e abas, mas não se assuste, não será necessários ver todos eles neste momento. Bom, seguindo com a criação do personagem, na janela de propriedades do objeto, clique no botão na parte superior esquerda, referente a Sprite (marcado com um círculo verde), em seguida, selecione o que corresponde ao personagem. Agora temos um objeto com aparência, porém sem ação alguma. Para inserir movimento em nosso personagem, devemos clicar no botão Add Event, destacado na imagem acima com um círculo vermelho. As opções de ações serão apresentadas em uma nova janela, demonstrada abaixo.

Seletor de Eventos

Seletor de Eventos

Novamente não se assuste com a quantidade de ações, vamos nos deter apenas na opção Keyboard. Com isto, estaremos adicionando um evento que verificará se uma respectiva tecla está sendo pressionada. Quando você clicar no botão keyboard surgirá uma lista de teclas que podem ser verificadas, como na imagem abaixo.

Lista de Teclas

Lista de Teclas

Selecione a opção <Left> (seta para a esquerda), desta forma, você adiciona um evento que ouvirá quando tecla for pressionada. Agora devemos vincular uma ação a este evento. Para isto, observe no canto superior direito da janela propriedades do objeto, na área que corresponde a movimento (Move), o primeiro botão (destacado em vermelho). Arraste-o para a parte em branco, correspondente a actions, marcada com um retângulo vermelho na figura abaixo.

Propriedades do Objeto

Propriedades do Objeto

Assim que você soltar a ação selecionada, surgirá uma janela como a mostrada na imagem abaixo.

Moved Fixed

Move Fixed

Esta janela correspondente a ação Move Fixed. Esta ação faz com que o objeto se mova na direção e velocidade definidas nos campos correspondentes.

A próxima etapa será criar uma sala para testar o nosso objeto. Clique na pasta Rooms com o botão direito e selecione Create Room para criar uma nova sala, acionando a janela Room Properties, como demonstrado na imagem abaixo.

Create Room

Create Room

Na janela propriedades da Room, você pode visualizar várias abas na parte superior esquerda, mas não entrarei em detalhes sobre todas, apenas a Objects. Clique no botão destacado para selecionar o objeto atual que será adicionado a sala. O próximo passo será adicionar seu personagem no mapa, para isto clique com o mouse sobre o local desejado na grade. Pronto, agora é só testar!

Para publicar/compilar seu jogos, basta clicar no botão de play verde na parte superior da interface.

Publicar/Compilar seu jogo

Publicar/Compilar seu jogo

Assim que seu pseudo jogo começar, você poderá teclar seta para a esquerda e perceber o personagem movendo-se. Caso ocorra algum problema, revise o artigo até esta etapa. Se tudo funcionar direitinho, é horas de exercitar um pouco, faça seu personagem se movimentar também para as direções Direita <Right>, Cima <Up> e Baixo <Down>.

Conseguiu? Então vamos adicionar agora algum obstáculo para o personagem, clique com o botão direito sobre a pasta Objects e crie um novo objeto, marque-o para usar o Sprite correspondente ao obstáculo. Desta vez , marque a opção Solid , isso fará com que o objeto seja sólido.

Propriedades do Objeto Obstáculo

Propriedades do Objeto Obstáculo

Apesar de estar marcado como sólido, o objeto ainda não representa um obstáculo para o personagem, isto ocorre porque não há ninguém detectando (ouvindo) a colisão. Sendo assim, precisamos adicionar um evento que verifica se objetos colidiram. Para isto, abra novamente seu personagem, adicione um novo evento clicando em Add Event e selecione Collision. Como demonstrado na imagem abaixo, surgirá uma lista com os objetos, marque o object1, referente ao obstáculo.

Adicionando Colisão

Adicionando Colisão

Após o evento de colisão ser adicionado, temos que vincular uma ação a ele. O processo será bem similar aos anteriores, porém ao invés de selecionar uma direção, você deve clicar no centro do direcional, além de configurar a velocidade para zero, observe na imagem abaixo.

Colisão com o obstáculo

Colisão com o obstáculo

Com isso você já tem um ambiente bem simples, monte um pequeno cenário, com o personagem no centro e vários obstáculos para experimentar. Após a sala criada, é só clicar no play para ver o resultado.

Bom, por enquanto é só, tente fazer outras modificações em seu pseudo jogo e vá tentando entendê-lo aos poucos, não tente fazer coisas muito complicadas sem primeiro entender o simples. Se você pretende ser um desenvolvedor de jogos, precisará aprender que só se pode passar para coisas mais complexas quando as simples estiverem completamente dominadas, falando em linguagem de games, jogue primeiro no Easy para depois experimentar o Hard ;) .

Um grande abraço a todos do Abrindo o Jogo.

Luis Otávio

Autor: Everton Vieira Ver todos os posts de
Sou Bacharel em Análise de Sistemas pela Universidade Católica de Pelotas (UCPel) no ano de 1999. Minha paixão por games é de longa data. Porém, em 2003 tornei essa paixão uma profissão. Durante oito anos atuei como Game Designer e Arquiteto de Software em mais de 30 projetos de Serious Games (simuladores) para grandes empresas do país. Atualmente sou sócio-fundador da Izyplay Game Studio, onde exerço o cargo de Diretor de Criação. Além do envolvimento corporativo, também participei da organização da Pós Graduação em Arquitetura e Desenvolvimento de Jogos Digitais na FATEC SENAC Pelotas. Minha área de interesse e especialização é Game Design e Inteligência Artificial.

37 Comentários em "Tutorial Game Maker: Olá Mundo "Interativo""

  1. Rogério Kund Natusch Filho 02/11/2010 at 13:52 - Reply

    Parabéns Luis Otávio, tutorial muito bem explicado, também comecei a criar jogos com o game maker, hoje já dominei o programa e a linguagem (GML), Já fiz de tudo com o GM desde 2D, 3D até programas, Aconselho a todos que querem começar que sigam por este caminho , tenho 15 anos e moro aqui em pelotas.
    Abraço a todos e boa sorte com seus projetos.

    • Alex 11/06/2013 at 14:49 - Reply

      eu moro em pelotas tbm to começando agora ^^

  2. Regis Machado 06/11/2010 at 20:41 - Reply

    Bha muito legal o post Otavio…

    O GM eh uma engine incrivel considerando o que pode ser feito nela de acordo com o que ela se propoe a fazer.. eh algo que supera as expectativas do desenvolvedor com o passar do tempo..

    Muito show..

    Cade tu que não tas junto de nós colaborando com um poukinho do que sabe???

  3. rafael 02/11/2011 at 00:44 - Reply

    o q eu faço no caso tipo meu boneco esta virado para a direita dai se eu por no jogo ele vai virar pra esquerda (reverte a imagem)
    ou vo ter q reverte-la primeiro

    • Luis Otávio 03/11/2011 at 00:49 - Reply

      Olá Rafael. Não você não precisa inverter a imagem antes, você pode fazer isso dinamicamente. Para isso você deve adicionar uma peça de código na ação onde o personagem irá virar-se. Na execução a imagem do personagem ira inverter, para isso adicione a seguinte linha imagem_xscale = -1; Com isso a imagem será invertida, para voltar ao sentido normal mude o valor para 1. Espero ter ajudado, qualquer duvida é só postar ;)

      • Luis Otávio 03/11/2011 at 13:04 - Reply

        O corretor ortografico do browser modificou a linha de codigo, o correto é image_xscale.

  4. eduardo 23/03/2012 at 10:23 - Reply

    eu queria saber como faz para que o backgorund continue ..porque o personagem continua andando e sai da tela

    • Luis Otávio 23/03/2012 at 11:43 - Reply

      Olá Eduardo, acredito que você esteja se referindo a correr a tela (Side scrolling), que é como se tivéssemos uma câmera acompanhando o personagem. Isso não é tão simples de explicar aqui, mas basicamente o que deve ser feito é, fazer a view_port atual da room acompanhar a posição do personagem. Não sei se ficou tão claro para você, mas em seguida estarei criando um post sobre isso explicando detalhadamente. Um abraço.

  5. Luis Otávio 23/03/2012 at 14:56 - Reply

    Aproveitando a ultima pergunta criei um novo post exatamente sobre side scrolling no game maker, eu já enviei para o abrindo o jogo em seguida estará no ar. Outra coisa pessoal, agora o abrindo o jogo conta com um fórum próprio, inclusive tem uma área só para game maker, as duvidas podem ser postadas lá, segue o link: http://forum.abrindoojogo.com.br/viewforum.php?f=24

  6. Ricardo 16/07/2012 at 18:38 - Reply

    Olá
    Eu gostaria de saber como é que se faz um card game simples. Como por exemplo “to draw / shuffle…”.
    Será que isto é possivel na versão free?
    Eu penso que para fazer isto é necessário códigos.

    • Otávio Ortiz 11/08/2012 at 14:17 - Reply

      Olá Ricardo, desculpe a demora estou trabalhando muito. Até seria possível fazer um card game sem código, porem não recomendo, primeiro porque te daria muito mais trabalho do que se codificasse, segundo que seria fácil perder o controle de fluxo do game, contudo seria sim possível fazer na versão free do GM. Para fazer um card game basicamente você cria a configuração de cada carta a armazena em uma lista que será sorteada, após o sorteio se aplica as regras do jogo de carta que você pretende fazer. Basicamente é isso, para ser mais claro precisaria de um ou mais posts, se você ainda ficar com duvidas ou quiser requisitar um tutorial poste, que assim que eu arrumar tempo terei prazer em ajudar.

  7. Jober 27/08/2012 at 03:30 - Reply

    Ae pessoal eu sou antigo nisto to fasendo um jogo de zumbi muito legal me add no msn q enssino o q tiverem precisando ae ok vlw flw aw.

  8. Jober 27/08/2012 at 03:31 - Reply

    Meu msn Joberage@hotmail.com na hora q manda msg pra add colocar qm e i o por q

  9. C£rberus 15/09/2012 at 15:05 - Reply

    Adicionem-me se quiserem fazer uma colaboração para criar-mos um bom jogo. Também sou bom em webdesign e posso fazer home page’s para jogos :) !
    MSN: cerberus_wc@hotmail.com

  10. hiago 09/02/2013 at 21:23 - Reply

    tem como criar um jogo di yugioh com esse programa aguardo resposta!!!

    • Otávio Ortiz 01/04/2013 at 13:46 - Reply

      Olá Hiago! Tem sim, vou ver se consigo um tempinho para postar um tutorial sobre isso, você não é o primeiro que faz esta pergunta. Por enquanto você pode seguir as dicas do forum yoyogames para card game, segue o link: http://gmc.yoyogames.com/index.php?showtopic=354873

      Abraço!

  11. Ghost 27/05/2013 at 19:36 - Reply

    Oi gostaria de saber que tipo de curso ou faculdade para criação de jogos eu poderia fazer mas lembrando que eu não tenho nenhuma experiencia na criação de jogos mais gostaria muito de iniciar uma carreira na área de gamedesign sei que é um caminho longo e dificil más vou me esforçar ao maximo.

    • Everton Vieira 27/05/2013 at 22:34 - Reply

      Olá Ghost,
      Não há faculdades de Game Design no Brasil e, mesmo lá fora, são muito poucas. Dentre as várias opções de cursos de graduação para esta área, aconselho fazer algum relacionado a “arte”. Dentre as áreas relacionadas a games, acho que cinema, design, artes plásticas, entre outras, servirão bem para aperfeiçoar as suas habilidades. Mas, sugiro ler muito sobre o tema durante o curso para direcionar bem os seus estudos.

      Lembrando que Game Design é Projeto de Jogo e não tem relação com Design Gráfico.

  12. Pedro 12/06/2013 at 23:13 - Reply

    Sou administrador de um fórum sobre Game Maker, chama-se: Game Maker Brasil. Embora estejamos migrando para um novo servidor e domínio (basicamente do zero), o fórum anterior tem muito conteúdo e continuará ativo.

  13. andre filgueira 15/07/2013 at 17:57 - Reply

    ola estou fazendo um jogo de zumbi, preciso que alguém me ajude, como faço pra limitar a quantidade de munição e quando eu atirar a munição vai acabando, e durante o jogo vou pegando mais munição, e como faço para os zumbis seguir o play quando ele se aproxima, só mais essa como faço também para quando eu atirar x de vezes o zumbi morrer. obs. todos os comando precisam ser no estilo click e arrasta pois eu não entendo de códigos obrigado !!!!!

  14. andre filgueira 15/07/2013 at 17:58 - Reply

    me desculpem esqueci de dizer que estou fazendo o jogo com o game maker !!!

  15. Otávio Ortiz 06/08/2013 at 11:56 - Reply

    Olá Andre! Cara todas as tuas duvidas estão ligadas, se você conseguir fazer uma destas coisas você conseguirá todas as outras o ponto está nas variáveis, oque você precisa é entender como trabalhar com variáveis. Porém não tem como eu te responder aqui, porque é um assunto meio extenso, mas vamos fazer o seguinte, este mês vou postar um novo tutorial aqui no abrindojogo mostrando como trabalhar com variáveis.
    Grande abraço!

  16. Gisa 21/09/2013 at 19:09 - Reply

    Luis Otávio como faço para deixar o personagem fixo, do tipo, andar apenas quando eu pressionar e parar quando eu n estiver pressionando nenhuma tecla?

    • Otávio Ortiz 27/09/2013 at 19:46 - Reply

      Olá Gisa! para fazer isso você precisa adicionar um evento “Key Release” selecionando a tecla que será utilizada. Este evento representa o soltar de uma tecla. Como ação você deve adicionar um “move fixed” com velocidade 0. Espero ter ajudado, abraço!

  17. Igor Turtera 18/03/2014 at 12:01 - Reply

    Bom dia Otávio, muito obrigado pelo tutorial, realmente está sendo de grande ajuda!
    Estou de todo modo tentando fazer um jogo tipo “Super Trunfo” no software, não estou tentando fazer nada complicado. Porém preciso do ‘norte’ pra saber como fazer com que o programa veja que o campo escolhido da carta “x” é maior do que o da carta “y”, fazendo com que a carta “y” vá para o jogador vencedor.

    Grato!

  18. Pablo 26/01/2015 at 20:41 - Reply

    Boa Noite!
    Bom, eu ja fiz um curso de games utilizando o GM e sou formado na area, cursei tbm na SAGA School of Art, Games and Animation!
    Gostaria de saber se tem como criar um game, tipo yugioh no Game Maker!
    Aguardo resposta,
    Obrigado!

  19. moroni 26/03/2015 at 11:05 - Reply

    Bom , gostei
    Mais eu queria saber se no Game Maker é possível criar games que exircite o desenvolvimento de uma criança
    Como por exemplo
    De matemática ou formação de palavras
    É possível no game maker ??

    • Luiz Nörnberg 27/03/2015 at 09:53 - Reply

      Olá Moroni! Dá sim. O GameMaker, a exemplo de outros softwares de criação de jogos, permite praticamente qualquer mecânica. Existem outros editores de jogos por ai – vale a pena pesquisar. Como as mecânicas que você cita são bem simples, é possível achar editor ainda mais fáceis de usar que permitirão estas mecânicas. Cito o Construct2, concorrente do GameMaker, considerado por muitos mais simples. Tem tutoriais em português aqui.

  20. Thiago 29/05/2015 at 08:43 - Reply

    . Eu ja o uso a bastante tem e realmente ele é muito bom, meu ultimo jogo foi um de futebol, uma ferramenta incrivel mesmo vejam o resultado do jogo, tem inclusive replay e melhores momentos ao final da partida.

    https://www.dropbox.com/s/ejss4t2y27kgi0m/Mega%20soccer%20Lite.exe?dl=1

  21. Danielle Batista 21/09/2015 at 06:57 - Reply

    Bom Dia

    Iniciei o desenvolvimento de um jogo.
    No meu jogo após atingir uma certa pontuação preciso que o joga vá para próxima tela.
    Como faço poderia me ajudar.

    Att.,
    Danielle

    • Uederson 28/10/2015 at 12:04 - Reply

      Não sei se já conseguiu solucionar isso, mas é só vc fazer o seguinte:

      associe a pontuação a alguma variável, como “pontuacao” por exemplo.
      Depois faça (digamos que a quantidade de pontos para passar de fase seja 100):

      if pontuacao == 100
      {
      room_goto_next();
      }

      Espero ter ajudado!

  22. Uederson 28/10/2015 at 11:59 - Reply

    Ótima plataforma! Muito fácil de usar! Já criei dois jogos nela e um deles pode ser jogado online aqui -> uederson.5gbfree.com

  23. Richard 11/07/2016 at 12:56 - Reply

    olá,eu queria fazer uma pergunta como fasso para a vida continuar na tela,tipo o meu personagem anda pelo cenario e a camera seque ele mas a vida,pontos n sequem ele ficam parados, esperando resposta e obrigado por ler..

Deixar um Comentário