GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Game Iniciante

5 participantes

Ir para baixo

Game Iniciante Empty Game Iniciante

Mensagem por desenvolvedorr Qua 06 Ago 2014, 16:07

Olá tudo bem?

Gostaria de uma força se possível, de uma Engine que o personagem movimentasse em 3 posições (esquerda, centro e direita) para desviar de objetos que caem nessas três posições aleatoriamente (random) e que a velocidade fosse aumentando para dificultar o desvio dos objetos, quando algum objeto colidisse com o personagem o jogo finalizava dando o score.

Desde já agradeço a atenção.
desenvolvedorr
desenvolvedorr

Data de inscrição : 06/08/2014
Reputação : 0
Número de Mensagens : 4
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por Lighter Qua 06 Ago 2014, 16:12

Gostaria de uma força se possível, de uma Engine que o personagem movimentasse em 3 posições (esquerda, centro e direita)
Centro ou Para cima? Especifique o tipo de jogo que vc esta desenvolvendo, Top-down (visão por cima), plataforma (jogos com gravidade)...
Lighter
Lighter

Games Ranking : Sem avaliações

Data de inscrição : 16/01/2014
Reputação : 31
Número de Mensagens : 317
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0

http://google.com

Ir para o topo Ir para baixo

Game Iniciante Empty Explicando melhor

Mensagem por desenvolvedorr Qua 06 Ago 2014, 16:58

Lighter escreveu:Gostaria de uma força se possível, de uma Engine que o personagem movimentasse em 3 posições (esquerda, centro e direita)
Centro ou Para cima? Especifique  o tipo de jogo que vc esta desenvolvendo, Top-down (visão por cima), plataforma (jogos com gravidade)...


Prezado,
Esta é a representação do jogo que estou querendo onde:
1 - Tecla Seta para esquerda o personagem pula para esquerda desviando das pedras.
2 - Tecla Seta para direita o personagem pula para direita desviando das pedras.
3 - As pedras vão caindo, aumentam de velocidade e são randomicas para dificultar o nivel.
4 - Se o desvio for bem sucedido aumenta o score, se não finaliza mostrando o score final.

obs.: o movimento do personagem é igual o do jogo "Timberman" para celular.

Game Iniciante E9ggi8
desenvolvedorr
desenvolvedorr

Data de inscrição : 06/08/2014
Reputação : 0
Número de Mensagens : 4
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por Lighter Qua 06 Ago 2014, 17:31

No timberman a movimentação do jogador é instantânea, então:

1 - Tecla Seta para esquerda o personagem pula para esquerda desviando das pedras.
2 - Tecla Seta para direita o personagem pula para direita desviando das pedras.
Step do Player
Código:
if keyboard_check_pressed(vk_right){ // se pressionar 'flecha' direita
 x+=10 // troque o 10 pela distancia que vc quer que ele 'pule'
}
if keyboard_check_pressed(vk_left){
 x-=10
}
// troque o 10 por quanto pixels vc quer que ele mova ao apertar a tecla

3 - As pedras vão caindo, aumentam de velocidade e são randomicas para dificultar o nivel.
4 - Se o desvio for bem sucedido aumenta o score, se não finaliza mostrando o score final.
Para fazer isso vamos fazer um contador de pedras para aumentar o nível, se a pedra bater no chão quer dizer que o player desvio, então aumentara a dificuldade;

Create da pedra
Código:
xx = irandom_range(0,room_width) // posição x da pedra gerara randomicamente

step da pedra
Código:
x = xx // posição da pedra será igual a posição gerada no create

if place_meeting(x,y,obj_chao){ // caso a pedra colida com o chão
 global.pontos +=1 // aumenta o pontuação
 instance_destroy()
}
vspeed := 10*pontos/10 // velocidade da pedra é diretamente proporcional a pontuação

Isso é uma base, esses códigos nem sempre são eficaz, existe formas melhores de você adapta-los esses algoritmos seu jogo.


