inteligencia artificial! inimigo seguindo jogador!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

inteligencia artificial! inimigo seguindo jogador!

Mensagem por loopnaner em Seg 29 Set 2014, 23:08

estou criando um game arcade de plataforma, quero criar uma inteligencia artificial para o inimigo do jogo!, quero criar um sistema de spawn, e assim que o inimigo spawnar, perseguir o jogador, e quando chegar perto do jogador atacar e se atacar 3 vezes o jogador morre! se o jogador atacar o inimigo 1 vez, o inimigo morre!
estou tentando fazer isso, estou quebrando a cabeça mas não consigo, entendo muito pouco do gml, estou aprendendo a programar ainda, só entendo o pascal! kkkk.


loopnaner

Número de Mensagens : 3
Idade : 17
Data de inscrição : 30/01/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

sistema de spawn

Mensagem por allan_machado49 em Ter 30 Set 2014, 04:20

O sistema de spawn vc pode fazer assim:


Cria um objeto chamado obj_spawn e dentro dele coloca assim:


Evento Create:

No evento create na aba control e pega a folhinha que ta escrito execute code e arrasta para dentro do evento create e escreve assim alarm[0]=tempo que vc quer para spawnar outro objeto ou bixo;



Evento Alarm 0:

no evento alarm 0 vai na aba control e pegue a folhinha de novo e arraste ela de novo para dentro do evento e coloque assim

instance_create(x, y, Nome do objeto);
alarm[1]=tempo que vc quer para spawnar outro objeto ou bixo ;


Evento alarm 1:

no evento alarm 1 vai na aba control e pegue a folhinha de novo e arraste ela de novo para dentro do evento e coloque assim

instance_create(x, y, Nome do objeto);
alarm[0]=tempo que vc quer para spawnar outro objeto ou bixo ;


assim ele vai ficar fazendo esse ciclo vai chamar o
alarm 0 ai vai esperar o tempo que vc coloco ai vai chamar o alarm 1 ai vai esperar o tempo que vc coloco e vai voltar para o alarm 0, e assim por diante.

OBS: não esqueça de colocar o obj_spawn na room se não ira dar erro.

Caso não consiga fazer ou de erro me avise.


Última edição por allan_machado49 em Ter 30 Set 2014, 04:28, editado 3 vez(es) (Razão : Esqueci de um codigo)

allan_machado49

Número de Mensagens : 11
Idade : 19
Data de inscrição : 23/08/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://allan-games.eu5.org/

Voltar ao Topo Ir em baixo

Re: inteligencia artificial! inimigo seguindo jogador!

Mensagem por gabriel33245900 em Ter 30 Set 2014, 09:04

tem 1 maneira bem simples crie 1 inimigo no step coloque isso
STEP:
if instance_exists(player_object) {
if player_object.x < x {
 hspeed=-3
} else if player_object.x > x {
 hspeed=+3
}
}
//player_object nome do jogador

no jogador va em create e crie 1 variavel chamada hp
CREATE:
hp = 5*room_speed; //não mude esse 5 ele esta resultado a dar 3

agora crie o evento END STEP e coloque isso
END STEP:
if hp <=0 { sound_stop_all();
room_restart();} //caso queira trocar a ação desejada apenas bote outro codigo nesse { ate o fim de }
agora
crie 1 time line chamada Spawn clique em add e coloque step 80 ou o tempo de step que você quer
após isso adicione o code e coloque isso no code
instance_create(576,416,Inimigo) //nome do inimigo o 576 e 416 eo local na sala que ele nasce
agora crie 1 objeto chamado obj_spawn crie o evento Create:
adicione 1 time line das actions ao lado >>>
ela esta localizada em main2 1 ampulheta você sabe né clique nela e bote no create ali em time line coloque Spawn o nome da  time line que você tinha criado a position deixe em 0 e também start immediately se quiser que repita a time line ative o loop
agora volte no seu personagem e crie colisão com inimigo após isso crie 1 codigo e bote isso hp -= 1

bom e só isso me corriga se estiver errado

gabriel33245900

Número de Mensagens : 361
Idade : 16
Data de inscrição : 06/09/2014
Reputação : 54
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: inteligencia artificial! inimigo seguindo jogador!

Mensagem por loopnaner em Qua 01 Out 2014, 15:10

bom, consegui fazer o bixo spawnar, agora só falta o lance do HP e a inteligencia artificial mesmo! desde já obrigado :DD

loopnaner

Número de Mensagens : 3
Idade : 17
Data de inscrição : 30/01/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: inteligencia artificial! inimigo seguindo jogador!

Mensagem por gabriel33245900 em Qua 01 Out 2014, 15:18

desculpe se te confudi amigo as variaveis são tipo 1 modo de fazer 1 ação acontecer elas não valem nada a não ser 1 coisa para fazer você ativar outras
tipo hp=5

bote no seu monstro no create:
hp=5
na colisão com 1 tiro sei lá bote
hp-=1

no step você bota:
if hp == 0 {Ação desejada}


se quiser que seu inimigo seja destruido
bote ai no step if hp == 0 {instance_destroy();}

gabriel33245900

Número de Mensagens : 361
Idade : 16
Data de inscrição : 06/09/2014
Reputação : 54
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: inteligencia artificial! inimigo seguindo jogador!

Mensagem por Mateus O de Andrade em Qua 01 Out 2014, 17:08

Boa tarde Colega,

gabriel33245900 escreveu:desculpe se te confudi amigo as variaveis são tipo 1 modo de fazer 1 ação acontecer elas não valem nada a não ser 1 coisa para fazer você ativar outrastipo hp=5

bote no seu monstro no create:
hp=5
na colisão com 1 tiro sei lá bote
hp-=1

no step você bota:
if hp == 0 {Ação desejada}


se quiser que seu inimigo seja destruido
bote ai no step if hp == 0 {instance_destroy();}


Não se esqueça de colocar do evento de colisão de seu projétil com o jogador um instance_destroy () se não seu tiro vai tirar todo o HP de uma só vez e vai continuar andando!!

Mateus O de Andrade

Ranking : Nota D
Número de Mensagens : 399
Idade : 30
Data de inscrição : 25/03/2014
Reputação : 37
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: inteligencia artificial! inimigo seguindo jogador!

Mensagem por gabriel33245900 em Qua 01 Out 2014, 17:30

valeu andre mais ja que não e 1 bala percebo que ele pode tentar criar 1 soco invisivel ate 1 certa distancia atingindo o inimigo correto =D

gabriel33245900

Número de Mensagens : 361
Idade : 16
Data de inscrição : 06/09/2014
Reputação : 54
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: inteligencia artificial! inimigo seguindo jogador!

Mensagem por loopnaner em Qua 01 Out 2014, 20:11

sim, quero criar um soco! kkk

loopnaner

Número de Mensagens : 3
Idade : 17
Data de inscrição : 30/01/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: inteligencia artificial! inimigo seguindo jogador!

Mensagem por gabriel33245900 em Qua 01 Out 2014, 20:19

Bom pode usar minha rotina aqui
crie 1 variavel chamada direita
e outra esquerda
no create
CREATE:
Código:
esquerda=true
direita=true
andando=false
chao=true
image_speed = 0.2;
direcao = 1 // 1 - direita / 0 - esquerda
direcao = 0
tiro=3

agora no step:
Código:
//Checar se esta andando e se está para a direita
  if keyboard_check(vk_right){//Se apertar para a dieita
  direita=true //Está para a direita
  andando=true //Está andando.
  }else if keyboard_check(vk_left){//Se nao apertar para a direita, mas apertar para a esquerda
  esquerda=true
  direita=false//Não está para a direita
  andando=true //Está a andando
  }else{//Se não estiver apertando nem para a direita e nem para a esquerda
  andando=false// Não está andando
  }
if ( keyboard_check_pressed(ord("A")) && instance_number(Tiro_de_fogo) < 3){ //Se tiver menos de 3 balas, ele atira
if tiro>0
{
tiro-=1
//Ação de atirar, criar projétil - no seu caso, o instance_create(x,y,tiro_de_fogo)
}
if direita = false
{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index=sprite14
motion_set(180,20)}}
if direita = true
{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index= sprite13
motion_set(0,20)}}}


o tiro de fogo você troca pelo nome do seu soco  o botão A atira se quiser trocar essa rotina faz com que atire na direção que você estiver

no soco você bota isso no create:
Código:
tempo =5*room_speed;
esse é o tempo em segundos para o soco desaparecer e sumir

agora no step:
Código:
tempo -= 1
if tempo == 0{instance_destroy();}
a cada segundo vai retirar 1 tempo quando dar 0 ele sera excluido
bom espero ter ajudado a me esqueçendo esse 20 ai no motion_set significa a velocidade da bala então se quiser rapida so mudar isso


Última edição por dharrison em Qua 01 Out 2014, 20:29, editado 1 vez(es) (Razão : adiocinei as caixas de code (dharrison))

gabriel33245900

Número de Mensagens : 361
Idade : 16
Data de inscrição : 06/09/2014
Reputação : 54
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: inteligencia artificial! inimigo seguindo jogador!

Mensagem por Conteúdo patrocinado Hoje à(s) 00:11


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum