Entrar
Últimos assuntos
» player não consegue andarpor 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
Inteligência artificial - Problemas
+4
TRFN
peixoto
Super Maker
galavernaa
8 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
Inteligência artificial - Problemas
Falae pessoal blz ?? Espero que sim , estou com um grande problema na inteligência do meu inimigo , As veses ele "entra" no outro inimigo fazendo com que nenhum deles ande , estou desesperado , não consigo corrigir , fiquei des de as 3 da tarde até agora tentando , e nada , por favor me ajudem , acredito que isto seja de nível mais avançado , mas não tenho certeza.
Engine : https://www.dropbox.com/s/ii3jsf9jqjfdgru/Projeto%20Novo%20-%20Edi%C3%A7%C3%A3o%20do%20Pulo.gmk
Engine : https://www.dropbox.com/s/ii3jsf9jqjfdgru/Projeto%20Novo%20-%20Edi%C3%A7%C3%A3o%20do%20Pulo.gmk
galavernaa- Data de inscrição : 20/12/2012
Reputação : 1
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Se eu tivesse lido o seu tópico antes já teria te ajudado, só agora entrei.
Vou analizar aqui e doum edite mais tarde.
Até mas...
Vou analizar aqui e doum edite mais tarde.
Até mas...
Última edição por Super Maker em Qua 09 Jan 2013, 01:07, editado 2 vez(es)
Super Maker- Data de inscrição : 09/07/2011
Reputação : 6
Número de Mensagens : 646
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Opa , claro sem problemasSuper Maker escreveu:Se eu tivesse lido o seu tópico antes já teria te ajudado, só agora entrei.
Vou analizar aqui e doum edite mais tarde.
Até mas...
Obrigado pela ajuda!
galavernaa- Data de inscrição : 20/12/2012
Reputação : 1
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Cara esse bug é mesmo de desesperar rsrs.
Desculpa eu não poder procurar mais, mas é que a hora já ta me desfavorecendo.
Pela manhã vai ter mais ajuda e sei que apontarão o erro pra você.
A dica que eu deixo é: Faz um painel que mostra o estatus das variáveis. Com isso você pode achar mais rápido.
Até mais!
Desculpa eu não poder procurar mais, mas é que a hora já ta me desfavorecendo.
Pela manhã vai ter mais ajuda e sei que apontarão o erro pra você.
A dica que eu deixo é: Faz um painel que mostra o estatus das variáveis. Com isso você pode achar mais rápido.
Até mais!
Super Maker- Data de inscrição : 09/07/2011
Reputação : 6
Número de Mensagens : 646
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Opa cara rlx , obrigado mesmo assim e boa noite heheSuper Maker escreveu:Cara esse bug é mesmo de desesperar rsrs.
Desculpa eu não poder procurar mais, mas é que a hora já ta me desfavorecendo.
Pela manhã vai ter mais ajuda e sei que apontarão o erro pra você.
A dica que eu deixo é: Faz um painel que mostra o estatus das variáveis. Com isso você pode achar mais rápido.
Até mais!
galavernaa- Data de inscrição : 20/12/2012
Reputação : 1
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Experimente adicionar um evento colision/colisão do inimigo com ele mesmo, e depois, na aba control, adicione o código:
Isso fara com que ao inimigo tocar no outro objeto inimigo, que ambos voltem 1 pixel em x e 1 pixel em y.Evitando o bug..
- Código:
x=xprevious
y=yprevious
Isso fara com que ao inimigo tocar no outro objeto inimigo, que ambos voltem 1 pixel em x e 1 pixel em y.Evitando o bug..
peixoto- Games Ranking :
Notas recebidas : D
Data de inscrição : 14/02/2010
Reputação : 3
Número de Mensagens : 911
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Adicionei isto , mas eles continuaram um dentro do outro ):peixoto escreveu:Experimente adicionar um evento colision/colisão do inimigo com ele mesmo, e depois, na aba control, adicione o código:
- Código:
x=xprevious
y=yprevious
Isso fara com que ao inimigo tocar no outro objeto inimigo, que ambos voltem 1 pixel em x e 1 pixel em y.Evitando o bug..
Pensei em fazer algo assim no step do inimigo
if distance_to_object(obj_inimigo1)<64 {with(MENOR ID) {speed=0}}
o problema é que não sei chegar o menor id
isso acima , não funcionou!
Acredito que isto seja impossível!
Queria pedir desculpas , por que fiz duplo post , na hora que percebi deletei! Desculpe
galavernaa- Data de inscrição : 20/12/2012
Reputação : 1
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Tente algo como :
- Código:
global.__menor_id = -1; // Declaração
with(all)
begin
if(distance_to_object(obj_inimigo1)<64)then
begin
if(global.__menor_id = -1)then global.__menor_id = id; // ID
else global.__menor_id = min(global.__menor_id , id); // Menor
end
end
with(global.__menor_id)begin speed = 0; end
Re: Inteligência artificial - Problemas
Era pra botar isto no step ?? Ainda não sei muito sobre GML , coloquei no Step e não funcionou!Tentei também colocando o global.__menor_id = -1; // Declaração no create , mas não conseguiTRFN escreveu:Tente algo como :
- Código:
global.__menor_id = -1; // Declaração
with(all)
begin
if(distance_to_object(obj_inimigo1)<64)then
begin
if(global.__menor_id = -1)then global.__menor_id = id; // ID
else global.__menor_id = min(global.__menor_id , id); // Menor
end
end
with(global.__menor_id)begin speed = 0; end
Acredito que o problema é quando o inimigo vira do lado esquerdo para o direito e vice versa , se você viu a engine acredito que deu para perceber ... Obrigado
e se possível me ajude a resolver hehe obrigado de verdade!
galavernaa- Data de inscrição : 20/12/2012
Reputação : 1
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Pra que você quer o menor ID dentre todos os objetos?
O que você precisa não é executar um instance_nearest() ?
O que você precisa não é executar um instance_nearest() ?
L0l-King- Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Na verdade isso foi uma forma que eu pensei de fazer isso , e seria o menor id dentre os inimigos , e oque instance_nearest faz ?? verifica quem está perto ?? e como usaria isso ?? Eu não sei por que eles entram um no outro , eles são sólidos , na colisão já coloquei bounce , já fiz várias coisas , mas nada funciona , como usaria isso?L0l-King escreveu:Pra que você quer o menor ID dentre todos os objetos?
O que você precisa não é executar um instance_nearest() ?
galavernaa- Data de inscrição : 20/12/2012
Reputação : 1
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Instance_nearest retorna o objeto do tipo que você passar mais próximo do ponto determinado.
Pra impedir de grudar um no outro faça uma verificação simples do tipo
Pra impedir de grudar um no outro faça uma verificação simples do tipo
- Código:
if(!place_free(x+hspeed,y+vspeed)){
//faça alguma coisa aqui que impeça o movimento, como zerar a hspeed
}
L0l-King- Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Fiz isso , e não funcinou!
Ficou assim
if(!place_free(x+hspeed,y+vspeed)){
speed=0 vspeed=0 hspeed=0
}
Por favor , baixe a engine e veja , é um problema bem estranho , nem o bounce funciona , obrigaddo!
Ficou assim
if(!place_free(x+hspeed,y+vspeed)){
speed=0 vspeed=0 hspeed=0
}
Por favor , baixe a engine e veja , é um problema bem estranho , nem o bounce funciona , obrigaddo!
galavernaa- Data de inscrição : 20/12/2012
Reputação : 1
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Vou baixar e dar uma olhada.
Dou edit se eu entender alguma coisa de como corrigir.
Uma nota importante sobre o código que postei:
Ele precisa ser feito por ÚLTIMO durante o step, porque senão você seta zero e logo depois seta outro valor através de, por exemplo, segurar a seta direita.
EDIT: kra, quais objetos sao sólidos? To tentando entender de onde surgiu algum objeto sólido, só que tem muito objeto e muito código pra eu analisar.
Dou edit se eu entender alguma coisa de como corrigir.
Uma nota importante sobre o código que postei:
Ele precisa ser feito por ÚLTIMO durante o step, porque senão você seta zero e logo depois seta outro valor através de, por exemplo, segurar a seta direita.
EDIT: kra, quais objetos sao sólidos? To tentando entender de onde surgiu algum objeto sólido, só que tem muito objeto e muito código pra eu analisar.
L0l-King- Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Os objetos solidos são os que tão na pasta objetos , mas os que são usados são só os obj_limite, e obj_limite_cima , e o inimigo é o obj_inimigo que tá na pasta inimigosL0l-King escreveu:Vou baixar e dar uma olhada.
Dou edit se eu entender alguma coisa de como corrigir.
Uma nota importante sobre o código que postei:
Ele precisa ser feito por ÚLTIMO durante o step, porque senão você seta zero e logo depois seta outro valor através de, por exemplo, segurar a seta direita.
EDIT: kra, quais objetos sao sólidos? To tentando entender de onde surgiu algum objeto sólido, só que tem muito objeto e muito código pra eu analisar.
obj_inimigo1
é o primeiro piece of code do step do inimigo1
___________OQUE EU ACHO____________
Eu acho que deveria ser feito algum código para tirar eles dentro um do outro caso isto acontece , por que para previnir isso é meio complicado , por que dependendo do caso , existem magias no jogo , que jogam os inimigos para traz...
galavernaa- Data de inscrição : 20/12/2012
Reputação : 1
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Amigo, seu código está muito mal formatado. Para jogos pequenos com poucas linhas em cada evento não tem tanto problema assim, mas para jogos com diversas condições e com eventos com bastante código a formatação é impressindível para que você mesmo possa alterar no futuro e para que outros possam te ajudar. Aprenda a formatar seu código!
Flws!
Flws!
Re: Inteligência artificial - Problemas
A onde eu aprendo a formatar?vinians escreveu:Amigo, seu código está muito mal formatado. Para jogos pequenos com poucas linhas em cada evento não tem tanto problema assim, mas para jogos com diversas condições e com eventos com bastante código a formatação é impressindível para que você mesmo possa alterar no futuro e para que outros possam te ajudar. Aprenda a formatar seu código!
Flws!
galavernaa- Data de inscrição : 20/12/2012
Reputação : 1
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
A formatação de códigos é chamada de indentação, até a wikipédia te mostra como que funciona.
L0l-King- Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Aaah , eu dei uma olhada , vou tentar arrumá-lo , mas alguem teria alguma sugestão de como tirar um de dentro do outro ?L0l-King escreveu:A formatação de códigos é chamada de indentação, até a wikipédia te mostra como que funciona.
galavernaa- Data de inscrição : 20/12/2012
Reputação : 1
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Inteligência artificial - Problemas
Sim, eu identifiquei alguns problemas:
1) Não use precise collision para este tipo de jogo, use mascaras.
2) Não coloque eventos de colisão do inimigo com o próprio inimigo, pois o próprio m_potential já desvia do mesmo, a colisão vai literalmente parar o objeto.
3) Quando você se distancia do inimigo > 230 se nao me engano. Você esta setando o speed = 0 isso faz com que ele fique parado onde está. Você deve na verdade criar um novo alvo em posições diferentes para que os inimigos se separem automaticamente. Quando estiverem separados, ai sim você os para.
Tem mais coisa mais nao me lembro agora.
Flws!
1) Não use precise collision para este tipo de jogo, use mascaras.
2) Não coloque eventos de colisão do inimigo com o próprio inimigo, pois o próprio m_potential já desvia do mesmo, a colisão vai literalmente parar o objeto.
3) Quando você se distancia do inimigo > 230 se nao me engano. Você esta setando o speed = 0 isso faz com que ele fique parado onde está. Você deve na verdade criar um novo alvo em posições diferentes para que os inimigos se separem automaticamente. Quando estiverem separados, ai sim você os para.
Tem mais coisa mais nao me lembro agora.
Flws!
Página 1 de 2 • 1, 2
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos