[Tutorial]Inimigo perseguir Player e Atacar

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

Este tutorial te ajudou?

75% 75% 
[ 3 ]
25% 25% 
[ 1 ]
 
Total dos votos : 4

[Tutorial]Inimigo perseguir Player e Atacar

Mensagem por -Flash em Qua 11 Jun 2014, 12:28

Título: AI básica [Por -Flash]
Versão do GM: Game Maker Studio Standart
Dificuldade: Fácil
Link para download da Engine: Clique Aqui
Requer Extensões: Não
Requer DLLs: Não
Tags: Player,AI básica,Inimigo.

Começando o projeto...
Vamos começar nosso tutorial que ensinara a fazer uma AI básica Top Down Shooter em que o inimigo persegue o player. Primeiro adicione dois sprites:


Em seguida adicione dois objetos sólidos:
obj_player:

obj_enemy:


Agora, no obj_player adicione os seguintes eventos:
Create
Código:
hp = 100 //Seta a vida do obj_player para 100

Step
Código:
if hp<=0{instance_destroy()} // checa se o hp é 0 e se for destroi o obj_player
if (keyboard_check(vk_right) & place_free(x+4,y)){ //aqui se o player  pressionar a seta direita e se a área estiver livre de colisões ele executa o próximo código
     x+=4; // move 4 pixels a direita
     }

    if (keyboard_check(vk_left) & place_free(x-4,y)){ //aqui se o player pressionar a seta esquerda e se a área estiver livre de colisões ele executa o próximo código
     x-=4;  // move 4 pixels a esquerda
     }
    
   if (keyboard_check(vk_up) & place_free(x,y-4)){ //aqui se o player pressionar a seta cima e se a área estiver livre de colisões ele executa o próximo código
     y-=4; // move 4 pixels para cima
     }
    
    if (keyboard_check(vk_down) & place_free(x,y+4)){ //aqui se o player pressionar a seta baixo e se a área estiver livre de colisões ele executa o próximo código
     y+=4; // move 4 pixels para baixo
     }

Collision With obj_enemy
Código:
hp-=5 // diminiu a vida do obj_player em 5

Agora no obj_enemy adicione os seguintes eventos:
Create
Código:
hp = 100 // Define a vida do obj_enemy para 100 (usarei no proximo tutorial)

Step
Código:
if hp<=0{instance_destroy()} // checa se a vida é 0 ou menor, e se for destroi o obj_enemy
if instance_exists(obj_player){//verifica se o obj_player existe
move_towards_point(obj_player.x,obj_player.y,0)//Define a direção para o obj_player
speed = 2 // define a velocidade do obj_enemy
}

Agora adicione uma room em seu projeto e adicione o obj_player e o obj_enemy e corra do inimigo para salvar sua vida !.  Happy

Como a AI se comportara?
R: ao iniciar a room, o inimigo vai verificar se o player esta na room, e quando receber a confirmação, ele começara a perseguir o player e quando encostar nele começara a tirar vida do player, de modo que a certo ponto o player morra.
Irei continuar os tutoriais dependendo dos feedbacks !


Última edição por -Flash em Qui 12 Jun 2014, 17:48, editado 4 vez(es) (Razão : Explicação adicionada)

-Flash

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

Voltar ao Topo Ir em baixo

Re: [Tutorial]Inimigo perseguir Player e Atacar

Mensagem por fredcobain em Qui 12 Jun 2014, 14:19

Flash, IA é sempre um tópico muito interessante.

Gostaria que vc explicasse e ilustrasse exatamente como seria o comportamento do inimigo nesse seu exemplo antes de cairmos nos códigos.

Basta apenas essa explicação (e se possível também uma ilustração) para que me convença a mover para os tutos aprovados.

Obrigado por contribuir.


fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

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