Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

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

Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

Mensagem por nanos233 em Sex 23 Out 2009, 16:22

Olá pessoal, eu to quebrando a cabeça mais não to conseguindo fazer isso :S
quem souber me ajude.

Até +

nanos233

Número de Mensagens : 383
Idade : 20
Data de inscrição : 19/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://myspace.com/rusty_bolts

Voltar ao Topo Ir em baixo

Re: Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

Mensagem por vinians em Sex 23 Out 2009, 17:56

Na verdade esse problema se divide em 2 partes.
1. Primeiro faça o seu inimigo te seguir.
2. Depois se ele esta te seguindo e encontrar um obstaculo pelo caminho ele deve pula-lo.
Para pular, ja que ele vai estar te seguindo e se for um jogo de plataforma, ele vai estar com hspeed positivo ou negativo pra esquerda e direita. Entao basta definir o vspeed como -10 por exemplo.
O importante é definir para seus inimigos gravidade, bloqueio se encontrar solidos etc. ou seja tudo que acontece para o seu proprio char. Se isso estiver ok quando você setar o vspeed ele vai pular a cair no chao automaticamente.
Nao estou te dando o codigo pra você poder tentar fazer. Qualquer coisa posta ai. Lembre-se que AI exige uma persistencia maior do programador, mais no final vale a pena.
vlw!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

Mensagem por nanos233 em Sex 23 Out 2009, 19:01

Ei cara, eu não consegui fazer com q o inimigo pulasse só qndo o jogador pulasse =|
como que eu tenho que fazer pra ele pular qndo o player pular ?

nanos233

Número de Mensagens : 383
Idade : 20
Data de inscrição : 19/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://myspace.com/rusty_bolts

Voltar ao Topo Ir em baixo

Re: Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

Mensagem por vinians em Sex 23 Out 2009, 19:53

O legal seria se vc fizesse seu inimigo pular quando for necessario ou seja, você pode usar a função place_metting() para verificar se tem alguma coisa na sua frente e tentar pular sobre ela. Por exemplo:
No evento STEP do inimigo:
Código:

if (perseguindo)
{
    if (no_chao)
      if (place_meeting(x + 32, y, obParede)) vspeed = -8
}
Isso faz com que se o seu inimigo ja não estiver pulando (no_chao) e 32 pontos na frente dele tiver uma parede ele pule.
Esse código é apenas um exemplo. Para ele funcionar precisaria definir essas variaveis ai descritas (persguindo e no_chao).
Poste uma imagem do seu jogo para podermos saber melhor como ajudar-lo. Geralmente para ficar mais facil fazer uma AI é legal criar uma máquina de estados. Ou seja, o seu inimigo poderia estar em 1 dos seguintes estados:
1-Normal (andando pra la e pra ca sem esta perseguindo nada)
2-Perseguindo você
3-Correndo de você
E no caso dele perder você de vista (colision_line) ele voltaria ao estado 1.

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

Mensagem por lipe1994 em Sex 23 Out 2009, 20:41

Pode usar o distance_to_object tbm!!

coloca no step do inimigo
:
Código:
if distance_to_object(bloco) < 10
{
vspeed = -4
}

lipe1994

Número de Mensagens : 304
Idade : 22
Data de inscrição : 16/10/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.gmbr.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

Mensagem por Kevin em Sex 23 Out 2009, 20:46

como assim lipe1994???

OO

bem... creio que você possa fazer assim:

se quer seguir exactmanete o pulo do player o tamanho do Pulo e ETC faça assim:

no STEP do obj que segue coloque:

Código:
vspeed=NOMEDOOBJETODOHERO.vspeed //Se quiser mude o NOMEDOOBJETODOHERO pelo Nome do objeto que vai ser seguido Happy

Isso Fara ele Pular quando o objeto Player Pular.. Mais tem Alguns Bugs com esse CÓDIGO... XD

Mais DA Pra Usa-lo

FLWs

Keké Games©

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

Mensagem por nanos233 em Sex 23 Out 2009, 22:03

Pessoal, nenhum pegou =|
eu não sei mais o que faço T-T

nanos233

Número de Mensagens : 383
Idade : 20
Data de inscrição : 19/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://myspace.com/rusty_bolts

Voltar ao Topo Ir em baixo

Re: Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

Mensagem por Igor KinGamer em Sex 23 Out 2009, 22:35

O seu jogo é de plataforma, certo? Você já fez o sistema de o inimigo te perseguir (só para a direita e esquerda)? Se já, poste aqui como você fez para ficar mais fácil de nós te ajudarmos. E também, como o vinians disse, poste uma imagem, mostrando o personagem, o inimigo e o(s) obstáculo(s).

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

Mensagem por fonetico em Sex 20 Nov 2009, 23:47

Bom, já tenho uma resposta, se você quer que o inimigo pule somente quando o player pular, simplesmente no inimigo, você cria um keyboard> botão que você vai usar para o pulo. Então, como exemplo, você coloca no inimigo keyboard > space, que foi o botão de pulo que eu defini, para o player também.

Agora se você quer que ele pule obstaculos, coloque este código no evento step do inimigo:

Código:
if place_free(x-5,y){hspeed = 5}else {y-=10}//troque o 5 pela distância, ou seja, quanto mais longe você quer que o inimigo pule ao ver um obstáculo, aumente, quanto mais perto, diminua, e no 10, substitua pelo valor da velocidade que você queira que seu inimigo tenha

E no evento create do inimigo, coloque este código:
Código:
x-=5//troque o 5 pela velocidade que você queira que o seu inimigo tenha

Depois me fala se deu certo amiguinho Very Happy

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

Mensagem por Alex FC em Sab 21 Nov 2009, 09:54

Bom, ja que você não esta conseguindo, vamos la. Isso não é tão dificil de fazer, mas foi dificil pra min descobrir como fazer. XD

Detectando um buraco:

Para detectar um buraco basta checar se a posição onde esta o buraco esta livre ou não. Use o seguinte código para checar o buraco e pular ele:

Código:
//checando buraco a direita
if !place_free(x+sprite_width+5,y+5){if !place_free(x,y+5){vspeed=-10}

//checando buraco a direita
if !place_free(x-sprite_width-5,y+5){if !place_free(x,y+5){vspeed=-10}

Detectando obstaculo sólido pelas laterais:

O vinians ja explicou isso la emcima, então só vou por um código para checar as laterais:

Código:
//checando a direita
if !place_free(x+32,y){if !place_free(x,y+5){vspeed=-10}

//checando a esquerda
if !place_free(x-32,y){if !place_free(x,y+5){vspeed=-10}

Bom, acho que você ja tem o código de seguir o personagem. Qualquer coisa é só perguntar. Vlw? E se não conseguir, por favor poste uma screenshot do jogo pra nós analisarmos melhor, senão vai ser muito dificil te ajudar. Blz?

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como fazer inteligência artificial que o inimigo pule obstaculos para te seguir?

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


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