Criar game com gravidade em planeta no construct 2

Criar jogos que envolvem alterações de gravidade são desafios interessantes, e o resultado normalmente agrada o público. Podemos considerar que é um diferencial sair dos estilos básicos de games (plataforma, nave, puzzle). Veja Criar game com gravidade em planeta no construct 2.

Esta aula faz parte de uma série de aulas referente a mecânicas de gravidade em construct 2. Teremos gravidade simples como a dentro da água e inverter gravidades, e também teremos algumas mais elaboradas como gravidades em planetas e espaço, com campos gravitacionais.

Lista de vídeos da série

Lista vídeos - série gravidade
Lista vídeos – série gravidade

Nesta aula apresento 1 exemplo de game com gravidade em planeta, na próxima aula teremos uma outra forma apresentada.

Para isto utilizaremos a ferramenta Construct 2, que pode ser baixada pelo site Scirra
E imagens free do site www.kenney.nl, (e algumas imagens baixadas do buscador de imagens do google).

Criar game com gravidade em planeta no construct 2

Cenário game gravidade em planeta
Cenário game gravidade em planeta

Colocaremos um planeta no centro do layout e algumas rochas para que colidir com o personagem. Termos satélites em órbita no planeta para colidir quando o personagem pular.

Roteiro da aula

  • – Layout

Para este tipo de mecânica utilizaremos manter a gravidade do personagem no centro do layout, e vamos girar o angulo do layout para fixar o personagem sempre no mesmo lugar. Para que isto funcione 100% o tamanho do layout deve ter altura e largura iguais (o layout deve ser quadrado)

  • – Cenário

Colocaremos um background, um planeta no centro do layout (validar os pontos de colisão do planeta), colocaremos algumas pedras na linha de ponto de colisão (pois é ali que o personagem irá passar).
O planeta deve ter o comportamento de Solid, pois o personagem será plataforma.

  • – Satélites em órbita

Vamos criar um efeito de órbita em objetos, para isto precisamos de um sprite que sirva de controle da órbita (pode ser um sprite qualquer pois ele ficará invisível na cena). Neste exemplo estarei utilizando 2 órbitas, pois quero um efeito de satélites para 2 direções diferentes. Nos sprites de órbitas colocaremos o comportamento de ROTATE (e na propriedade de velocidade ajustaremos para 20 em um deles e -25 para o outro, isto fará que que um gire para um lado e o outro gire para o outro lado e com velocidade um pouco diferente). Estes objeto deve ter seu ponto de origem também no centro do layout, ou muito próximo do centro.
Agora podemos incluir sprites com imagens de satélites, e nestes sprites colocar o comportamento de PIN. Ao inicializar o layout criamos um script para fixar eles no objetos orbita1 e orbita2 (como no script abaixo).

script pin construct

  • – Personagem

Utilizaremos um personagem com comportamento PLATFORM e uma movimentação com animações para Parado, Andando e Pulando. Para este tipo de mecânica o que muda no script do movimento do personagem é a ação de espelhar (mirrored) que é substituída pela ação de girar (Flipped). Esta mudança se dá pelo fato de que utilizaremos o angulo zero para os pés do personagem e não para a frente. Veja o script abaixo:

Script movimento personagem no planeta

  • Gravidade e rotação

Ajustaremos as propriedades do comportamento plataforma para que crie um efeito de baixa gravidade.

Propriedades da gravidade

– Criaremos um script responsável por manter a gravidade no centro do planeta e manter o cenário em movimento para que o personagem fique no centro da cena.

Script gravidade em planeta

– Por fim criaremos um script para as colisões do personagem com as pedras e os satélites.

Colisões

– Com isto temos um cenário com um planeta e satélites em órbita, nosso personagem anda sobre o planeta e o cenário gira deixando ele no centro da tela, para que pule desviando das pedras e dos satélites, com uma gravidade lunar (mais leve).

Veja a vídeo aula abaixo para acompanhar com mais detalhes.

Vídeo aula

Abraços
Maciel

Para receber atualizações assine nossa newsletter, e o canal no youtube: Canal Youtube

Siga nossas postagens nas redes sociais:
– Curta a Fanpage: Facebook
– Acompanhe nossas postagens no G+: Google Plus
– Receba atualizações pelo Twitter: Twitter