Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
angela

Game Maker

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

é muito legal já mexi com ele, mas achei bem complicado, acho q o RPG Maker também é uma otima pra quem está começando...

você conhece outros Editores/Criadore de games bons ????

tinha um 3D mas não lembro o nome agora....

abraçaum !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É bem complicado mesmo mexer com esse programa. Mas tenho um conselho: "fuce" bastante nele pois é muito bom mesmo, aí você vai aprendendo e se acostumando com o inglês. O RPG Maker é sim uma ótima opção, mas é indicado para outro tipo de jogo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

: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

Eduardoh_m_@hortmail.com

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×