GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por 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


Como funciona a lógica da IA?

5 participantes

Ir para baixo

Como funciona a lógica da IA? Empty Como funciona a lógica da IA?

Mensagem por Ritton Dom 22 Jan 2012, 22:53

Olá a todos! Primeiramente, não sei se essa é a seção correta para postar o assunto do gênero, mas pelo título e a descrição, me pareceu que seria o local ideal para fazer a pergunta. Bom, eu gostaria que pudessem me ensinar a lógica da IA ou, se possível, montar uma lista de assuntos referentes a isso. Eu gostaria de aprender a lógica para ser aplicada em jogos Top Down.

A lógica que eu queria aprender é o seguinte:

  • Movimento do Inimigo

  • Realizar ações

  • Chegar até um certo local


Membro do Fórum: Espera um pouco Ritton, você não está indo longe demais?
Ritton: Bom, se pudessem passar apenas a lógica da IA em relação ao movimento do inimigo e realização de apenas uma ação, estaria ótimo! O resto é com um bom estudo em GML.

Membro do Fórum: Que tipo de ação você se refere exatamente?
Ritton: Apenas a simples ação do inimigo atirar. Nada mais que isso.

Membro do Fórum: Então por qual motivo você não usa algum método para permitir que de tempo em tempo, o objeto atire?
Ritton: Assim estragaria a IA nessa parte. Quero que o inimigo escolha a hora que deve atirar ou não.

Membro do Fórum: Qual o objetivo da IA?
Ritton: Dois objetivos: Destruir o jogador e destruir um objeto. Para destruir esse objeto, ele realizará a ação de atirar para destruir os objetos em seu caminho.

Membro do Fórum: Não seria complicado?
Ritton: Ao meu ver, seria sim. Por isso peço que me ensinem apenas a lógica da movimentação e da realização de ações. O resto é por minha conta.

Então, alguém poderia me ajudar? Não quero a resposta e sim a resolução da resposta. Se puderem montar uma lista sobre assunto e me guiarem por onde começar, seria ótimo!

Até mais!
Ritton
Ritton

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/06/2011
Reputação : 2
Número de Mensagens : 673
Prêmios : Como funciona a lógica da IA? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Como funciona a lógica da IA? Empty Re: Como funciona a lógica da IA?

Mensagem por Gonçalves Dom 22 Jan 2012, 23:23

Você pode guardar em uma variável a distância entre o inimigo e o jogador point_distance(x,y,jogador.x,jogador.y). Use uma condição para checar se o valor dessa variável é menor que tanto (recomendo 200), se sim, a ação.
Use mp_potential_step() para movimentar o inimigo até certo ponto (x,y), a determinada velocidade (speed), e se desviará até de o objetos não-sólidos (checkall).
Depois eu posto mais algumas coisas... Até!


Última edição por Gonçalves em Dom 22 Jan 2012, 23:29, editado 1 vez(es)
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : Como funciona a lógica da IA? Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Como funciona a lógica da IA? Empty Re: Como funciona a lógica da IA?

Mensagem por Tedi Ripper Dom 22 Jan 2012, 23:26

bom, todo IA tem que ter um motivo, um plano de funcionamento
primeiro vc deve esquematizar todas as alternativas, por exemplo:

Se o inimigo chegar perto do player
  • Checar vida do player
    • Atirar caso seja mais baixa
    • correr como uma garotinha se for maior
  • Atirar destemidamente


ai depois disso, vc vai formulando o codigo

caso vc queira fazer ele escolher entre escolhas ;D usa o choose
Código:
if choose(0,1)=0
{
//correr como uma garotinha
}
else
{
//Fucyea
}

ai vc vai formulando, ah, em relaçao ao inimigo andar, seria interessante se o mapa fosse interativo com o inimigo, por exemplo:
o inimigo tivesse uma rota definida como soldado, mas se ele quiser, pode passar no refeitorio e talz...

para ele movimentar, eu, particularmete, proponho vc usar o Path Find que vem junto com a gmLIBRARY do Jiraya (pq eu usei e é muito bom)
flw
Tedi Ripper
Tedi Ripper

Games Ranking : Sem avaliações

Data de inscrição : 21/11/2010
Reputação : 25
Número de Mensagens : 777
Prêmios : Como funciona a lógica da IA? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Como funciona a lógica da IA? Empty Re: Como funciona a lógica da IA?

Mensagem por luiz_eldorado Dom 22 Jan 2012, 23:31

Não seria complicado?
Bem, você poderia ver a direção em que o inimigo está no momento e a que está entre ele entre o player. Verifica com um collison_line() se tem algum bloco entre vocês, se não tiver... go. Nunca use move_towards_point(), use mp_potential_step(). Mas se não ver o player, então segue seu caminho. Que caminho? Poderia ser algo como "Tem os lugares onde eu possa ir. Se eu não fui ali então eu vou.". Sobre o objeto, somente se ele já souber onde ele está. Aí é facil, é só ele ir pra lá e pronto! E quando chegar perto, manda bala.
Talvez, se ele ver o jogador, da uma velocidade negativa na direção do jogador (foge) até que ele não esteja mais vendo. Depois de um alarm, ele iria atirar um pouco e ja voltava.

É algo mais ou menos assim. Vou dormir, até mais!
luiz_eldorado
luiz_eldorado

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/07/2011
Reputação : 47
Número de Mensagens : 928
Prêmios : Como funciona a lógica da IA? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://luizpontes.tk/

Ir para o topo Ir para baixo

Como funciona a lógica da IA? Empty Re: Como funciona a lógica da IA?

Mensagem por saim Dom 22 Jan 2012, 23:34

Oi, Ritton.

Você realmente está mexendo numa caixa de marimbondo. IA é perigosíssimo, porque depois que você pega o jeito, se apaixona e não quer mais largar.

O chato é que não existe uma fórmula mágica secreta, como você já deve esperar. Cada IA tem sua lógica, cada uma "pensa" diferente da outra.

O grande segredo é detalhar ao máximo o que você quer que o objeto faça. Digo, detalhar pra você mesmo, talvez anotar num papel, mas começar a programar a IA muito antes de abrir o game maker.

Por exemplo, você quer que o inimigo atire no jogador ou num outro objeto. Qual o critério ele deve usar pra escolher? Distância? Linha de tiro liberada? E no caso desse critério empatar pros dois alvos, qual o critério de desempate?
Fora isso, o inimigo deve se mover, certo? Pra onde? Como ele vai escolher o lado que deve virar, é algo aleatório ou ele deve buscar uma forma eficiente de liberar uma linha de tiro ou deve simplesmente percorrer um path pré-programado?
Aí, se ele vai seguir algum critério de movimentação inteligente, que critério será esse?
O segredo não está só nas respostas, está principalmente nas perguntas.

Uma vez que você tiver todas essas (e mais um monte de) perguntas, você estará com seu pseudocódigo pronto. Aí, passar pra linguagem de programação é quase que um trabalho puramente braçal.

Eu recomendo ler dois tutoriais que eu roubei da internet, que são o da máquina de estados finitos e o do A*.
A máquina de estados finitos é de uma teoria muito simples, que é aquele truque de usar uma variável chamada "ação", que muita gente aqui usa sem perceber que é uma MEF. No tutorial ela é mais elaborada e eficiente. Ela usa nomes de scripts, e não variáveis, como definição do estado atual.
O tutorial do A* é, na essência, um link pro tutorial de verdade, que já existia em português e eu fiquei sem graça de copiar e colar. O que eu fiz foi traduzir a teoria pra UM dos scripts possíveis de elaborar a partir dela.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Como funciona a lógica da IA? Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Como funciona a lógica da IA? Empty Re: Como funciona a lógica da IA?

Mensagem por Ritton Seg 23 Jan 2012, 10:17

Muito obrigado a todos! Antes eu não sabia por onde começar e quase me deu vontade de desistir do projeto. Mas não dessa vez, eu prometi que eu não ia desistir e que continuaria em frente. Eu havia aberto um exemplo chamado "Treasure" que vinha com o Game Maker. A IA é bem simples, tanto que se você estiver na frente do inimigo ele desvia ao invés de ir na sua direção.

OBS: Para quem nunca testou esse exemplo, "Treasure" é um Pac-man que vem junto com o GM, contido na pasta Examples.

Minha intenção é que o inimigo não vá em direção do player e sim que haja o contrário. Quando isso ocorrer, o inimigo verá que é uma ameaça e tentará destruir enquanto os outros tentam chegar ao seu objetivo, ou seja, destruir certo objeto.

O projeto surgiu enquanto eu lia os tutoriais do fórum. De repente eu propus a mim mesmo refazer o que eu aprendi para ver se eu tinha aprendido. A ideia estava ficando tão bacana já que foi inspirada em um jogo antigo de NES, que eu resolvi continuar sem deixar a engine mofando.

Bom, começarei a definir todas as limitações dos inimigos, o objetivo deles e o que ele deve fazer. Anotarei tudo em uma papel a parte, e depois vou transferir para a linguagem GML. Essa vai ser a parte complicada xD. Pelo menos, será um grande pulo em GML, pois eu ficarei mais acostumado. Eu havia lido uma vez esse tutorial da Máquina de Estados Finitos, mas eu não havia entendido. Agora que eu evolui um pouco, hora de reler o tutorial.

Obrigado a todos e bastante sucesso em suas realizações! ;)

PS: Liberado para ser trancado!
Ritton
Ritton

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/06/2011
Reputação : 2
Número de Mensagens : 673
Prêmios : Como funciona a lógica da IA? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Como funciona a lógica da IA? Empty Re: Como funciona a lógica da IA?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos