Entrar
Últimos assuntos
» Problema ao entrar por uma porta e voltar por elapor aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
+9
LeandroDaher
Luan Maia
Henrique-HB
VerdiMare
GuiEdu
Super Games
makgamer
rikerike
SIGILOSO
13 participantes
Página 1 de 1
[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
Pipolho: Monstro burro!! Pq não me ataca??
SIGI: Idiota! Ele não sabe onde vc está!
Pipolho: EEINN???
Olá criaturas!! Resolvi abordar um tema que causa muita dor de cabeça na maioria dos iniciantes. A maldita da IA... pq é tão difícil fazer com que os objetos possam "pensar" dentro dos seus jogos? A resposta para essa e outras perguntas vc descobre aqui... ou na novela das 8.
Nome: IA: O INIMIGO PENSANTE
Descrição: Vamos ensinar os inimigos dos nossos jogos a interagir com nossos players!
Nível de dificuldade: Iniciante/semi-mediano
Requerimentos: GM 6/7/8 - Pro/Lite
IA? Isso é alguma nova doença?
IA nada mais é, do que uma Inteligência Artificial. Eu sei, o bonzão... vc já sabia disso. Mas você sabe interpretar isso?
Para que haja inteligência, é necessário que exista conhecimento, ou seja, para que nosso inimigo tenha uma IA, ele deve "aprender" a atacar o player.
E sendo uma inteligência artifical, nós é que temos que ensinar a ele. Ele não pode aprender sozinho... oohh..... ¬¬"
Pipolho: Que inimigo burro.... os outros é quem tem q ensinar as coisas pra ele! xD
SIGI: Você não sabe nem soletrar seu nome, então fique calado...
Sendo assim, vamos começar a elaborar uma IA bem simples, para que vocês comecem a entender como isso funciona!
Acredito que vcs saibam criar uma engine de plataforma simples... se souberem, continuem lendo. Se não souberem... Bem vindos ao GM!! \0/ \0/ Parem de ler isso e vão ler as aulas do RedDragon!
Crie uma engine rápida de plataforma, apenas o chão é necessário.Crie as sprites para o inimigo e para o player. E crie tbm os objetos: o player, e é claro, um inimigo. Nesse caso, nosso inimigo irá perseguir nosso player. Isso pode ser mais fácil do que você imagina...
Coloque no STEP de nosso amigo inimigo ( Eeinn?? O_o ), o seguinte código:
- Código:
if player.x+50<x
x-=4
if player.x-50>x
x+=4
Pipolho: Sigi, seu paspalho... até eu sei fazer isso!!!
SIGI: Não sabe nao... ¬¬
Pipolho: ....... mas tenho certeza de que deve ser fácil... u.u
Como deve ter percebido, esse código fará com que o inimigo siga o player horizontalmente... dãa.... (se não tinha percebido isso, LEIA AS AULAS DO REDDRAGON!!)
Mas... o que significa aquele 50?
Esse 50 fará com que o inimigo pare ao se aproximar do player,evitando que ele fique "dançando" em cima dele... rsrs
Isso dará mais realismo ao seu inimigo, assim vc pode inclusive criar um ataque corpo-a-corpo, dessa forma:
- Código:
if player.x+50>x and player.x-50<x
atacar=true
Mto bem,nosso inimigo já corre atrás do player. Mas....
O inimigo não pode correr atrás do player se estiver bem distante dele...
O senhor Senon Barriga e Pesado apenas persegue o seu Madruga quando está perto dele,não é msm? Então vamos acrescentar ao nosso código,numa linha antes dele, o seguinte:
- Código:
if player.x+500>x and player.x-500<x
{
- Código:
}
Pipolho: Mark Overmars criou a função "distance to object", sabia??
SIGI: Silent!! I kill you!!
Bem, como Pipolho disse, eu poderia ter usado a função distance_to_object.
Mas como se trata da distância horizontal, eu resolvi colocar desse jeito... e eu acho q é mais prático tbm
Ou seja, o inimigo só irá perseguir o player se ele estiver a menos de 500 pixels de distância. Vc pode alterar esse valor pra expandir o campo de visão do inimigo.
Legal... nosso inimigo já "sabe" perseguir o player! Mas quero mais.... quero mais!!
Já que essa é uma engine de plataformas, imagino que seu player possa pular, correto? Então nada mais justo do que o nosso inimigo poder pular tbm! =D
Pipolho: E se o inimigo for manco? o_o
SIGI: Quem liga? Super Mario jamais poderia pular tão alto. Ninguem pula tão alto!
Precisamos fazer com que o inimigo saiba quando deve pular.
E isso é ridiculamente simples!! Em seu STEP, coloque:
- Código:
if player.y+50<y
{
if estiver no chao
vspeed=-8
}
Viu só?? Quando o inimigo estiver no chão e o player estiver mais alto que ele, o inimigo irá pular para alcança-lo! Simples demais!!
E claro que ainda existem mtas coisas a serem introduzidas, mas essa é apenas uma introdução pra vc começar a entender como funciona uma IA.
Pipolho: Mas eu quero que o inimigo possa se esconder atrás das caixas,para pegar o player de surpresa, e matá-lo se o player estiver assustado!!
SIGI: ...... Vá ler as aulas do RedDragon!!!
É isso aeew gente... DIGAM NÃO A INFANTILIDADE!!
Se estão no forum, o ajude a crescer!!
Última edição por SIGILOSO em Sáb 21 Ago 2010, 09:28, editado 2 vez(es)
SIGILOSO- Games Ranking :
Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Reputação : 39
Número de Mensagens : 2267
Prêmios :
x 0 x 2 x 0
x 4 x 2 x 1
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
Fantastico!!!!!!!!!!!!!!!!!!!!
Vc sabe msm dar gosto a leitura apesar de ja saber disto. li tudo.
"Silent!! I kill you!!" lloooooll
Vc sabe msm dar gosto a leitura apesar de ja saber disto. li tudo.
"Silent!! I kill you!!" lloooooll
rikerike- Games Ranking :
Notas recebidas : C
Data de inscrição : 30/06/2010
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
kk eu ri kkkkk
um sigi-tuto é? lol
otimo tutorial, e vc sabe colocar graça em um tutorial...(diferente de mim...)
eu ja sabia disso só que só de ler o tutorial ja foi bom.
PS: o que é um pipolho?(eu acho que as aulas do reddragon n incinam isto!XD)
parabens!
um sigi-tuto é? lol
otimo tutorial, e vc sabe colocar graça em um tutorial...(diferente de mim...)
eu ja sabia disso só que só de ler o tutorial ja foi bom.
PS: o que é um pipolho?(eu acho que as aulas do reddragon n incinam isto!XD)
parabens!
makgamer- Games Ranking :
Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- Unity
- Java
- C#
- Javascript
- RPG Maker
- C ou C++
- Outros
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
KKKKKKKKK
Cai da cadeira de verdade!
Muito massa cara.
NOTA 100.000.000!
Cai da cadeira de verdade!
Muito massa cara.
NOTA 100.000.000!
Super Games- Games Ranking :
Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2799
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Java
- C ou C++
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
Cara, vc tá fazendo sucesso
O enredo de suas histórias são demais, não consigo parar de ler, sem falar que o conteúdo é super instrutivo e de fácil aprendizagem
Voto no SIGI para mod xD
O enredo de suas histórias são demais, não consigo parar de ler, sem falar que o conteúdo é super instrutivo e de fácil aprendizagem
Voto no SIGI para mod xD
GuiEdu- Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
makgamer says:
PS: o que é um pipolho?(eu acho que as aulas do reddragon n incinam isto!XD)
parabens!
Pipolho é um personagem que eu inventei pra tornar os tutos mais divertidos. Na verdade ele representa todos os novatos impacientes, que ao invéz de tentarem aprender a criar algo, ficam pertubando pra conseguirem tudo pronto
GuiEdu says:
Cara, vc tá fazendo sucesso Happy
O enredo de suas histórias são demais, não consigo parar de ler, sem falar que o conteúdo é super instrutivo e de fácil aprendizagem Happy
Voto no SIGI para mod xD
Minhas histórias? Não estaria falando do meu tuto sobre criação de histórias? o_o
Obrigado pelo elogio, se um dia eu for moderador, farei o melhor de mim! xD
SIGILOSO- Games Ranking :
Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Reputação : 39
Número de Mensagens : 2267
Prêmios :
x 0 x 2 x 0
x 4 x 2 x 1
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
Muito bom Sigi! mais um tuto baumzão!
me ajudo pakas xD
eu ficava tentando usar esse código .-.
vlwss!
Até mais =D
me ajudo pakas xD
Pipolho: Mark Overmars criou a função "distance to object", sabia??
SIGI: Silent!! I kill you!!
eu ficava tentando usar esse código .-.
vlwss!
Até mais =D
VerdiMare- Data de inscrição : 21/02/2009
Reputação : 0
Número de Mensagens : 679
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
Bom tutorial, parabéns. Mas percebi que vc faz tanto condições com delimitadores como sem eles, minha dica seria para seguir um padrão e usa-los.
flw...........
flw...........
Henrique-HB- Data de inscrição : 23/06/2008
Reputação : 6
Número de Mensagens : 114
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
Ótimo tutorial, gostei muito! Você sim tem o dom de ensinar! xD
Luan Maia- Games Ranking :
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Reputação : 2
Número de Mensagens : 404
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
Henrique-HB says:
Bom tutorial, parabéns. Mas percebi que vc faz tanto condições com delimitadores como sem eles, minha dica seria para seguir um padrão e usa-los.
flw...........
hehe, já se tornou um hábito... xD
Consegui me adaptar a essa estrutura de códigos de uma forma que eu
nao me embole. Inclusive, os códigos que eu coloco nos tutos, são apenas um complemento, para que o leitor entenda como eles funcionam. Se eu colocasse eles todos já preparados, não ajudaria ninguem
Mto obrigado pelo elogio! =D
SIGILOSO- Games Ranking :
Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Reputação : 39
Número de Mensagens : 2267
Prêmios :
x 0 x 2 x 0
x 4 x 2 x 1
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
Cara,muinto bom,seus tutos tem sempre comédia,isso me inspira a ler tudo,tudinho mesmo,até a linha de edição eu li saca só:
kk,alem de enssinar,tem uma pitada (varias) de comédia,flws.
Última edição por SIGILOSO em Sab Ago 21, 2010 9:28 am, editado 2 vezes
LeandroDaher- Data de inscrição : 13/05/2010
Reputação : 3
Número de Mensagens : 357
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
Vlw cara!!!!!!!,eu acompanhei o tuto e resolvi testar
achei q ia ser dificil,mas q nada!fikou massa
vlw msm!
achei q ia ser dificil,mas q nada!fikou massa
vlw msm!
Luca$***- Data de inscrição : 26/12/2009
Reputação : 13
Número de Mensagens : 193
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
mto boa, adorei sua engine!
M.F-Sasuke- Data de inscrição : 20/08/2010
Reputação : 0
Número de Mensagens : 167
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
eu sempre achei IA uma coisa facil de se fazer
é so checar quando o player deve pular, quando deve andar e etc
eu gosto de fazer inimigos que não pareçam ser muito burros, tipo eu ja vi tutos que falam pra usar o collision_line (acho que é assim a função) para saber se o inimigo vê o player
eu prefiro fazer uma variavel chamada ja_viu e na primeira vez que a linha não colidir ja_viu vira true e ele segue o player incansavelmente ate o player ou o inimigo sair de cena, fica mais interessante, tbm eu faço objetos redondos grandes e toda vez que acontece algo como um tiro, um inimigo que segue o player e etc cria essa bola inviivel e os inimigos que colidem com essa bola tbm vão atras do player como se tivessem percebido a presença dele sem vê-lo
tem muitas coisas que da pra fazer, mas esse tuto ai vai dar a bas epara aqueles que estão perdidos
boa sorte pros perdidos \o/
é so checar quando o player deve pular, quando deve andar e etc
eu gosto de fazer inimigos que não pareçam ser muito burros, tipo eu ja vi tutos que falam pra usar o collision_line (acho que é assim a função) para saber se o inimigo vê o player
eu prefiro fazer uma variavel chamada ja_viu e na primeira vez que a linha não colidir ja_viu vira true e ele segue o player incansavelmente ate o player ou o inimigo sair de cena, fica mais interessante, tbm eu faço objetos redondos grandes e toda vez que acontece algo como um tiro, um inimigo que segue o player e etc cria essa bola inviivel e os inimigos que colidem com essa bola tbm vão atras do player como se tivessem percebido a presença dele sem vê-lo
tem muitas coisas que da pra fazer, mas esse tuto ai vai dar a bas epara aqueles que estão perdidos
boa sorte pros perdidos \o/
Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!
Não sei como não tinha visto esse tutorial antes. Está muito bem explicado SIGILOSO. Para um iniciante, é muito fácil aprender da forma quevocê escreveu, está de parabéns!
PS: Bem que no seu próximo tuto, você poderia nos ensinar fazer uma IA de xadrez. Ajudaria muito rs
PS: Bem que no seu próximo tuto, você poderia nos ensinar fazer uma IA de xadrez. Ajudaria muito rs
fonetico- Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|