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
» Colisões não funcionando
por RastaMaan Ontem à(s) 19:49

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Ontem à(s) 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

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21


[DUVIDA]Tower Defense em plataforma

5 participantes

Ir para baixo

[DUVIDA]Tower Defense em plataforma Empty [DUVIDA]Tower Defense em plataforma

Mensagem por Andrew3000 Ter 22 Nov 2011, 17:59

Pessoal,eu quero fazer um jogo tipo Tower defense.Esse é um jogo de plataforma e como se fosse na era medieval.
Explicação:Tem um guerreiro e ele tem que destruir um inimigo poderoso,e ao longo do jogo vai recrutando pessoas(arqueiros, bárbaros,magos,cavalos ... e por fim uma fênix)

Então o jogo tem um mineiro que com o tempo vai conseguindo dinheiro para comprar mais carinhas para conseguir um exército,e destruir o castelo inimigo.Indo direto ao ponto queria saber como ter varias vidas ao mesmo tempo ,como um carinha souber que se o inimigo estiver a uma tal distância ele atira e como fazer para os inimigos se organizarem e surgirem até um certo ponto .
Andrew3000
Andrew3000

Data de inscrição : 18/11/2011
Reputação : 1
Número de Mensagens : 20
Prêmios : [DUVIDA]Tower Defense em plataforma 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

[DUVIDA]Tower Defense em plataforma Empty Re: [DUVIDA]Tower Defense em plataforma

Mensagem por Joker Ter 22 Nov 2011, 18:46

Bom amigo uma da suas perguntas posso responder eu uso esse codico para fazer um canhao de tower defense...

Faça assim crie um objeto de um canhao de tower defense e coloque no creat :

Código:
tiro=true

No evento alarm coloque
Código:
tiro=true

e no evento steep coloque
esse codico faiz para se estiver em determinada distancia acontecer alguma açao...
Código:
if distance_to_object(obj_inimigo)<=200//se tiver a 200 pixel do objeto inimigo
{
image_angle=point_direction(x,y,obj_inimigo.x,obj_inimigo.y); //o canhao fica no angulo da inimigo
if tiro = true{ //variavel do tiro
instance_create(x,y,obj_tiro) //crie o obj_tiro
tiro=false // o tiro fica false so vai poder atira depois do da execuçao do alarm
alarm[0]=30} // a cada 1  30 steep aconteça a açao do tiro
}


Claro coloque isso no creat do obj_tiro


Código:
move_towards_point(obj_inimigo.x,inimigo.y,15) // faiz paraque o tiro va na direçao do inimigo

Bom eu respondi como faiz para para acontecer uma açao se estiver perto,mais quiz complementar como criar um canhao completo pois muita gente tem duvida disso...
Abraço se tiver duvida em relaçao com o codico so perguntar
Joker
Joker

Games Ranking : Sem avaliações

Data de inscrição : 08/11/2010
Reputação : 1
Número de Mensagens : 206
Prêmios : [DUVIDA]Tower Defense em plataforma 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

http://the-jokergames.blogspot.com/

Ir para o topo Ir para baixo

[DUVIDA]Tower Defense em plataforma Empty Re: [DUVIDA]Tower Defense em plataforma

Mensagem por saim Qui 24 Nov 2011, 11:47

Andrew3000 escreveu:queria saber como ter varias vidas ao mesmo tempo
Por "várias vidas ao mesmo tempo" você quer dizer "não usar a variável global 'health'"? Fácil, use uma variável local qualquer, tipo "vida". Tenho um tutorial sobre variáveis na minha assinatura, se você estiver com problemas nesse sentido.

Andrew3000 escreveu:como um carinha souber que se o inimigo estiver a uma tal distância ele atira
A joker já respondeu

Andrew3000 escreveu:como fazer para os inimigos se organizarem
Outra pergunta ambígua. Como você QUER que eles se organizem? Em formação? Quer que eles tomem decisões? Ou é simplesmente um pathfind?

Andrew3000 escreveu:e surgirem até um certo ponto .
Use um objeto pra criar os inimigos e ponha, nesse objeto, um contador. A cada inimigo criado, avance esse contador em uma unidade. Só crie os inimigos se esse contador estiver num valor menor que o número máximo de inimigos que você quer criar.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [DUVIDA]Tower Defense em plataforma Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[DUVIDA]Tower Defense em plataforma Empty Re: [DUVIDA]Tower Defense em plataforma

Mensagem por Andrew3000 Sex 25 Nov 2011, 17:23

Sobre as vidas eu quero dizer assim :
Eu faço vida no player e no inimigo e as duas diminui ao mesmo tempo ,o que faz para evitar isso ?

Sobre a formação eu queria uma coisa tipo assim:
Certos inimigos vão defender seu proprio castelo e os outros atacar o do player

Se precisar de alguma coisa a mais pode falar


Última edição por Andrew3000 em Sex 25 Nov 2011, 19:03, editado 1 vez(es) (Motivo da edição : Erro ortográfico)
Andrew3000
Andrew3000

Data de inscrição : 18/11/2011
Reputação : 1
Número de Mensagens : 20
Prêmios : [DUVIDA]Tower Defense em plataforma 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

[DUVIDA]Tower Defense em plataforma Empty Re: [DUVIDA]Tower Defense em plataforma

Mensagem por saim Seg 28 Nov 2011, 12:31

Andrew3000 escreveu:Sobre as vidas eu quero dizer assim :
Eu faço vida no player e no inimigo e as duas diminui ao mesmo tempo ,o que faz para evitar isso ?
Já respondido no post anterior: use uma variável local.

Andrew3000 escreveu:Sobre a formação eu queria uma coisa tipo assim:
Certos inimigos vão defender seu proprio castelo e os outros atacar o do player
Simplesmente um pathfind, então. Tenho um tutorial sobre o A* na minha assinatura, com um script adaptável. Pra escolher qual alvo tentar atingir, basta mudar o argumento do script.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [DUVIDA]Tower Defense em plataforma Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[DUVIDA]Tower Defense em plataforma Empty Re: [DUVIDA]Tower Defense em plataforma

Mensagem por Limalokão Seg 28 Nov 2011, 12:44

Olá amigo! Vi que você está fazendo um jogo igual ao meu =D olha umas screens do meu:
Spoiler:

Até agora está indo de vendo em popa! Não estranhe as linhas brancas pois é só para checar se está tudo correto =D o nome é SealFighter's =D
Limalokão
Limalokão

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 24/11/2009
Reputação : 10
Número de Mensagens : 805
Prêmios : [DUVIDA]Tower Defense em plataforma Empty

Medalhas x 0 Tutoriais x 1 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
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0


https://llgd.com.br

Ir para o topo Ir para baixo

[DUVIDA]Tower Defense em plataforma Empty Re: [DUVIDA]Tower Defense em plataforma

Mensagem por Andrew3000 Qua 30 Nov 2011, 19:32

Saim eu ainda estou perdido Zangado
Eu agradeceria se me explicasse algumas coisas melhor(porque eu ainda estou no nível iniciante).

Soul Limaloko, legal o seu jogo,é quase assim que estou querendo o meu ,a diferença é que o meu é meio era medieval.
Andrew3000
Andrew3000

Data de inscrição : 18/11/2011
Reputação : 1
Número de Mensagens : 20
Prêmios : [DUVIDA]Tower Defense em plataforma 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

[DUVIDA]Tower Defense em plataforma Empty Re: [DUVIDA]Tower Defense em plataforma

Mensagem por saim Qui 01 Dez 2011, 09:41

Hm... Deixa eu tentar explicar melhor, então.
Existem variáveis locais e globais. Algumas variáveis são built-ins (já vêm com o game maker). Existem built-ins dos dois tipos.
"locais" significa "atuam somente na instância" e "globais" significam "atuam no jogo todo".
Usar uma global pra determinar a vida de todos os inimigos causa o bug de atirar em um e matar todos.
(muito) mais informações podem ser encontradas no meu tutorial sobre variáveis, que eu criei justamente porque iniciantes têm dificuldade nesse assunto.

Quanto ao pathfind, pode esquecer, por enquanto. Não é nada básico. Requer, pra começar, um completo entendimento do funcionamento das variáveis. (pelo menos o A*, que eu uso e recomendo, requer).
Mas se o seu jogo é semelhante ao das imagens do Soul Limaloko, então ele não requer o uso de pathfinding complexos (mas não acho que o dele tenha muito a ver com tower defense, me parece mais um plataform shooter).
O que você precisa é definir qual o objetivo de cada inimigo. Pra isso, você pode usar um "choose" logo no create event de cada um e armazenar o objetivo escolhido numa variável.
Código:
objetivo = choose("ataca", "defende")
Aliás, como o comportamento de cada inimigo vai ser bem diferente, dependendo da variável escolhida, sugiro fazer dois objetos distintos, que podem usar o mesmo sprite, e, na hora de criar o inimigo, usar o choose:
Código:
instance_create(castelo.x, castelo.y, choose(inimigoAtaca, inimigoDefende)

falando de IA
Pra fazer o comportamento dos inimigos, verifique o ambiente no step event, checando a distância até as instâncias que atuarão sobre ele ou, melhor dizendo, que ele atuará sobre elas.
Tipo assim: se tem um boneco do jogador NA FRENTE do inimigo E está PERTO, o inimigo ataca o boneco. Mas, se o inimigo já tiver chegado PERTO do CASTELO do jogador, ele ignora os bonecos e manda brasa no castelo.
Tem um monte de funções pra verificar o ambiente: place_meeting, point_distance, collision_circle, instance_nearest... um MONTE. Você vai usar elas nos momentos adequados e pronto, sua IA está feita.
O complicado, mesmo, é definir como você quer que o inimigo atue. Isso só você pode fazer. Nem que eu tivesse a pretensão de escrever seu código eu poderia fazê-lo sem que você definisse, nos mínimos detalhes, como o inimigo vai agir. E definir isso é metade do código escrito! Smile
Assim:
se estiver perto do castelo, ataca o castelo
senão, se estiver perto de um boneco, ataca o boneco
senão, caminha em direção ao castelo
é igual a
Código:
if (point_distance(x, y, castelo.x, castelo, y)<alcance){
   script_de_atacar_o_castelo();
   }
   else{
      if (point_distance(x, y, boneco.x, boneco.y)<alcance){
         script_de_atacar_o_boneco();
         }
         else{
            x+=velocidade;
            }
      }
Esse código é todo bugado, mas em condições extremamente favoráveis, até funciona. Está aí só pra te dar um norte de como funciona uma IA. Os scripts podem ser colocados dentro do código mesmo, não precisam ser necessariamente "scripts".

Defina minuciosamente o que você espera que aconteça. Daí, se não conseguir pensar em como traduzir isso pro game maker, a gente te dá uma mão.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [DUVIDA]Tower Defense em plataforma Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[DUVIDA]Tower Defense em plataforma Empty Re: [DUVIDA]Tower Defense em plataforma

Mensagem por diego333 Qui 01 Dez 2011, 12:01

só uma dica ... nao use strings pro 'objetivo' elas são bem mais lentas que números ... faça assim crie constantes tipo ob_ataca = 0,ob_defende = 1
e use elas em vez de strings...
avatar
diego333

Data de inscrição : 06/10/2010
Reputação : 3
Número de Mensagens : 84
Prêmios : [DUVIDA]Tower Defense em plataforma 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

[DUVIDA]Tower Defense em plataforma Empty Re: [DUVIDA]Tower Defense em plataforma

Mensagem por Andrew3000 Sex 02 Dez 2011, 15:34

saim agora eu consegui entender melhor!(sobre o objetivo ,era só criar dois tipos de inimigos :um para atacar e outro para defender)o inimigo só vai ir pra frente mesmo,e quando estiver algo no caminho ele ataca.
Sobre as vidas,qual variável eu uso? (eu sempre usei health)
Obs.:eu li seu tutorial e bem informativo.
Andrew3000
Andrew3000

Data de inscrição : 18/11/2011
Reputação : 1
Número de Mensagens : 20
Prêmios : [DUVIDA]Tower Defense em plataforma 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

[DUVIDA]Tower Defense em plataforma Empty Re: [DUVIDA]Tower Defense em plataforma

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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