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
matemática de tower defense
4 participantes
GMBR :: Projetos :: Idéias e Enredos
Página 1 de 1
matemática de tower defense
Tenho um tower defense com 3 tipos de torres: tiro, veneno e sorte
A de tiro cria um tiro que acerta o inimigo e tira um pouco da vida dele.
A de veneno cria um tiro que envenena o inimigo por um tempo e, nesse tempo, ele perde um pouco de vida.
A de sorte tem um valor básico e roda um dado. O número de lados desse dado é vida do inimigo+número básico. Se der zero, a torre mata o inimigo instantaneamente e passa um tempo se recuperando antes de poder rodar outro dado.
Cada inimigo morto gera um tanto de créditos ao jogador. Esse tanto de créditos depende da vida com que o inimigo é criado.
Eu gostaria que as torres pudessem receber upgrades. Pra isso, quero aumentar a variável "level" e quero que algo da torre dependa da variável. Quero sugestões de onde usar essa variável. Principalmente na torre de sorte. Pensei em aumentar as chances dela eliminar o inimigo usando "floor(random(numeroBasico+vidaInimigo)/level)", mas aí ela melhoraria MUITO nos primeiros upgrades e quase nada no nível, por exemplo, 30.
Tem mais uma coisa que eu quero sugestões, vou criar outro tópico e linkar.
Edit: eis o link pra outra pergunta.
A de tiro cria um tiro que acerta o inimigo e tira um pouco da vida dele.
A de veneno cria um tiro que envenena o inimigo por um tempo e, nesse tempo, ele perde um pouco de vida.
A de sorte tem um valor básico e roda um dado. O número de lados desse dado é vida do inimigo+número básico. Se der zero, a torre mata o inimigo instantaneamente e passa um tempo se recuperando antes de poder rodar outro dado.
Cada inimigo morto gera um tanto de créditos ao jogador. Esse tanto de créditos depende da vida com que o inimigo é criado.
Eu gostaria que as torres pudessem receber upgrades. Pra isso, quero aumentar a variável "level" e quero que algo da torre dependa da variável. Quero sugestões de onde usar essa variável. Principalmente na torre de sorte. Pensei em aumentar as chances dela eliminar o inimigo usando "floor(random(numeroBasico+vidaInimigo)/level)", mas aí ela melhoraria MUITO nos primeiros upgrades e quase nada no nível, por exemplo, 30.
Tem mais uma coisa que eu quero sugestões, vou criar outro tópico e linkar.
Edit: eis o link pra outra pergunta.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: matemática de tower defense
E Ae saim blz? Então cara eu não sei se vai servir mas aqui eu tenho uma engine que eu fiz talvez possa te ajudar: http://dl.dropbox.com/u/8556803/Upgrade_Habilidades_Soul_Limaloko.gmk
Re: matemática de tower defense
Obrigado, Soul, mas o que eu quero não é uma engine. São idéias do que pode melhorar nas torres à medida que elas sobem de nível.
Especialmente essa torre de "chance". Em que sentido ou proporção que subir o nível poderia melhorar a torre, entendeu?
Fazer floor(random(qualquercoisa)/nível) até funciona, só que funciona rápido demais no começo e devagar demais, em seguida. Acho que vou ter que limitar o número de upgrades pra cada torre...
Especialmente essa torre de "chance". Em que sentido ou proporção que subir o nível poderia melhorar a torre, entendeu?
Fazer floor(random(qualquercoisa)/nível) até funciona, só que funciona rápido demais no começo e devagar demais, em seguida. Acho que vou ter que limitar o número de upgrades pra cada torre...
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: matemática de tower defense
floor(random(qualquercoisa)/(nivel * nivel))
tenta isso .. provavelmente deve dar uma amenisada nesse problema
tenta isso .. provavelmente deve dar uma amenisada nesse problema
diego333- Data de inscrição : 06/10/2010
Reputação : 3
Número de Mensagens : 84
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: matemática de tower defense
Na verdade, piora o problema. Olha isso:
Viu como os primeiros upgrades diminuem imensamente o número de lados dos dados enquanto os últimos não fazem nem cócegas? Isso desestimula o jogador a fazer mais upgrades - e eu quero ele esperando ansiosamente pra poder fazê-lo. Acho que usar algo como "valor-nível" é o mais indicado, só que isso me limita o número de upgrades, pois se o jogador conseguir um upgrade maior que o tal valor, a conta dará resultado negativo.
Eu não queria limitar o número de upgrades, mas pode ser que não exista outra saída.
E quanto às outras torres (tiro comum e tiro envenenado), o que eu devo alterar a cada upgrade? Dano do tiro? Tempo de envenenamento? Alcance da torre? Tudo?
Viu como os primeiros upgrades diminuem imensamente o número de lados dos dados enquanto os últimos não fazem nem cócegas? Isso desestimula o jogador a fazer mais upgrades - e eu quero ele esperando ansiosamente pra poder fazê-lo. Acho que usar algo como "valor-nível" é o mais indicado, só que isso me limita o número de upgrades, pois se o jogador conseguir um upgrade maior que o tal valor, a conta dará resultado negativo.
Eu não queria limitar o número de upgrades, mas pode ser que não exista outra saída.
E quanto às outras torres (tiro comum e tiro envenenado), o que eu devo alterar a cada upgrade? Dano do tiro? Tempo de envenenamento? Alcance da torre? Tudo?
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: matemática de tower defense
Tenta isso:
E quanto aos upgrades, deixe que o jogador escolha qual dos três ele quer.
Até mais!
- Código:
100-(sqrt(nivel)*1.5)
- Código:
sqrt(nivel)*1.5
E quanto aos upgrades, deixe que o jogador escolha qual dos três ele quer.
Até mais!
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: matemática de tower defense
Ah, melhorou muito! Agora, sim, há uma melhora sensível a cada upgrade. Ainda terei que limitar o número de upgrades, mas isso parece que realmente é inevitável.
Deixar o jogador escolher é uma ótima idéia, mas o jogo fica um tanto complexo de ser jogado (e programado também! ). Apesar de ser um tower defense (ou seja, um jogo de estratégia por natureza) eu estou tentando dar um tom mais casual. Com sorte, conseguirei fazer o tutorial ser apresentado enquanto o jogo corre.
Imagine ter que verificar em que pé está cada uma das suas 20 a 100 torres o status de cada variável, se está de acordo com o necessário ou se deve ser aumentado, tals. Minha idéia é uma relação mais direta. Deu upgrade=melhorou a eficiência da torre. Pode ser com mais de um parâmetro, só não pode fazer uma supertorre sem gastar uma supergrana.
Talvez uma passada de olhos na explicação do engine, no início do outro tópico, dê uma idéia melhor do que já existe e do que deve ser melhorado.
Deixar o jogador escolher é uma ótima idéia, mas o jogo fica um tanto complexo de ser jogado (e programado também! ). Apesar de ser um tower defense (ou seja, um jogo de estratégia por natureza) eu estou tentando dar um tom mais casual. Com sorte, conseguirei fazer o tutorial ser apresentado enquanto o jogo corre.
Imagine ter que verificar em que pé está cada uma das suas 20 a 100 torres o status de cada variável, se está de acordo com o necessário ou se deve ser aumentado, tals. Minha idéia é uma relação mais direta. Deu upgrade=melhorou a eficiência da torre. Pode ser com mais de um parâmetro, só não pode fazer uma supertorre sem gastar uma supergrana.
Talvez uma passada de olhos na explicação do engine, no início do outro tópico, dê uma idéia melhor do que já existe e do que deve ser melhorado.
Última edição por saim em Qua 16 Nov 2011, 14:30, editado 1 vez(es)
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: matemática de tower defense
Por que vai limitar os upgrades?
Não entendi isso.
Quanto ao que vai ser alterado, faça uma lista de prioridade então. No começo do jogo, o jogador escolhe suas prioridades e pode trocá-las de tanto em tanto tempo (após vários upgrades). Assim ele vai vendo qual prioridade é melhor.
Não entendi isso.
Quanto ao que vai ser alterado, faça uma lista de prioridade então. No começo do jogo, o jogador escolhe suas prioridades e pode trocá-las de tanto em tanto tempo (após vários upgrades). Assim ele vai vendo qual prioridade é melhor.
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: matemática de tower defense
Porque eu preciso de números positivos. Lembre-se, eu estou usando "if floor(random(algo))==0". Se "algo" for negativo, então o teste sempre dará false. Agora imagine que "algo" seja 100-sqrt(nivel)*1.5 e que o nivel seja 10 (não que seja fácil chegar no nível 10, mas possível). Entendeu?Pedrø escreveu:Por que vai limitar os upgrades?
Com relação ao que vai ser alterado, não quero que o jogador sequer se lembre que existem alternativas. Já joguei alguns TDs e realmente é muita coisa acontecendo pra ficar pensando no que eu (jogador) quero melhorar. Algumas torres melhoravam a cadência, outras melhoravam a força do tiro, outras melhoravam a distância e muitas melhoravam nesses 3 aspectos, mas nunca joguei um TD que me oferecesse escolher que aspecto da torre melhorar. Eu acho - tenho quase certeza - que isso foi pra simplificar a jogabilidade, pra deixar o jogo mais fluido.
Eu já acho pouco provável que alguém fique fazendo conta pra ver se 10% a mais de velocidade de tiro nessa torre possibilita matar um inimigo de força 30, imagina o cara parar pra pensar se é mais interessante investir na força de cada tiro ou na área de abrangência da torre, levando em consideração os paths desenhados pelo caminho livre, velocidade e força médias atuais dos inimigos e tempo de exposição à torre de cada um.
Eu posso fazer o que você sugeriu durante um período de testes do jogo. O que for mais LEGAL de evoluir, eu ponho pra evoluir mais, o que for menos bacana, eu ponho pra evoluir menos. Mas isso é pra dezembro, quando pretendo ter algo pra postar na galeria de projetos e chamar uma equipe pra dar o acabamento no jogo.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: matemática de tower defense
Na verdade, você deveria chegar num nivel maior que 4000 para dar um numero negativo. Não acho que seja possivel e mesmo que fosse, dificilmente alguem iria ficar tanto tempo jogando.Se "algo" for negativo, então o teste sempre dará false. Agora imagine que "algo" seja 100-sqrt(nivel)*1.5 e que o nivel seja 10 (não que seja fácil chegar no nível 10, mas possível). Entendeu?
Até mais!
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: matemática de tower defense
olha ... de qualquer jeito vc teria que limitar os leveis , ( no caso 4000 )
se vc quer fazer algo meio que igual .. cada level da a mesma porcentagem tenta assim
floor( (level / level_max) *100 )
se vc quer fazer algo meio que igual .. cada level da a mesma porcentagem tenta assim
floor( (level / level_max) *100 )
diego333- Data de inscrição : 06/10/2010
Reputação : 3
Número de Mensagens : 84
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: matemática de tower defense
Sabe quando a burrice da gente é tanta que chega a doer :oops: ? Eu COPIEI sqrt (digitei mesmo, não foi só ctrl+c, ctrl+v) e continuei pensando em sqr. Só me liguei agora, com essa sua resposta de 4000 níveis.Pedrø escreveu:Na verdade, você deveria chegar num nivel maior que 4000 para dar um numero negativo. Não acho que seja possivel e mesmo que fosse, dificilmente alguem iria ficar tanto tempo jogando.Se "algo" for negativo, então o teste sempre dará false. Agora imagine que "algo" seja 100-sqrt(nivel)*1.5 e que o nivel seja 10 (não que seja fácil chegar no nível 10, mas possível). Entendeu?
Até mais!
MAS gostei mais foi do sqr, mesmo, ainda que com a limitação de níveis. Cada nível dá uma diferença maior que o upgrade anterior, dá pra notar a melhora.
Foi mal pela raiva que te fiz passar.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Tópicos semelhantes
» matemática de tower defense 2
» Matemática para tower defense
» [Resolvido]Tower defense O_O
» Bug em tower defense
» Ajuga com tower defense !
» Matemática para tower defense
» [Resolvido]Tower defense O_O
» Bug em tower defense
» Ajuga com tower defense !
GMBR :: Projetos :: Idéias e Enredos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos