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


Ajuda com IA Dinamico

Ir para baixo

Ajuda com IA Dinamico Empty Ajuda com IA Dinamico

Mensagem por Convidad Seg 21 Nov 2011, 14:22

E aew galera,tudo bem ?
Estive criado um jogo estilo yu-gi-oh,com atk ,def e tals,mas o problema e que vejo possibilidades apenas para modo dual player,quero dizer,minha visão de criação desse jogo se limita ao jogo de duelo entre dois players.
Com isso pensei,seria bem legal ter uma espécie de IA para fazer o jogo como o modo single player,apenas você e a máquina.Mas com isso veio minha dúvida :

Como fazer algo automatizado ? Pois colocar possibilidade por possibilidade vai ficar trabalhoso.
A máquina terá que ver o que é melhor por exemplo : destruir um monstro do inimigo ou destruir a carta mágica com efeito "x" ...........
Desde já agradeço Exclamation


Última edição por TRFN em Seg 21 Nov 2011, 14:47, editado 1 vez(es)
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Ajuda com IA Dinamico Empty Re: Ajuda com IA Dinamico

Mensagem por saim Seg 21 Nov 2011, 14:38

Se por "precisas e objetivas" você quer dizer "com código", pode esquecer.
O lance é que uma IA desse porte, além de ser, sim, um bocado complexa, requer um completo entendimento da engine que você tem E das estratégias a serem adotadas em CADA caso. Mais que isso, requer também que se saiba quais estratégiasNÃO adotar. E ainda é preciso saber ser justo com o jogador, ou seja, a IA só tomará as decisões com base nas cartas que estão abertas. Não usar, jamais, as cartas encobertas pra serem levadas em conta nas decisões.

Bom, já que estou gastando seu tempo, um resumo dessas dicas:

será preciso conhecer a engine por completo para:
- Saber quais cartas devem estar na mesa a cada momento
- Saber que tipo de ação um jogador poderia tomar (e, portanto, que tipo de ação a IA pode tomar)
-

será preciso conhecer bem as estratégias para:
- definir qual o melhor curso de ações em função das cartas que estão na mesa e da probabilidade das cartas que não estão na mesa serem desse ou daquele tipo
- em função do que for "melhor", tomar decisões que pareçam ao jogador agressivas, conservadoras ou até idiotas, dependendo do estilo que você quer dar ao inimigo.

Será preciso saber contar cartas para:
- Estimar quais cartas o jogador pode ter e levar a probabilidade dele ter essa ou aquela carta na tomada de decisão.

Enfim, é basicamente uma questão de prever todas as possibilidades e tomar decisões baseadas em que caso o presente momento se encontra. Sei que não é um jogo de truco, mas seria assim: eu tenho zap e sete de copas, o que é garantia de vitória. Assim, a jogada destina-se a valorizar o jogo.
Conservador: Eu jogo a terceira carta, vejo o resultado. Se ganhei, truco a volta. Se perdi, espero pra ver o que o adversário tem e truco na hora de mostrar minha carta, o que pode induzi-lo a aumentar a aposta.
Agressivo: Truco logo de cara. Se o adversário (jogador) correr, fim, pego um "tento" ("tento" é ponto, caso você não jogue truco). Se ele chamar, eu tento PERDER a primeira rodada pra ele gritar que aumentou a aposta (seis!!!) e, na mesma hora, aumento de novo.
Note, em nenhum dos casos eu sei o que o jogador tem, só planejo o curso de ações com base no que está disponível. Se você jogar bastante, vai acabar descobrindo as melhores estratégias e poderá implementá-las na sua IA. Ou isso ou o jogador vai descobrir a melhor estratégia e acabar com os inimigos sem o menor esforço (a menos, claro, que você trapaceie e coloque inimigos impossíveis de serem vencidos).

Não foi muito objetivo, né? Foi mal, mas é que não dá pra ser objetivo. A pergunta É subjetiva.
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 : Ajuda com IA Dinamico 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

Ajuda com IA Dinamico Empty Re: Ajuda com IA Dinamico

Mensagem por Convidad Seg 21 Nov 2011, 15:10

Olha cara,desculpa se fui um pouco "inventador de moda" ao colocar aquilo no final,não foi essa minha intenção,precisava mais de ideias que tudo.
É que as vezes não sei expor minhas ideias.
A propósito,jogo truco sim,todos os dias eu jogo(2° a 6° feira,na escola) .
Mas voltando ao assunto,eu entendi o que você quis dizer basicamente,inclusive até tinha pensado em algo "parecido",só não aprofundei como você aprofundou no assunto.O que seria minha ideia é tipo inserir todas as jogadas possíveis e ver qual a melhor,já que o máximo de cartas e 5 no campo de batalha é também o máximo no baralho é 40 cartas.Veja um exemplo do que pensei :
Código:

//c_showed :: Verifica se a carta está para cima ou para baixo.
//card[...] :: Slots para cartas,lugares "possiveis" para ficarem.
//isso é só um "exemplo é ideia",não tem nada a ver com oque estou fazendo por hora............

if((card[0]=exodia && c_showed[0]=true) or (card[1]=exodia && c_showed[1]=true) or (card[2]=exodia && c_showed[2]=true) or (card[3]=exodia && c_showed[3]=true) or (card[4]=exodia && c_showed[4]=true)){
action="perdeu"; // neste exemplo,se o cara tiver um exodia a partida acaba,mas ele tem que estar para cima,mostrada no caso.
}


Essa é minha ideia,mas se eu tiver que transcrever todas as jogadas possíveis,criar uma condição para cada uma das cartas ,segundo as cartas que o jogador tem : vai ficar enorme.
Imagina que tenha 100 cartas diferentes é que eu vou ter que verificar quais 40 cartas o player tem das 100......é ainda analizar as jogadas,todas as possíveis jogadas............queria algo mais dinâmico........

