Ir ao conteúdo
  • Cadastre-se

Game Maker


angela

Posts recomendados

Crie seu jogo: passo a passo

Dificuldade: Fácil

Ferramenta: Game Maker 6

1. Introdução

Esta matéria é destinada a quem já sabe criar jogos em algum dos makers da Click Team, e já domina o movimento personalizado(custom), e agora quer criar também no Game Maker. Vamos fazer uma cópia do jogo feito na matéria do @lex. Como nela é usada a engine do próprio programa, utilizarei a engine de plataforma, feita pelo Cocão, e para entender os códigos é preciso saber movimento personalizado.

2. Obtendo Material

Vá na parte de SpriteSheets e Backgrounds da Gaming Brasil, e se ainda assim quiser mais veja a parte de resources do fórum(procure bem se não tem antes de pedir).

3. Abrindo o programa...

É aqui que aparece a grande diferença... Ao abrir o Game Maker, ele te pergunta se quer modo simples o avançado(advanced mode). Escolha o modo Advanced para não ficar enrolando... Aí quando o programa abre você dá de cara com um monte de pastas e fica perdido... Mas calma, não é tão complicado assim:

Sprites- O próprio nome já diz, é aqui que ficam os sprites, e não dentro dos objetos como nos da Click Team

Sounds- É aqui que ficam os sons

Backgrounds- É aqui que ficam os backgrounds. Note que Background no Game Maker é só enfeite, ou seja, os "backdrops" aqui são objetos

Paths- Esqueça essa pasta, até agora não usei...

Scripts- Aqui vão os scripts. Note que também podem ser criados scripts dentro dos objetos, e eles não ficam aqui

Fonts- Aqui ficam as definições de fontes, falarei melhor mais adiante

Time Lines- Esqueça dessa pasta também...

Objects- Aqui ficam os objetos, ou seja, players, obstáculos, etc

Rooms- Os rooms(do inglês, salas) são as fases, como os frames, só que eles são só as fases, e não o conjunto de tudo como nos da Click Team .

O primeiro room - tela de entrada

Criaremos três rooms, um sendo a tela de entrada, o outro a fase, e o outro o fim.

4.1 O primeiro room - fontes

Agora vamos fazer as fontes. Usaremos as mesmas fontes da matéria do @lex, ou seja, Arial 28 e Arial 16(cuidaremos das cores depois). O problema é que o Game Maker é meio chato, e cada fonte deve ser determinada individualmente. Isso é bem rápido, é só clicar com o botão direito em fonts e Add Font, e botar lá o que queremos.

4.2 O primeiro room - objeto

Como são os objetos que controlam as ações do jogo, criaremos um objeto só para carregar as ações do primeiro room. Fazemos ele clicando com o botão direito na pasta objects, e clicando em Add Object. Coloque seu nome como "tela de entrada" ou coisa assim.

Agora vamos fazer os eventos:

Clique em Add Event e coloque "Draw". Isso significa que a cada vez que for desenhar alguma coisa na tela vai fazer esse evento.

Agora clique na aba Control e clique e arraste o 'Execute a piece of code"(aparede ao colocar o mouse em cima dele) até o espaço em branco. Clique duas vezes no que aparecer ali e copie esse código na janela:

Código:

//Centralizar

draw_set_halign(fa_center);

//Muda para a fonte1

draw_set_font(fonte1);

//Muda para a cor branca

draw_set_color(c_white);

//Bota o texto na variável "texto"

texto = "Meu primeiro jogo"

//Escreve a variável texto nessas coordenadas

draw_text(320,140,texto);

//Muda para a fonte2

draw_set_font(fonte2);

//Muda a cor para amarelo

draw_set_color(c_yellow);

//Bota o texto na variável "texto", o símbolo # pula uma linha

texto = "Este e o meu primeiro jogo#Pressione enter para continuar"

//Escreve a variável texto nessas coordenadas

draw_text(320,240,texto)

Os // são os comentários. Note que não tem acentos, já que o Game Maker não os suporta...

Agora crie um evento press <Enter> e coloque Go to next frame

4.3 O primeiro room - o room em si

Clique com o botão direito na pasta rooms, e clique em Add Room. Isso vai adicionar um novo room, que será a tela de entrada.

Na aba objects, clique no retângulo cinza, e escolha o objeto "tela inicial".

Agora clique em qualquer lugar da tela do room, que ele será criado ali, seguindo o grid.

Nesse caso não importa a posição, já que os eventos dele não dependem das suas variáveis x e y.

Clique na aba settings e nomeie o room e o que vai aparecer no título da janela.

Na aba backgrounds, clique no retângulo ao lado de "Colors:" e escolha preto como a cor de fundo.

Note que no Game Maker, ao editar o room, nada disso aparece, só dá pra ver ao rodar o programa.

5.1 Room 2 - backdrops

Agora começa a ficar interessante... Esse room será a fase... Começaremos pela parte simples, os backgrounds.

Para criá-los, faça como os outros, clique com o botão direito na pasta e clique em Add background.

É muito tranquilo de fazer, e só carregar a figura e pronto. Tenha cuidado com o tamanho, e com o tamanho do grid, para evitar problemas para posicionar...

Para colocar no room, é só clicar em tiles, e escolher qual quer inserir. É bom tirar a opção "Delete underlying", que deleta os que ficarem embaixo do que você inserir. O mesmo vale para os objetos.

5.2 Room 2 - Obstáculos

Agora vamos fazer o chão e os blocos. Crie um sprite e um objeto para cada um. No objeto, clique no ícone ao lado do campo Sprite, e escolha.

Agora crie um objeto de nome "parent_blocos", ou coisa assim.

Em cada um dos objetos de blocos, clique no ícone ao lado da aba "parent" e escolha esse objeto.

O "parent" funciona como os qualifiers dos programas da Click Team.

Ative a opção "Solid" deles.

5.3 Room 2 - o player

Agora sim, finalmente o player. Crie um sprite do Mario parado(spr_parado), um dele andando(spr_andando, com várias imagens), um dele pulando(spr_pulando), e um dele caindo(spr_caindo), todos virados para a direita. Crie um sprite de um retângulo um pouco menor que a figura dele parado, para ser a máscara.

Agora crie o objeto do player, e coloque o sprite como o dele parado, e ao lado de mask escolha a máscara.

A parte a seguir é a engine do Cocão(com uma pequena modificação).

Crie o evento create(é como o "start of frame"), crie um script nele com esse código:

Código:

var_penochao = true

var_parado = true

var_direita = true

var_velocidade = 4

Assim determinamos as variáveis, se não dá problema

Crie o evento Step(passo em inglês, é cada ciclo do programa, como o "Always"), e crie os scripts:

Código:

//AÇÕES COM TECLADO

//SETA PARA DIREITA

if keyboard_check(vk_right) and not keyboard_check(vk_left)

{

var_parado = false

var_direita = true

if place_free(x+var_velocidade,y) x += var_velocidade

}

//SERA PARA ESQUERDA

if keyboard_check(vk_left) and not keyboard_check(vk_right)

{

var_parado = false

var_direita = false

if place_free(x-var_velocidade,y) x -= var_velocidade

}

//FAZER O PERSONAGEM PARAR CASO A SETA PARA DIREITA E SETA PARA ESQUERDA ESTIVEREM APERTADAS AO MESMO TEMPO

if (keyboard_check_released(vk_right or vk_left)) or (keyboard_check(vk_right) and keyboard_check(vk_left)) {var_parado = true}

//TECLA X (PULO)

if (keyboard_check_pressed(ord('X')) and var_penochao = true)

{

vspeed = -12

}

if (keyboard_check_released(ord('X')) and vspeed < 0) {vspeed /=2}

//TECLA Z (VELOCIDADE)

if (keyboard_check(ord('Z')))

{

var_velocidade = 6

image_speed = 0.5

}

else

{

var_velocidade = 3

image_speed = 0.25

}

Código:

//DEFINIÇÕES DE GRAVIDADE

if place_free(x,y+1)

{

var_penochao = false

gravity = 0.75

}

else

{

var_penochao = true

gravity = 0

}

//NÃO SAIR DOS LIMITES ESQUERDO E DIREITO DO ROOM

