Inteligência Artificial de chefes (simples)

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

Qualidade Inteligência Artificial de chefes (simples)

Mensagem por Froidz em Ter 05 Ago 2008, 16:35

Inteligência Artificial de chefes (simples)

Ferramenta: Game Maker 6.1 (ou superior)
Nível de experiência: Intermediário/Avançado

Descrição:

Depois de um bom tempo sem escrever tutoriais, venho aqui com este.
Nele, ensinarei como criar um chefe simples, com dois tipos de ataque e no estilo plataforma. Esse script, foi usado para fazer o primeiro chefe do Guerreiro Para Sempre 3.

1º - Variáveis

Antes de tudo, no evento Create, crie as seguintes variáveis:

Código:
gravity=0.5 //Gravidade
velocidade=2 //Velocidade
alarm[0]=round(random(90)+90) //Alarm 0
alarm[1]=round(random(90)+90) //Alarm 1
nochao=false //Está no chão
pulo=false //Pulo
ataque_especial=false //Ataque especial

2º - Atacando

Para atacar, vamos usar o Alarme 0 e 1. No Alarm0, vamos programar o ataque 1, o simples, e no Alarm1, vamos programar o ataque especial. Então, primeiramente, crie o Alarm0 e digite:

Código:
if ataque_especial=false //Caso o ataque especial seja falso
{
if distance_to_object(obj_player)<100 //Se a distância entre ele e o player forem menor que 100 pixels
{
if distance_to_object(obj_player)>60 //Se a distância entre ele e o player forem maior que 60 pixels
{
instance_create(x,y-10,obj_tiro) //Atirar
}
}

if distance_to_object(obj_player)<80 //Se a distância entre ele e o player forem menor que 80 pixels
{
if distance_to_object(obj_player)>30 //Se a distância entre ele e o player forem maior que 30 pixels
{
if nochao=true and pulo=false //Se ele estiver no chão, e não estiver pulando
{
nochao=false //Sair do chão
pulo=true //Pular
vspeed-=30 //Velocidade do pulo
}
}
}
}

alarm[0]=50 //Alarm0 igual à 50 milisegundos

Agora, vamos programar o ataque especial. Então, adicione o alarm 1 e digite:

Código:
//ataque especial
if ataque_especial=true //Caso o ataque especial for verdadeiro (true)
{
if obj_player.x<x //Caso o player estiver à direita do chefe
{
sprite_index=spr_chefeParado //Mudar para a sprite do chefe parado
instance_create(x,y-10,obj_ataqueEspecial) //Criar o ataque especial
}
if obj_player.x>x //Caso o player estiver à esquerda do chefe
{
sprite_index=spr_chefeParado //Mudar para a sprite do chefe parado
instance_create(x,y-10,obj_ataqueEspecial2) //Criar o ataque especial 2
}
ataque_especial=false //Ataque especial está falso
}

alarm[1]=30 //Alarm 1 igual à 30 milisegundos

Obs: a diferença do obj_ataqueEspecial para obj_ataqueEspecial2 é que o primeiro, vai na direção para a direita, e o outro para a esquerda.

Depois de ter programado os ataques, vamos ao evento Step, onde vamos adicionar a gravidade e fazer com que os ataques sejam acionados.

Então, adicione o evento Step e digite:

Código:
if place_free(x,y+1) //Se estiver livre para baixo
{
nochao=false //Não está no chão
gravity=0.75 //Gravidade igual à 0.75
}
else //Caso contrário
{
nochao=true //Está no chão
gravity=0 //Gravidade igual à zero
}

Agora:

Código:
//Muda a direção da sprite de acordo com a posição do player
if obj_player.x<x {image_xscale=1} //Se o player estiver à direita do chefe, inverter a sprite para a direita.
if obj_player.x>x {image_xscale=-1} //Se o player estiver à esquerda do chefe, inverter a sprite para a esquerda.

if distance_to_object(obj_player)<200 //Se a distância entre o chefe e o player forem menores que 200 pixels
{
sprite_index=spr_chefeAndando //Mudar a sprite do chefe
if obj_player.x<x {hspeed=-velocidade} //Se o player estiver à direita do chefe, mover para a direita
if obj_player.x>x {hspeed=+velocidade} //Se o player estiver à esquerda do chefe, mover para a esquerda
}

if distance_to_object(obj_player)>200 //Caso a distância entre o chefe e o player for maior que 200 pixels
{
sprite_index=spr_chefeParado //Mudar a sprite dele
hspeed=0 //Velocidade horizontal igual à zero
vspeed=0 //Velocidade vertical igual à zero
}

if distance_to_object(obj_player)<40 //Caso a distância entre o chefe e o player forem menor que 40 pixels
{
ataque_especial=true //Ativar o ataque especial
}

Definindo o ataque especial:

Código:
if ataque_especial=true //Caso o ataque especial for verdadeiro
{
hspeed=0 //Velocidade horizontal igual à zero
sprite_index=spr_chefeParado //Mudar a sprite do chefe
}

