[Resolvido]Duvida de I.A

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

Resolvido [Resolvido]Duvida de I.A

Mensagem por Super Games em Qui 30 Set 2010, 11:28

Estou criando um jogo estilo ''Super Smah Bros'', ai tem o modo ''Player vs CPU'' que é a batalha do computador contra a gente, mais o probema é que eu quero que o CPU ataque, desvie, abaixe, pule ou seja tenha uma I.A profisional, entam eu fui no site ''64Digts'' para ver que tinha uma resposta, e eu não achei nada que eu queria, entam estou pedindo aqui que alguem por favor me ajude com isso, qualquer ajuda já tou agradecendo.

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvida de I.A

Mensagem por freysun em Qui 30 Set 2010, 13:58

Bem,isso pode ser feito no creat,como faça um script
como
x+=5
Aí ele vai andar para a direita,mas o ataque eu n~çao sei,os movimentos
podem ser feitos no:
Start moving direction!

freysun

Número de Mensagens : 344
Idade : 21
Data de inscrição : 23/06/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvida de I.A

Mensagem por Super Games em Qui 30 Set 2010, 17:59

freysun escreveu:Bem,isso pode ser feito no creat,como faça um script
como
x+=5
Aí ele vai andar para a direita,mas o ataque eu n~çao sei,os movimentos
podem ser feitos no:
Start moving direction!

Ajudou na movimentação, mais eu quero ataques, desviar, abaixar emfim um movimento SSB.

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvida de I.A

Mensagem por freysun em Qui 30 Set 2010, 18:26

Bem tente fazer o mesmo que eu disse,mas com tipo:
Change object>objeto do soco
Mas é dificil,tenta fazer por script de IA

freysun

Número de Mensagens : 344
Idade : 21
Data de inscrição : 23/06/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvida de I.A

Mensagem por Super Games em Qui 30 Set 2010, 18:34

Até ajudo mais, o probema que eu quero uma I.A mais avançada, mais valeu.

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvida de I.A

Mensagem por freysun em Qui 30 Set 2010, 18:37

A "estendi"(intendi) então um IA avançada...
Acho que aki não tem,mais acho que
vc deve procurar por tópicos como:
IA avançada
IA avançada ataques
etc...

freysun

Número de Mensagens : 344
Idade : 21
Data de inscrição : 23/06/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvida de I.A

Mensagem por Janx em Qui 30 Set 2010, 18:55

IA é complicado, de um jogo de luta dificulta mais ainda, no estilo Super Smash Bros fica ainda pior!
Você tem que levar tudo isso em conta:
Posição do personagem no terreno, se estiver fora é preciso voltar
Itens pelo terreno, itens vindo em minha direção para desviar
Personagens inimigos, qual devo atacar? Inteligencia para não deixar o mesmo voltar para o terreno. Desviar dos ataques quando necessário, pular, saber como chegar até certo ponto no mapa (Para pegar algum item ou chegar até o inimigo, ou simplesmente para fugir).

É muito complicado, para deixar o movimento inimigo mais natural, é estritamente necessário que ambos usem a mesma engine de movimento. Ou seja, você não pode fazer para o player se mover dessa forma:

if key_check(vk_right)
{hspeed = 2;}

e no CPU:
if ... //Condições para movimentar para a direita
{x += 5;}

Primeiro que isso já da a CPU uma velocidade maior, sem desaceleração. Seria o mesmo que fazer um jogo de "pong" em que o movimento do player tem uma aceleração para o movimento da barra, enquanto a do inimigo é simplesmente colocada na posição Y do bola. Isso tornaria o jogo simplesmente impossivel de se vencer.

Então, como você deve fazer para sua IA funcionar?
Dificil dizer, não sabemos tudo o que seu jogo tem nem como sua engine funciona. Se os personagens tem abilidades diferenciadas a IA terá que ser muito mais flexivel.

A base de se fazer uma IA é pela checagem de alguns eventos e eventos de maior prioridade.
Hã?

Vou usar de exemplo o jogo Super Smash Bros, imagine que temos uma luta entre 2 personagens, Fox e Mario.
Fox é controlado pelo jogador e o Mario é pela CPU, Mario está com 100% de dano e o Fox com 20%. O Fox chuta o mario para longe do terreno, qual a prioridade da IA? Ficar vivo. O que ela deveria fazer? Tentar voltar ao terreno ou tentar acertar o Fox no terreno usando as bolas de fogo?

Outro exemplo:
Digamos que o Fox está com uma bomba na mão, o mario está com 100% de dano, se a bomba o acertar concerteza ele morreria. Fox joga a bomba, como o Mario deveria reagir? Sair correndo na direção do Fox para tentar acertá-lo (e consequentemente em direção à bomba) ou pular para desviar da bomba?

Bom, não temos como te ajudar a fazer a IA do seu jogo. O máximo que podemos fazer é te mostrar a lógica do funcionamento da Inteligencia Artificial. O resto é por sua conta.

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvida de I.A

Mensagem por Super Games em Qui 30 Set 2010, 21:41

Janx escreveu:IA é complicado, de um jogo de luta dificulta mais ainda, no estilo Super Smash Bros fica ainda pior!
Você tem que levar tudo isso em conta:
Posição do personagem no terreno, se estiver fora é preciso voltar
Itens pelo terreno, itens vindo em minha direção para desviar
Personagens inimigos, qual devo atacar? Inteligencia para não deixar o mesmo voltar para o terreno. Desviar dos ataques quando necessário, pular, saber como chegar até certo ponto no mapa (Para pegar algum item ou chegar até o inimigo, ou simplesmente para fugir).

É muito complicado, para deixar o movimento inimigo mais natural, é estritamente necessário que ambos usem a mesma engine de movimento. Ou seja, você não pode fazer para o player se mover dessa forma:

if key_check(vk_right)
{hspeed = 2;}

e no CPU:
if ... //Condições para movimentar para a direita
{x += 5;}

Primeiro que isso já da a CPU uma velocidade maior, sem desaceleração. Seria o mesmo que fazer um jogo de "pong" em que o movimento do player tem uma aceleração para o movimento da barra, enquanto a do inimigo é simplesmente colocada na posição Y do bola. Isso tornaria o jogo simplesmente impossivel de se vencer.

Então, como você deve fazer para sua IA funcionar?
Dificil dizer, não sabemos tudo o que seu jogo tem nem como sua engine funciona. Se os personagens tem abilidades diferenciadas a IA terá que ser muito mais flexivel.

A base de se fazer uma IA é pela checagem de alguns eventos e eventos de maior prioridade.
Hã?

Vou usar de exemplo o jogo Super Smash Bros, imagine que temos uma luta entre 2 personagens, Fox e Mario.
Fox é controlado pelo jogador e o Mario é pela CPU, Mario está com 100% de dano e o Fox com 20%. O Fox chuta o mario para longe do terreno, qual a prioridade da IA? Ficar vivo. O que ela deveria fazer? Tentar voltar ao terreno ou tentar acertar o Fox no terreno usando as bolas de fogo?

Outro exemplo:
Digamos que o Fox está com uma bomba na mão, o mario está com 100% de dano, se a bomba o acertar concerteza ele morreria. Fox joga a bomba, como o Mario deveria reagir? Sair correndo na direção do Fox para tentar acertá-lo (e consequentemente em direção à bomba) ou pular para desviar da bomba?

Bom, não temos como te ajudar a fazer a IA do seu jogo. O máximo que podemos fazer é te mostrar a lógica do funcionamento da Inteligencia Artificial. O resto é por sua conta.

Ajudou muito Janx, mais eu quero que o inimigo pule para defender do ataque do Player.

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvida de I.A

Mensagem por Janx em Qui 30 Set 2010, 22:41

¬¬"

Pelo jeito você nem leu o que eu falei ¬¬
Não temos como te ajudar, não sabemos como sua engine funciona só podemos passar a lógica! Você ja tentou fazer alguma coisa sozinho?

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvida de I.A

Mensagem por Super Games em Qui 30 Set 2010, 22:52

Tentei agora e deu certo! Podem fechar o tópico pois consegui fazer a minha I.A.

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvida de I.A

Mensagem por Conteúdo patrocinado Hoje à(s) 05:54


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