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
» Problema ao entrar por uma porta e voltar por ela
por 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

Ir para baixo

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por SIGILOSO Sáb 21 Ago 2010, 00:23



Pipolho: Monstro burro!! Pq não me ataca??
SIGI: Idiota! Ele não sabe onde vc está!
Pipolho: EEINN??? anh!


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! Happy

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
Viu? Ao estar longe do player, nosso inimigo irá perseguí-lo, e ao se aproximar, ele ataca! Simples! Mas nesse caso, vc deve substituir esse "atacar=true" pelos códigos referentes ao ataque,ok?

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
{
E no fim do código, claro...
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 Happy
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
}
Lógico... vc vai trocar esse "estiver no chao" pelo código que vc utiliza pra saber quando o objeto está no chão.
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. Happy


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!!
afro




Última edição por SIGILOSO em Sáb 21 Ago 2010, 09:28, editado 2 vez(es)
SIGILOSO
SIGILOSO

Games Ranking : Nota A

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 : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 4 Prata x 2 Bronze x 1

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

Ir para o topo Ir para baixo

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por rikerike Sáb 21 Ago 2010, 08:41

Fantastico!!!!!!!!!!!!!!!!!!!!
Vc sabe msm dar gosto a leitura apesar de ja saber disto. li tudo.

"Silent!! I kill you!!" lloooooll
rikerike
rikerike

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/06/2010
Reputação : 0
Número de Mensagens : 42
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! 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

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por makgamer Sáb 21 Ago 2010, 09:48

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!
makgamer
makgamer

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 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


Ir para o topo Ir para baixo

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por Super Games Sáb 21 Ago 2010, 09:53

KKKKKKKKK
Cai da cadeira de verdade!
Muito massa cara.
NOTA 100.000.000!
Super Games
Super Games

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2799
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Java
  • C ou C++


Ir para o topo Ir para baixo

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por GuiEdu Sáb 21 Ago 2010, 12:57

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
GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! 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

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por SIGILOSO Sáb 21 Ago 2010, 13:09

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 Happy

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
afro
SIGILOSO
SIGILOSO

Games Ranking : Nota A

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 : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 4 Prata x 2 Bronze x 1

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

Ir para o topo Ir para baixo

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por VerdiMare Sáb 21 Ago 2010, 13:47

Muito bom Sigi! mais um tuto baumzão!
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
VerdiMare

Data de inscrição : 21/02/2009
Reputação : 0
Número de Mensagens : 679
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! 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

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por Henrique-HB Sáb 21 Ago 2010, 13:57

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...........
Henrique-HB
Henrique-HB

Data de inscrição : 23/06/2008
Reputação : 6
Número de Mensagens : 114
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! 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

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por Luan Maia Sáb 21 Ago 2010, 14:22

Ótimo tutorial, gostei muito! Você sim tem o dom de ensinar! xD
flw
Luan Maia
Luan Maia

Games Ranking : Sem avaliações

Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Reputação : 2
Número de Mensagens : 404
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! 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

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por SIGILOSO Sáb 21 Ago 2010, 15:31

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 Happy
Mto obrigado pelo elogio! =D
afro
SIGILOSO
SIGILOSO

Games Ranking : Nota A

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 : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 4 Prata x 2 Bronze x 1

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

Ir para o topo Ir para baixo

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por LeandroDaher Sáb 21 Ago 2010, 16:30

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ó:

Última edição por SIGILOSO em Sab Ago 21, 2010 9:28 am, editado 2 vezes
kk,alem de enssinar,tem uma pitada (varias) de comédia,flws.
LeandroDaher
LeandroDaher

Data de inscrição : 13/05/2010
Reputação : 3
Número de Mensagens : 357
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! 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

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por Luca$*** Sáb 21 Ago 2010, 21:05

Vlw cara!!!!!!!,eu acompanhei o tuto e resolvi testar
achei q ia ser dificil,mas q nada!fikou massa
vlw msm!
Luca$***
Luca$***

Data de inscrição : 26/12/2009
Reputação : 13
Número de Mensagens : 193
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! 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

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por M.F-Sasuke Ter 21 Dez 2010, 20:32

mto boa, adorei sua engine!
blz
M.F-Sasuke
M.F-Sasuke

Data de inscrição : 20/08/2010
Reputação : 0
Número de Mensagens : 167
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! 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

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por Henrique_GJ Ter 21 Dez 2010, 20:49

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/
Henrique_GJ
Henrique_GJ

Data de inscrição : 30/12/2009
Reputação : 4
Número de Mensagens : 1344
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Java
  • C ou C++


http://sitedosjogos.forumeiros.com

Ir para o topo Ir para baixo

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por fonetico Ter 21 Dez 2010, 20:58

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
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! 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

[ SIGI-TUTO ] IA: O INIMIGO PENSANTE!! Empty Re: [ SIGI-TUTO ] IA: O INIMIGO PENSANTE!!

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


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