Para finalizar, crie um evento de colisão com o seu objeto padrão sólido, qualquer um que você use para fazer o chão:

Código:
move_contact_solid(direction,16) //Contato sólido
vspeed=0 //Velocidade vertical igual à zero
nochao=true //No chão é verdadeiro
pulo=false //Pulo é falso

Bom pessoal, preste bem atenção nos códigos e nos comentários, verá que irá precisar criar as sprites do chefe parado e andando, que irá precisar também criar os tiros e os ataques especiais, mas estes são objetos simples.

Espero ter ajudado.

Vlw!Happy

Froidz

Número de Mensagens : 1053
Idade : 23
Data de inscrição : 03/08/2008
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por Froidz em Qua 06 Ago 2008, 16:43

vixiii nenhum coment....
para terem uma prévia de como fica a IA do chefe, aki vai um video do Guerreiro Para Sempre 3, na parte do primeiro chefe ^^

http://br.youtube.com/watch?v=CUmweMFCTNc

E mais esse aqui para publicar o jogo...

http://br.youtube.com/watch?v=AA8wV70ZlVo

Froidz

Número de Mensagens : 1053
Idade : 23
Data de inscrição : 03/08/2008
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por GMBR em Qua 06 Ago 2008, 17:13

Muito bom, parabéns.
Tem aos montes seus tutoriais por aqui.
È bom ver este tipo de iniciativa.

GMBR

Número de Mensagens : 348
Data de inscrição : 26/02/2008
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gmbr.forumeiros.com

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por Volstagg em Qua 06 Ago 2008, 18:13

Parabéns!

Volstagg

Número de Mensagens : 353
Data de inscrição : 16/05/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por Convidad em Qui 07 Ago 2008, 00:14

Perfeito! Além de inteligente está muito bem formatado e de fácil entendimento!
Está bem versátil também: além do ataque normal tem também o especial.

Parabéns claudiob93!

Convidad
Convidado


Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por Froidz em Qui 07 Ago 2008, 11:40

Muito obrigado pessoal!

Em breve, mais tutoriais.. =)

Vlw!^^

Froidz

Número de Mensagens : 1053
Idade : 23
Data de inscrição : 03/08/2008
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por mayck em Qua 13 Jan 2010, 20:36

Vlw cara Muito Bom ta presizando disso vlw mesmo What a Face

mayck

Número de Mensagens : 370
Idade : 20
Data de inscrição : 11/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por chaampignon em Qua 13 Jan 2010, 20:41

kra, muito bom...vlw!!!...c puder postar tuturiais para game maker pro 8 tmb agradeco...mas estes jah foram muito uteis..vlw!! What a Face

chaampignon

Número de Mensagens : 124
Data de inscrição : 12/09/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por juao230 em Qui 28 Jan 2010, 23:33

Da pra postar uma engine?
Pq eu ñ consegui ageitar os sprites. Very Happy

juao230

Número de Mensagens : 217
Data de inscrição : 17/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por Kronos em Sab 13 Fev 2010, 03:30

Legal, vou usar em um dos meus progetos de arcade

Kronos

Número de Mensagens : 112
Idade : 20
Data de inscrição : 10/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por LeandroDaher em Sex 14 Maio 2010, 21:36

VLW VEI MUINTO LEGAL!

LeandroDaher

Número de Mensagens : 357
Idade : 20
Data de inscrição : 13/05/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por William Lima em Sex 14 Jan 2011, 23:26

mito bom esse tutorial, me ajudou muito... Happy

William Lima

Ranking : Nota A
Número de Mensagens : 426
Idade : 22
Data de inscrição : 10/09/2010
Notas recebidas : C+A+A+B+A
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 2
   : 0

http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Qualidade GuilhermeCDP

Mensagem por GuilhermeCDP em Sab 11 Fev 2012, 15:35

Gostei muito deste tutorial, ele me ajudou muito no game que estou trabalhando, nota 10!!

GuilhermeCDP

Número de Mensagens : 5
Idade : 19
Data de inscrição : 23/01/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por GMaker 81 em Qua 01 Ago 2012, 17:13

que coisa toda vez que eu faço isso aparece
[/code]ERROR in
action number 2
of Step Event
for object chefão fantasma:

Error in code at line 2:
if player.x ^
at position 12: Unknown variable x

GMaker 81

Número de Mensagens : 26
Idade : 16
Data de inscrição : 27/07/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por Thiago_o_programador em Qua 01 Ago 2012, 18:15

Uau, Jan, 2011 Guilherme você não viu isso?

@Topic: Cara, essa IA ta muito show de bola, bem bolada e bem feita,

Parabéns!

Thiago_o_programador

Ranking : Nota D
Número de Mensagens : 709
Idade : 19
Data de inscrição : 14/05/2009
Notas recebidas : D - C - D - C
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://www.jogosdahora.maisblog.net

Voltar ao Topo Ir em baixo

Qualidade Re: Inteligência Artificial de chefes (simples)

Mensagem por Conteúdo patrocinado Hoje à(s) 23:57


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