Última edição por Lighter em Qua 06 Ago 2014, 18:35, editado 1 vez(es)
Lighter
Lighter

Games Ranking : Sem avaliações

Data de inscrição : 16/01/2014
Reputação : 31
Número de Mensagens : 317
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0

http://google.com

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por desenvolvedorr Qua 06 Ago 2014, 18:13

Lighter escreveu:No timberman a movimentação do jogador é instantânea, então:

1 - Tecla Seta para esquerda o personagem pula para esquerda desviando das pedras.
2 - Tecla Seta para direita o personagem pula para direita desviando das pedras.
Step do Player
Código:
if keyboard_check_pressed(vk_right){ // se pressionar 'flecha' direita
 x+=10 // troque o 10 pela distancia que vc quer que ele 'pule'
}
if keyboard_check_pressed(vk_left){
 x-=10
}
// troque o 10 por quanto pixels vc quer que ele mova ao apertar a tecla

3 - As pedras vão caindo, aumentam de velocidade e são randomicas para dificultar o nivel.
4 - Se o desvio for bem sucedido aumenta o score, se não finaliza mostrando o score final.
Para fazer isso vamos fazer um contador de pedras para aumentar o nível, se a pedra bater no chão quer dizer que o player desvio, então aumentara a dificuldade;

Create da pedra
Código:
xx = irandom_range(0,room_width) // posição x da pedra gerara randomicamente

step da pedra
Código:
x = xx // posição da pedra será igual a posição gerada no create

if place_meeting(x,y,obj_chao){ // caso a pedra colida com o chão
 global.pontos +=1 // aumenta o pontuação
 instance_destroy()
}
vspeed := 10*pontos/10 // velocidade da pedra é diretamente proporcional a pontuação

Isso é uma base, esses códigos nem sempre são eficaz, existe formas melhores de você adaptado esses algoritmos seu jogo.


OK - com a movimentação do personagem
Esta acontecendo o seguinte erro:

"
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of  Step Event0
for object obj_Arma:

Push :: Execution Error - Variable Get -1.pontos(100001, -1)
at gml_Object_obj_Arma_StepNormalEvent_1 (line 7) -     vspeed := 10*pontos/10 // velocidade da pedra é diretamente proporcional a pontuação
############################################################################################

"

Estou trabalhando com 3 objetos:
Obj_Explorador - Personagem
Obj_Arma - que são os objetos que caem
Obj_Chao - que é a base em que o personagem de movimenta

Além do erro o obj_arma não esta caindo esta parado.
desenvolvedorr
desenvolvedorr

Data de inscrição : 06/08/2014
Reputação : 0
Número de Mensagens : 4
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por Lighter Qua 06 Ago 2014, 18:33

anonimo escreveu:OK - com a movimentação do personagem
Esta acontecendo o seguinte erro:
altera todas as variáveis pontos por 'global.pontos', e no create do obj_explorador coloque 'global.pontos = 0'
Lighter
Lighter

Games Ranking : Sem avaliações

Data de inscrição : 16/01/2014
Reputação : 31
Número de Mensagens : 317
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0

http://google.com

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por desenvolvedorr Qua 06 Ago 2014, 18:50

Lighter escreveu:
anonimo escreveu:OK - com a movimentação do personagem
Esta acontecendo o seguinte erro:
altera todas as variáveis pontos por 'global.pontos', e no create do obj_explorador coloque 'global.pontos = 0'


O erro sumiu beleza, agora o obj_arma não cai. Continua parado.

Mais uma vez agradeço a atenção...
desenvolvedorr
desenvolvedorr

Data de inscrição : 06/08/2014
Reputação : 0
Número de Mensagens : 4
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por Lighter Qua 06 Ago 2014, 21:15

Altere o vspeed do obj_arma para vspeed= 5
Lighter
Lighter