if (x+sprite_width/2 < view_xview) {x = view_xview-sprite_width/2}

if (x+sprite_width/2 > view_xview+view_wview) {x = view_xview+view_wview-sprite_width/2}

//LIMITAR VELOCIDADE DE QUEDA

if (vspeed > 10) {vspeed = 10}

Código:

//DEFINIÇÕES DE SPRITES

if var_penochao = true

{

if var_parado = false

{

if (var_direita = true) {sprite_index = spr_andando; image_xscale=1;} else {sprite_index = spr_andando; image_xscale=-1;}

}

else

{

if (var_direita = true) {sprite_index = spr_parado; image_xscale=1} else {sprite_index = spr_parado; image_xscale=-1}

}

}

else

{

if vspeed < 0

{

if (var_direita = true) {sprite_index = spr_pulando; image_xscale=1;} else {sprite_index = spr_pulando; image_xscale=-1;}

}

else

{

if (var_direita = true) {sprite_index = spr_caindo; image_xscale=1;} else {sprite_index = spr_caindo; image_xscale=-1;}

}

}

Código:

//Morrer se cair

if y > room_height {room_restart()}

Agora crie o evento collision parent_blocos(viu como foi útil?) e coloque o seguinte script:

Código:

move_contact_solid(direction,8)

vspeed = 0

Para completar, crie um objeto da estrela(que vai ficar no fim da fase) e crie o evento de collision, tanto faz ficar no mario ou na estrela, afinal os dois se colidem... crie esse evento, e coloque a aba main1 e "go to next frame".

Agora finalmente crie o room e coloque os objetos e backgrounds. Coloque o Width para 1500 e o Height para 480.

4.5 Scrolling

Para fazer scrolling(a tela seguindo o player), é só ir na aba views, ver na parte "Object following" e colocar lá o player, Botar Hbor(a borda horizontal) 320(a vertical não importa por enquanto), e o Hsp -1.

5. Room 3 - tela final

Faremos no mesmo esquema do primeiro room. Só que nos eventos do objeto "tela final" faça isso:

Draw:

Código:

//Centralizar

draw_set_halign(fa_center);

//Mudar para fonte2

draw_set_font(fonte2);

//Mudar para cor preta

draw_set_color(c_black);

//Botar o texto na variável

texto = "Parabens, voce terminou o jogo!"

//Escrever a variável

draw_text(320,240,texto)

//Mudar para a fonte padrão Arial 12

draw_set_font(-1);

//Mudar a variável

texto = "Pressione Enter para jogar novamente, ou ESC para sair"

//Escrever a variável

draw_text(320,340,texto);

E no evento press <Enter> bote go to room tela inicial.

Pode colocar também um backgroundo no room para ficar mais legal...

6. Finalizando

É isso aí, tá tudo pronto... Agora é só salvar o executável(file > Create executable) e pronto...

Citação:

Uh? Mas cadê os mapas, inimigos, itens, chefões...?

Se eu fosse colocar passo à passo como fazer um game completo com tudo isso, ficaria MUITA coisa que simplesmente tornaria a matéria ilegível e longa demais. Para fazer um game desses, é necessário experiência, e isso vem com o tempo.

Aproveite e baixe os tutoriais aqui da Gaming Brasil. Dá pra aprender bastante coisa em pouco tempo.

Divirta-se!

Qualquer dúvida é só falar!

post-76781-13884923142754_thumb.png

post-76781-13884923142981_thumb.png

post-76781-1388492314312_thumb.png

post-76781-13884923143367_thumb.png

post-76781-13884923143745_thumb.png

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

:confused:

queria fazer um jogo de helicoptero em que ele atirava missieis

como faço para ele soltar os missieis e tambem queria se um missil acertasse ele que a (health) diminuisse um pouco quando a vida acabasse ele explodisse

as sprites os sons e Background eu ja tenho pode responder no

[email protected]

qu:help: e como você aprendeu sobre os Scripts

que quiser sons sprites e backgrounds vai no Site http://www.yoyogames.com este é o site Game Maker pessoas deste site

criaram o Game Maker

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!