[Tutorial] IA simples de inimigo (estilo RPG)

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

[Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por Thiago_o_programador em Sab 10 Jul 2010, 10:31

Nome: Ia simples de inimigo de RPG
O que iremos fazer? Esse tutorial mostrara como fazer um simples inimigo estilo RPG.
Do que iremos presisar? Presisaremos de: Sprites de todas as posisões do inimigo. E tambem de um player. E tambem de um objeto chamado: obj_fogo.

Mãos a obra!

Va no create do inimigo e crie as seguintes variaveis:
Código:
vida = 100 max_vida=vida image_speed = 0.2 cima = false baixo = false esquerda = false direita = false

Agora vamos para o step:
Código:
if player.y<y and player.x<x {cima=true baixo=false esquerda=false direita=false}
//se o player estiver acima e a esquerda, então ele vai mudar o sprite para cima.
if player.y>y and player.x>x {cima=false baixo=true esquerda=false direita=false}
////se o player estiver abaixo e a direita, então ele vai mudar o sprite para baixo.
if player.y<y and player.x>x {cima=false baixo=false esquerda=false direita=true}
//se o player estiver acima e a direita, então ele vai mudar o sprite para direita.
if player.y>y and player.x<x {cima=false baixo=false esquerda=true direita=false}
//se o player estiver abaixo e a esquerda, então ele vai mudar o sprite para esquerda.
if cima=true {sprite_index=inimigo_frente}
if baixo=true {sprite_index=inimigo_tras}
if direita=true {sprite_index=inimigo_direita}
if esquerda=true {sprite_index=inimigo_esquerda}
//faz ele checar se as variaveis estão "trues" ou seja verdadeiras, caso a resposta seja afirmativa, ele vai mudar as sprites
mp_potential_step(player.x,player.y,3,solid)//faz o inimigo correr atras do player desviando-se dos obstaculos, com velocidade 3
if 1+floor(random(30))=18 {if cima = true { sprite_index = inimigo_ataque_frente; instance_create(x,y,fogo)}if baixo = true { sprite_index = inimigo_ataque_atras; instance_create(x,y,fogo)} if esquerda = true { sprite_index = inimigo_ataque_esquerda; instance_create(x,y,fogo)}}if cima = true { sprite_index = inimigo_ataque_direita; instance_create(x,y,fogo)}//se for jogado por exemplo um dado com 30 fasses e se por algum acaso cair na fasse 18, ele checkara qual a sua posisão atual e assim mudara para o sprite correspondente enquanto cria o obj_fogo.

Agora va no obj_fogo, e no CREATE coloque:
Código:
if obj_inimigo.cima=true {image_angle=90 vspeed=-8}
if obj_inimigo.baixo=true {image_angle=270 vspeed=8}
if obj_inimigo.esquerda=true {image_angle=180 hspeed=-8}
if obj_inimigo.direita=true {image_angle=0 hspeed=8}
//muda o angulo consoante com a posição do inimigo, juntamente com a direção e a velocidade.

Espero que tenham gostado! Até a proxima!

Comentem!

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

Re: [Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por BioTrust em Sab 10 Jul 2010, 10:37

Parabéns =D
Tutorial muito bom - isto me serviria há alguns dias atrás Sad - mas do mesmo jeito, belo tutorial.

Pros.:
Simples e coesivo
Fácil aprendizagem

Contras.:
Sem tradução
Sem explicação

Resumindo:
Seu tutorial está muito bom, só acho que faltou uma explicação de cada coisa.
Espero mais tutos seus, abraços

BioTrust

Número de Mensagens : 410
Idade : 19
Data de inscrição : 04/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://livrodojovemnerd.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por Thiago_o_programador em Sab 10 Jul 2010, 10:41

vlw cara! Obrigado! Estou sempre tentando ajudar!
E sobre as explicações...
Eu expliquei parte por parte nos proprios codes. Faltou alguma coisa?

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

Re: [Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por BioTrust em Sab 10 Jul 2010, 10:43

Tipo, uma explicação a parte. Mesmo usando o // fica muito junto, e aí não da pra ler.
Por exemplo:
Código:
Você coloca seu code aqui sem a explicação de //
Explicação do code acima:
Você terá que colocar seu code ali naquela parte sem usar as barras para separar os codes das falas.

Entendeu?

BioTrust

Número de Mensagens : 410
Idade : 19
Data de inscrição : 04/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://livrodojovemnerd.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por Lolegal em Sab 10 Jul 2010, 10:55

O Tuto ficou muito bom, está bem explicado.
Só não entendi isso para que serve?:
Código:
if 1+floor(random(30))=18

Lolegal

Número de Mensagens : 190
Idade : 22
Data de inscrição : 18/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por Thiago_o_programador em Sab 10 Jul 2010, 10:58

se for jogado por exemplo um dado com 30 fasses e se por algum acaso cair na fasse 18, ele checkara qual a sua posisão atual e assim mudara para o sprite correspondente enquanto cria o obj_fogo.

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

Re: [Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por Salathiel em Sab 10 Jul 2010, 11:39

Ficou muito bom.
So que faltou explicação

Agora va no obj_fogo, e no CREATE coloque:

Código:
if obj_inimigo.cima=true {image_angle=90 vspeed=-8}
if obj_inimigo.baixo=true {image_angle=270 vspeed=8}
if obj_inimigo.esquerda=true {image_angle=180 hspeed=-8}
if obj_inimigo.direita=true {image_angle=0 hspeed=8}
//muda o angulo consoante com a posição do inimigo, juntamente com a direção e a velocidade.

Eu tava procurando isso.
Mais assim e muito ruim tem que criar 4 obj só para o inimigo.

Salathiel

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

http://salathiel1337.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por Thiago_o_programador em Sab 10 Jul 2010, 11:51

não presisa criar 4 objetos não só basta o obj_fogo msm.

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

Re: [Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por soueunox em Ter 17 Jul 2012, 20:24

apareceu esse erro:

Código:

___________________________________________
ERROR in
action number 1
of  Step Event
for object obj_inimigo:

Creating instance for non-existing object: 72

soueunox

Número de Mensagens : 112
Idade : 22
Data de inscrição : 17/06/2012
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por ladinios.takumo em Ter 04 Set 2012, 18:16

só uma pergunta.
esse AI é o mesmo utilizado na game fire storm do JOZ.?

ladinios.takumo

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

Voltar ao Topo Ir em baixo

Re: [Tutorial] IA simples de inimigo (estilo RPG)

Mensagem por Conteúdo patrocinado Hoje à(s) 22:25


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