Games Ranking : Sem avaliações

Data de inscrição : 16/01/2014
Reputação : 31
Número de Mensagens : 317
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0

http://google.com

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por fabert Qua 06 Ago 2014, 21:28

Lighter escreveu:Altere o vspeed do obj_arma para vspeed= 5

legal, fiz alguns testes.
o obj_arma depois que coloquei vspeed =5 cai uma vez e não volta a cair mais.
e tambem não está aparecendo o score na tela.
fabert
fabert

Data de inscrição : 28/07/2014
Reputação : 0
Número de Mensagens : 17
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por AxeInLine Qua 06 Ago 2014, 21:50

Hunm, já estou seguindo este tópico desde a sua criação, mas só agora vou ter coragem de mostrar a minha cara...
Como já percebi, o movimento do player já está pronto, então vamos ao "score" e ao objeto que fica caindo...
Primeiro, vamos programar o obj_arma...  Antes de tudo, crie um objeto e chame-o de o que quiser, neste exemplo vou chama-lo de objCtrl, no create dele:
Código:
alarm[0]=1;//este representa o tempo em que o obj_arma vai demorar para obter mais velocidade
alarm[1]=10;//este o tempo que ele é criado, ambos os valores podem ser modificados
global.velocidade=0.5;//esta é a velocidade do obj_arma
No evento "alarm0":
Código:
global.velocidade+=0.1;
alarm[0]=1;
No "alarm1":
Código:
instance_create(irandom_range(128,room_width-128),0,obj_arma);//ou o nome do obj_arma, substitua "128" o tamanho da sprite do objeto
Agora no obj_arma, no step:
Código:
vspeed=global.velocidade;
No evento de colisão com o chão:
Código:
instance_destroy();
Agora crie outro objeto, chame-o do o que quiser, eu o chamarei de objDraw.
No evento draw dele coloque isto:
Código:
draw_text(10,10,"Pontos; "+string(global.pontos));//Os dois 10 são as posições onde o texto será desenhado.
Caso não tenha feito nada para aumentar o valor da variavel pontos, coloque no evento creat do objDraw:
Código:
alarm[0]=1;//setei o alarm[0] deste evento como 1 step
No evento Alarm0:
Código:
global.pontos+=1;
alarm[0]=1;
Coloque estes outros objetos na room e fim...
Teste agora e veja se deu certo, se der, viva feliz! Happy
AxeInLine
AxeInLine

Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por fabert Qua 06 Ago 2014, 22:15

AxeInLine escreveu:Hunm, já estou seguindo este tópico desde a sua criação, mas só agora vou ter coragem de mostrar a minha cara...
Como já percebi, o movimento do player já está pronto, então vamos ao "score" e ao objeto que fica caindo...
Primeiro, vamos programar o obj_arma...  Antes de tudo, crie um objeto e chame-o de o que quiser, neste exemplo vou chama-lo de objCtrl, no create dele:
Código:
alarm[0]=1;//este representa o tempo em que o obj_arma vai demorar para obter mais velocidade
alarm[1]=10;//este o tempo que ele é criado, ambos os valores podem ser modificados
global.velocidade=0.5;//esta é a velocidade do obj_arma
No evento "alarm0":
Código:
global.velocidade+=0.1;
alarm[0]=1;
No "alarm1":
Código:
instance_create(irandom_range(128,room_width-128),0,obj_arma);//ou o nome do obj_arma, substitua "128" o tamanho da sprite do objeto
Agora no obj_arma, no step:
Código:
vspeed=global.velocidade;
No evento de colisão com o chão:
Código:
instance_destroy();
Agora crie outro objeto, chame-o do o que quiser, eu o chamarei de objDraw.
No evento draw dele coloque isto:
Código:
draw_text(10,10,"Pontos; "+string(global.pontos));//Os dois 10 são as posições onde o texto será desenhado.
Caso não tenha feito nada para aumentar o valor da variavel pontos, coloque no evento creat do objDraw:
Código:
alarm[0]=1;//setei o alarm[0] deste evento como 1 step
No evento Alarm0:
Código:
global.pontos+=1;
alarm[0]=1;
Coloque estes outros objetos na room e fim...
Teste agora e veja se deu certo, se der, viva feliz! Happy


Boa noite, que bom que apareceu pra ajudar  Laughing 
segui os passos corretamente, aparece o score corretamente, mais ele só fica aumentando e eu acho que o nosso amigo quer que cada obj_arma que o personagem consiga desviar conte como 1 ponto no score. fiquei curioso como faz isso.

a outra parte que tambem não está dando é o mesmo problema que estou enfrentando no meu game, o obj_arma cai só uma vez
e não fica caindo para o personagem desviar e contar os pontos.
o que está acontecendo no meu, é que ele cai, colide com o chão e destroi e não cria mais.
fabert
fabert

Data de inscrição : 28/07/2014
Reputação : 0
Número de Mensagens : 17
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por AxeInLine Qua 06 Ago 2014, 22:32

(sou tão importante assim para você?) O_O Agora que notei que o tópico é de outro e não do fabert O_O
Acaba que eu me esqueci de uma coisa no objCtrl, no evento alarm[1], logo abaixo do "instance_creat" coloque isso:
Código:
alarm[1]=10;//Fabert, coloque aqui o tempo que eu te dei no outro topico;
Isso ocorre porque eu esqueci de colocar para fazer o loop...
Caso for realmente isso, caso ele queira que só adicione pontos depois de desviar, então apaga o evento creat e o evento alarm[0] do objDraw, e no obj_arma, no evento de colisão com o chão(novamente '--):
Código:
global.pontos += 1;
Coloque o "instance_detroy" que tem, embaixo disso, porque se não, o objeto será destruido antes de poder adicionar o ponto...
(Vou copiar o Alex Fc do meu jeito(mas ainda vou copiar!)) Até!
AxeInLine
AxeInLine

Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por Lighter Qua 06 Ago 2014, 23:16

Oi Axel blz?

Fabert, desenvolvedorr até mesmo pro Axel(zoera kk), criei uma engine pra auxilia-los no processo de criação de jogos desse tipo, liberei o download pelo google drive, assim vocês poderem estudar os códigos. A engine esta toda comentada e é fácil entendimento, nível: elemental.

A engine traz através dos códigos as seguintes características:
* Gerador de objetos arma, que aumenta de velocidade gradativamente;
* O objeto arma sempre sera gerado, próximo ao jogador;
* Contador de pontos;
* O objeto arma sempre sera gerado na mesma escala, 32.. 64.. 128 na room, para seguir o mesmo padrão do obj_player que se move em 32 pixels.

Até que ficou divertida, mas para ficar perfeita você devera adapta-la para o seu jogo;

Download Aqui:

Flw, espero ter ajudado galera, bons estudos;
Lighter
Lighter

Games Ranking : Sem avaliações

Data de inscrição : 16/01/2014
Reputação : 31
Número de Mensagens : 317
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0

http://google.com

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por fabert Qui 07 Ago 2014, 00:16

Lighter e AxeInLine obrigado pela ajuda, vou estudar e tentar fazer algo, muito obrigado mesmo, isso vai ajudar muito  cheers 
fabert
fabert

Data de inscrição : 28/07/2014
Reputação : 0
Número de Mensagens : 17
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por wicttor.sullivan.2 Sáb 22 Nov 2014, 17:33

acho que vcs estão so esquendo do.... place_free, porque se n gente! o buneco bugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
wicttor.sullivan.2
wicttor.sullivan.2

Data de inscrição : 12/11/2014
Reputação : 0
Número de Mensagens : 27
Prêmios : Game Iniciante Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game Iniciante Empty Re: Game Iniciante

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos