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
[ 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 : 2800
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
- Godot
- Javascript
- 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
Plataformas :- Game Maker Studio 2.0
- Unity
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
Tópicos semelhantes
» [ SIGI-TUTO ] TERREMOTO!!
» [ SIGI-TUTO ] CONTAGEM DE PONTOS!!
» [ SIGI-TUTO ] BARRAS PERSONALIZADAS!!
» [ SIGI-TUTO ] DESENHANDO EFEITOS!!
» [ SIGI-TUTO ] CRIANDO UMA HISTÓRIA/ROTEIRO!!
» [ SIGI-TUTO ] CONTAGEM DE PONTOS!!
» [ SIGI-TUTO ] BARRAS PERSONALIZADAS!!
» [ SIGI-TUTO ] DESENHANDO EFEITOS!!
» [ SIGI-TUTO ] CRIANDO UMA HISTÓRIA/ROTEIRO!!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos