Conectar-se
Quem está conectado
27 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 27 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Idéias para programar IA de amigo??

em Qui 24 Nov 2011, 00:10
Eai pessoal belezinha? cheers

Fazia um tempão que eu não aparecia por aqui! Vida corrida e talz, aliás senti muita saudade aqui do Fórum e do pessoal que eu conversava no começo do ano! O Markituh, Vivians, Fuzenrad, Sigiloso, Luiz100_Juizo, Godsil, Anderson3d, e todos os outros!

Mas, falatórios a parte, estou tentando programar um pouco meu ultimo projeto nas ultimas noites, o Planet Wars (veja o Tópico dele aqui), mas estou tendo vários problemas!
E como não tenho tempo pra procurar soluções e esquadrinahr códigos a procura de eventuais erros, vim aqui pedir uma orientação de vocês!

Bem, não peço engines e nem que me dêem códigos prontos, apenas idéias ou sugestões! Assim posso eu mesmo programar e tirar a ferrugem scratch


Bom, para começar, estou precisando criar a IA da Nave da Fran novamente (vejam o tópico lá). O Sistema atual usa Collision Rectangle e Distance to Object para determinar se a Fran ataca ou esquiva das Naves Inimigas... Porém todas Naves Inimigas são controladas por o Parent "inimigo_parent", o que acaba gerando uma confusão na Nave da Fran, que por sua vez acabar se descontrolando e até indo de encontro com a morte às vezes...

Alguém tem alguma idéia mais eficiente pra eu programar a IA dela? Ou então uma forma mais organizada que não gere esses BUGs?

Vou postar aqui no Spoiler o Código Atual:
Spoiler:
Código:
//Ir até a Posição X do Inimigo para Acertá-lo.
if collision_rectangle(x-105,y,x+105,y-450,inimigo_parent,true,0)
{
    if (inimigo_parent.x-10)>obj_fran.x{bt_right=true}else{bt_right=false}
    if (inimigo_parent.x+10)<obj_fran.x{bt_left=true}else{bt_left=false}
}

//Fugir
if collision_rectangle(x-64,y,x+64,y-56,inimigo_parent,true,0)
{
    if (inimigo_parent.x)<=obj_fran.x{bt_right=true}else{bt_right=false}
    if (inimigo_parent.x)>=obj_fran.x{bt_left=true}else{bt_left=false}
}
Obs: bt_right e bt_left são variaveis que simulam a "tecla" pra nave se mover pra direita e esquerda.


Bom é isso galera! Falei pra caramba, mas espero que possam me ajudar :3
avatar
Ranking : Sem avaliações
Notas recebidas : A
Data de inscrição : 01/10/2011
Número de Mensagens : 284
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://caiqueluzsilva.wordpress.com/

Re: Idéias para programar IA de amigo??

em Qui 24 Nov 2011, 00:29
Eai dharisson!

Vi que você está usando a função distance_to_object() para checar a distância do inimigo e executar as ações da Fran.

Ela deve estar se confundindo porque você está checando a distância do objeto, e não da instância mais próxima desse objeto.

Tente usar a função instance_nearest() para isso.



Espero ter lhe ajudado!



Até!
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Idéias para programar IA de amigo??

em Qui 24 Nov 2011, 08:31
@Golpe Baixo escreveu:Tente usar a função instance_nearest() para isso.
A idéia é ótima: armazene a instância que gerará as respostas da fran numa variável e responda a essa instância somente. Provavelmente o que está acontecendo é que a Fran está com um inimigo pertinho e "fugindo" de outro que está lá longe.

PS: Sei que isso parece flood, mas eu tinha escrito bobagem, vi a bobagem e apaguei, deixando só a parte que não acrescenta muita coisa.
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: Idéias para programar IA de amigo??

em Qui 24 Nov 2011, 11:56
Vou tentar hoje a noite talvez, se der tempo.
Mas se alguem souber outras formas, ou até criar os códigos de forma totalmente diferente, aceito sugestões :3

ae quando pegar pra mexer ja tento todas possibilidades

e obrigado ao Saim e ao Golpe Baixo xD
Conteúdo patrocinado

Re: Idéias para programar IA de amigo??

Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum