A lógica do jogo de introdução ao Game Maker
Autor: Marcos Romero | Publicado: 2012-08-14T15:16:00-03:00


O objetivo desta postagem é comentar sobre a implementação do jogo de introdução ao Game Maker que disponibilizei no blog nesta postagem:

Iniciando no Game Maker

Vou manter o foco deste artigo apenas na lógica dos Eventos e Ações que estão dentro dos Objetos do jogo que são apenas quatro conforme a imagem abaixo:





É importante que esteja bem claro a diferença entre os termos "Objeto" e "Instância" dentro do Game Maker.


No Game Maker, quando você define um Objeto, ele representa um modelo que será usado para gerar várias Instâncias dentro do jogo. Por exemplo, neste jogo de introdução temos um único objeto que define o "Dinheiro". Mas durante o jogo podemos observar que o Dinheiro aparece em vários locais diferentes ao mesmo tempo na tela. Cada uma dessas aparições representa uma Instância do Objeto Dinheiro.&nbsp;


A lógica de um jogo feito no Game Maker é organizada na forma de Eventos e Ações. Os objetos são informados sobre os mais diversos Eventos que ocorrem durante o jogo podendo responder a certos Eventos através do uso das Ações.


Vamos começar analisando o objeto "jogador":






A imagem acima mostra as Ações que serão executados no momento da criação (Evento Create) de uma Instância do Objeto "jogador". São 3 ações, a primeira apenas inicia a música do jogo e as outras duas ações iniciam o Alame 1 com o valor 30 e o Alarme 2 com o valor 300.


Os Alarmes são Eventos que podemos utilizar para que sejam executados depois de um determinado período de tempo. Este jogo está usando o valor padrão do Game Maker de 30 passos (steps) por segundo. Este valor pode ser modificado nas propriedades da Room, aba Settings, campo Speed. Sendo assim, o Alarme 1 que contém o valor de 30 passos equivale a 1 segundo e é usado para criar uma nova Instância de Dinheiro. O Alarme 2 com o valor 300 equivale a 10 segundos e é usado para criar uma nova Instância de Pedra.


O Evento de Colisão com o Bloco pára o movimento do jogador, evitando que ele saia da área do jogo.


Os outros Eventos são relacionados ao teclado e movimentam o jogador para esquerda e para direita de acordo com a tecla pressionada. O Evento de teclado "no key" é acionado quando o jogador não pressiona nenhuma tecla.


O objeto "dinheiro" possui os seguintes Eventos:






No Evento Create, a instância do dinheiro é colocada em uma posição aleatória no topo da tela e dentro da área do jogo. Após isso é definido seu movimento que consiste apenas em ir para baixo com velocidade 6.


No Evento de colisão com o jogador, um som é tocado para indicar que o jogador coletou o dinheiro, depois a pontuação do jogador aumenta em 10 pontos e então esta instância atual do dinheiro é eliminada.


O último Evento do dinheiro é o "Outside Room" que é acionado quando a instância sai da tela. A única ação que é executada é a que elimina a instância do dinheiro.


O objeto "pedra" possui os seguintes Eventos:






Estes Eventos possuem Ações bem simples. Vou comentar apenas sobre o Evento de colisão com o jogador. Neste Evento a música do jogo é parada e um som indicando a Derrota é tocado, após isso é exibida uma mensagem de "Fim de Jogo" e também a Tabela de Pontos. Quando o jogador fechar a Tabela de Pontos o jogo será reiniciado.


O objeto "bloco" não possui Eventos.