mas vlw ai pela ajuda Saim.Se alguem souber o modo de simplificar isso,me fala.
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Ajuda com IA Dinamico Empty Re: Ajuda com IA Dinamico

Mensagem por saim Seg 21 Nov 2011, 16:17

O que você pode fazer pra simplificar (se é que dá pra fazer isso, eu nunca joguei esses jogos de cartas com "efeitos especiais") é aninhar algumas possibilidades. (não sei se se usa esse termo, "aninhar", em português. No original é "nesting").
Código:
if card[0]=???{
  if c_showed=???{
    //algo
    }
  else if c_showed=???{
    //outra coisa
  }
  else{
    //outra coisa
  }
}
else if card[0]=!!!{
 //por aí vai
 }
Claro que, pra muitas possibilidades, o código vai ficar grande de qualquer jeito. E você pode criar um script pra um dado tamanho de aninhamento, se achar que isso pode facilitar. Por exemplo:
Código:
if card[0]=???{
 scriptDaCard0Ser???
 }
 else{
  scriptDaCard0NãoSer???
  }
Ou ainda, você pode prever algumas situações mais comuns e usar choose a partir daí. Como um boss com ataques aleatórios: na hora do ataque, ele faz "a=choose(0, 0, 0, 1, 2); event_perform(ataque[a]);". Isso daria uma orientação genérica à sua IA e um pouco de imprevisibilidade.
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 : Ajuda com IA Dinamico 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

Ajuda com IA Dinamico Empty Re: Ajuda com IA Dinamico

Mensagem por Convidad Seg 21 Nov 2011, 16:29

entendo....
Você me deu uma ideia muito boa,vou fazer um sistema para descobrir todas as cartas da mesa viradas para cima é registrar as possibilidades,é ai ele escolhe uma coisa a fazer,hora ele faz burrada,hora ele faz uma jogada inteligente.Assim acho que o jogo não vai ficar "impossível" de ganhar da "máquina".
Sobre a varialvel c_showed,é só para verificar se a carta está para cima,é se a carta não estiver,ele nem vai analizar,assim poupa meu trabalho.
A ideia dos scripts e uma boa.Assim não vou me confundir tanto.
Pelo que vejo vou ter que fazer uma possibilidade de jogada,segundo cada carta que o player pode possuir.Mas não só isso,vou ter que também fazer um sistema para que a "maquina" jogue também,tenha estratégias e tals.
Segundo o que percebo,as jogadas vão depender das cartas e jogadas do "jogador" .
Obrigado saim pela ajuda,se eu tiver outra dúvida eu falo.
Se tiver alguma ideia me fala aqui saim.
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Ajuda com IA Dinamico Empty Re: Ajuda com IA Dinamico

Mensagem por saim Seg 21 Nov 2011, 16:54

Tenho sim. Quer dizer, talvez eu tenha. Como disse, não conheço esses jogos, então posso estar falando bobagem, mas...
Já jogou FFXII? Se não sabe do que estou falando, pode simplesmente responder "não, nunca" e deixar de ler o resto.

Sabe aquele sistema de gambits? Em que você determina que ações cada personagem tomará a partir de determinadas situações, tipo "se houver qualquer amigo morto, usar phoenix down, mas antes disso, se eu estiver pra morrer, usar healing".
Spoiler:
Bom, o que eu vim sugerir é algo como esse sistema de gambits, só que você mesmo escreve, não deixa pro jogador fazer isso. Quer dizer: se a vida do inimigo está no fim, ele tomará atitudes mais desesperadas, se a magia dele está pra acabar, ele vai usar ataques mais focados no plano físico, por aí vai.
Claro que se seu jogo não usar variáveis como "vida" ou "magia", estou só ocupando seu tempo. De outra forma, mantenha isso em mente na hora de programar.
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 : Ajuda com IA Dinamico 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

Ajuda com IA Dinamico Empty Re: Ajuda com IA Dinamico

Mensagem por Convidad Seg 21 Nov 2011, 17:05

bem cara,não sei tbm se conhece yu-gi-oh,mas é um jogo de cartas que contem monstros(com determinados atk e def) é cartas mágicas,que o ajuda esses monstros.Por exemplo,tenho uma carta chamada "vult",ela tem 5000 de atk e 300 de def. Se no caso,ela estiver em modo de defesa,o 300 é que vai prevalecer é se ela for atacada por uma carta de 450 de atk,ela vai ser destruida.Mas se ela estiver em modo de atk (com o numero 5000 no caso) a outra carta é destruida ao atacar...é por ai vai.

saim,nunca joguei esse jogo que vc me falou,mas mesmo assim li até o final é entendi por "alto" a sua ideia.Exatamente isso que vou fazer : um sistema de vida,já pensava nisso antes,pois o jogo em si já tem esse sistema no duelo,mas agora ta mais claro para mim xD

O tenso vai ser agrupar as informações : A possibilidade de usar cartas mágicas,que fazer efeitos nos monstros do jogador ou do inimigo,a jogabilidade da "máquina" ,do player ao lançar as cartas no campo é o lance de cartas na sorte (tanto para o player quanto para a máquina,mas e claro com as cartas do baralho,não com todas no jogo).

só para constar : sim,esse jogo vai usar sistema de vida é efeitos(magia) também.

Mas sua ajuda ta sendo muito bem vinda,tem aberto minha mente.Então se tiver algo mais para sugerir ,sugira alguma dica Happy
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Ajuda com IA Dinamico Empty Re: Ajuda com IA Dinamico

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