Entrar
Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game makerpor Ralphed Ontem à(s) 18:28
» 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
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
[Dúvida - Debate] Matemática e física nos jogos.
+2
PedroX
Carlos L.
6 participantes
Página 1 de 1
[Dúvida - Debate] Matemática e física nos jogos.
Boa noite pessoal.
Geralmente leio bastante coisa sobre programação de jogos ou programação em geral está diretamente ligada com matemática e física, mas geralmente observo apenas aplicações simples das mesmas na programação.
Por exemplo observo várias fórmulas predefinidas no próprio game maker de matemática mais não vejo uma aplicação prática para quase nenhuma delas, por exemplo já até tentei pensar em uma aplicação para o seno, cosseno e tangente mais não consigo achar uma utilidade prática para elas.
Não sei se sou só eu que vejo assim, mais quando estou programando vejo apenas comparações e cálculos básicos, e não vejo aplicação para muita coisa.
Queria perguntar pro pessoal como eles veem a matemática na programação não só no game maker mais nas linguagens em geral, quais são os assuntos mais abordados, se existe aplicação para aquelas equações que se aprende no colégio ou, se o pessoal sabe de algumas aplicações mais avançadas de matemática na programação e dar umas dicas de como usa-las não, se acha muito material sobre esse assunto na internet então fica ai minha dúvida.
OBS: aproveitando será que tem como alguém dar uma dica de como usar as fórmulas trigonométricas no GM.
Geralmente leio bastante coisa sobre programação de jogos ou programação em geral está diretamente ligada com matemática e física, mas geralmente observo apenas aplicações simples das mesmas na programação.
Por exemplo observo várias fórmulas predefinidas no próprio game maker de matemática mais não vejo uma aplicação prática para quase nenhuma delas, por exemplo já até tentei pensar em uma aplicação para o seno, cosseno e tangente mais não consigo achar uma utilidade prática para elas.
Não sei se sou só eu que vejo assim, mais quando estou programando vejo apenas comparações e cálculos básicos, e não vejo aplicação para muita coisa.
Queria perguntar pro pessoal como eles veem a matemática na programação não só no game maker mais nas linguagens em geral, quais são os assuntos mais abordados, se existe aplicação para aquelas equações que se aprende no colégio ou, se o pessoal sabe de algumas aplicações mais avançadas de matemática na programação e dar umas dicas de como usa-las não, se acha muito material sobre esse assunto na internet então fica ai minha dúvida.
OBS: aproveitando será que tem como alguém dar uma dica de como usar as fórmulas trigonométricas no GM.
Carlos L.- Games Ranking :
Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Dúvida - Debate] Matemática e física nos jogos.
Cara, são muitas as aplicações.
Vou te explicar uma, que servirá de base para você.
Primeiro, observe onde se localiza: L e X.
Suponha que o ângulo da direita tenha 45º.
Suponha que L seja 100.
Quanto vale X?
Teria como calcular na base do seno e do cosseno:
O degtorad só é preciso porque o game maker só trabalha com radianos.
Edit:
Aplicando num jogo de top down, olha o que dá para fazer:
E só para complementar:
Se o ângulo for 0, então o x será exatamente o numero colocado.
Se o ângulo for 90 ou 270, então o x será 0.
Se for 180, então o x será o numero colocado com o sinal trocado.
Até mais!
Vou te explicar uma, que servirá de base para você.
Primeiro, observe onde se localiza: L e X.
Suponha que o ângulo da direita tenha 45º.
Suponha que L seja 100.
Quanto vale X?
- Código:
X=lengthdir_x(100, 45)
- Código:
Y=lengthdir_y(100, 45)
Teria como calcular na base do seno e do cosseno:
- Código:
X=L*cos(degtorad(45));
- Código:
Y=L*sin(degtorad(45));
O degtorad só é preciso porque o game maker só trabalha com radianos.
Edit:
Aplicando num jogo de top down, olha o que dá para fazer:
- Código:
if (keyboard_check_pressed(vk_space)) {
instance_create(x+lengthdir_x(16, image_angle),y+lengthdir_y(16, image_angle), obj_bala);
}
E só para complementar:
Se o ângulo for 0, então o x será exatamente o numero colocado.
Se o ângulo for 90 ou 270, então o x será 0.
Se for 180, então o x será o numero colocado com o sinal trocado.
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: [Dúvida - Debate] Matemática e física nos jogos.
Pedro Henrique escreveu:Cara, são muitas as aplicações.
Vou te explicar uma, que servirá de base para você.
Primeiro, observe onde se localiza: L e X.
Suponha que o ângulo da direita tenha 45º.
Suponha que L seja 100.
Quanto vale X?Qual é a altura do triângulo formado?
- Código:
X=lengthdir_x(100, 45)
- Código:
Y=lengthdir_y(100, 45)
Teria como calcular na base do seno e do cosseno:
- Código:
X=L*cos(degtorad(45));
- Código:
Y=L*sin(degtorad(45));
O degtorad só é preciso porque o game maker só trabalha com radianos.
Até mais!
Certo, mais em um jogo como posso aplicar isso, to viajando legal.
Carlos L.- Games Ranking :
Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Dúvida - Debate] Matemática e física nos jogos.
Eu editei minha mensagem enquanto você postava.
Olhe ela novamente que tem um exemplo.
Até mais!
Olhe ela novamente que tem um exemplo.
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: [Dúvida - Debate] Matemática e física nos jogos.
Beleza mais se for observar esse tipo de aplicação e totalmente desnecessária, não sei se sou eu que ainda não captei direito, mais ainda não vejo uma aplicação prática, de tais funções do gm, e mais uma coisa será que pode-se afirmar que possui matemática avançada na programação, ou somente matemática básica.
Carlos L.- Games Ranking :
Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Dúvida - Debate] Matemática e física nos jogos.
Não tenho muito tempo agora, mas sugiro que veja uma engine que eu fiz:
https://gmbr.forumeiros.com/t15335-acertar-alvo-com-tiro-parabolico
É uma aplicação da fisica.
Embora apresente um bug, eu já consertei, mas não atualizei o link.
Se gostar, eu mando uma debugada.
Até mais!
https://gmbr.forumeiros.com/t15335-acertar-alvo-com-tiro-parabolico
É uma aplicação da fisica.
Embora apresente um bug, eu já consertei, mas não atualizei o link.
Se gostar, eu mando uma debugada.
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: [Dúvida - Debate] Matemática e física nos jogos.
O tópico já tem uns dias, mas não muitos, então vou postar, já que é um tema interessante.
1 - Gravidade/Aceleração
O GM tem a variável gravity. Mas se você quiser ter de algum jeito mais controle sobre a gravidade, você pode fazer a sua própria. Porém, não é tão simplérrimo quanto alguns podem pensar.
Um exemplo de motivo para se querer ter mais controle sobre a gravidade: O gravity do GM trabalha com h/vspeed. Se você preferir fazer o movimento por {x += n; y += n}, o gravity já não serve.
Como eu disse, não é tão simples assim: Diferente do que muitos pensariam, isso não produz uma gravidade correta:
Δs = v*t + a*t/2
Que pode ser aplicada considerando que o tempo é sempre 1 step, resultando nisso:
Um exemplo "vivo" é o jogo que eu fiz para o CQ #004, Labirinto de Gravidade, um jogo em que você tem que levar uma bola por um "labirinto" até o objetivo, usando a gravidade (a bola é atraída na direção do mouse). Está incompleto, vez ou outra dá um bug, mas isso não vem ao caso.
A questão é que eu não usei o sistema de colisão do GM. Eu fiz uma codaralhada de mais de 150 linhas para o sistema de gravidade e colisão. Daí você me pergunta: "WT...??? PRA QUÊ ISSO?". Eu respondo: ou melhor, desenho:
A - Imagine comigo a situação no seguinte desenho:
A bola está se movendo com uma velocidade consideravelmente grande. Tudo o que o sistema de colisão do GM poderia fazer é inverter a direção após bater. Além disso, observe a linha vermelha: nesse movimento, a bola colidiria com a coluna da esquerda, mas o GM não captaria essa colisão.
B - Agora, esta outra situação:
Passo 1 - A bola se move 32px para a direita e para baixo. Como pode-se ver, a bola entra na parede. (A direção aqui é 45º, mas poderia ser qualquer outra)
Passo 2 - A bola é trazida de volta pelo mesmo caminho, pixel por pixel. Isso é possível utilizando o seno e cosseno (que quem não sabe como funcionam pode substituir pelas funções lenghtdir_x() e lenghtdir_y()).
Passo 3 - A direção é devidamente alterada, e os pixels que foram desfeitos são refeitos na nova direção. Aqui acaba o step.
Passo 4 - Novamente, a bola vai se mover, 32px para a esquerda e para baixo.
Passo 5 - É feito o mesmo que no passo 2.
Passo 6 - É feito o mesmo que no passo 3. Porém, dessa vez, a bola entrará novamente na parede. Então, os passos 2 e 3 são repetidos até terminar o movimento todo.
Com o sistema de colisão do GM, apenas, isso não é possível.
Ainda nesse meu jogo, para testar se a bola colidiu com uma barra, que pode estar na diagonal (direção diferente de 0, 90, 180 e 270 graus), eu tenho que, nos códigos, subtrair a direção da barra dela mesma e da bola, para conseguir calcular sem problemas com os eixos x e y em que parte que houve colisão e, assim, qual deve ser a nova direção. Tudo usando seno e cosseno.
Mesmo com tudo o que eu fiz, o movimento não é fisicamente perfeito: mesmo dentro da variação de 1 step, a direção da gravidade no início do step é diferente da no final do step, pois ela é direcionada para o mouse. Para isso, já seria necessário mais física do que está dentro de meus conhecimentos. Só sei que há fórmulas para movimentos circulares perfeitos, que sempre possuem uma mesma aceleração, direcionada para um só ponto (o centro do círculo).
2 - Direção
Tanto em jogos top-down quanto tridimensionais, a posição e movimento do personagem e de outros elementos é definida usando o seno e cosseno. Às vezes, eles são "escondidos" pelas funções do GM, mas não deixam de estar lá.
3 - Rotação de imagens
É tão simples virar uma imagem, é só colocar algum valor na rotação, ou no image_angle e pronto, não é? No GM, sim. Se você for ver o que está por trás do tão simples image_angle, o que vai achar? Matemática!
4 - Efeitos
Esse efeito que eu fiz com primitivas e texturas no GM, mais uma vez, usa seno e cosseno:
5 - Movimentos
Quando você quer fazer movimentos "suaves", que começam devagar e terminam devagar, o mais eficiente é usar seno/cosseno.
6 - 3D
É verdade que "nós" não lidamos com isso, mas a matemática e física devem ser abusadas para se fazer uma projeção 3D.
7 - Funções embutidas do GM
Há várias coisas que usam o seno e cosseno, como: gravity, lenght_dirx/y, rotação.
O gravity e fricction trabalham com aceleração.
O point_distance(), em outas palavras, é o Teorema de Pitágoras (hip² = cat² + cat²).
Para a opção "Smooth curve" dos paths, certamente é usada alguma fórmula matemática.
Com certeza há mais funções comumente usadas que precisam de coisas assim.
Pensando mais, acredito que dá para achar utilidade também para diversas outras coisas. É que essas coisas mais complicadas da matemática e física, ou são desnecessárias pela simplicidade dos jogos com que costumamos mexer ou são escondidas pela facilidade do GM.
1 - Gravidade/Aceleração
O GM tem a variável gravity. Mas se você quiser ter de algum jeito mais controle sobre a gravidade, você pode fazer a sua própria. Porém, não é tão simplérrimo quanto alguns podem pensar.
Um exemplo de motivo para se querer ter mais controle sobre a gravidade: O gravity do GM trabalha com h/vspeed. Se você preferir fazer o movimento por {x += n; y += n}, o gravity já não serve.
Como eu disse, não é tão simples assim: Diferente do que muitos pensariam, isso não produz uma gravidade correta:
- Código:
velocidade_vertical += gravidade;
y += velocidade_vertical;
Δs = v*t + a*t/2
Que pode ser aplicada considerando que o tempo é sempre 1 step, resultando nisso:
- Código:
y += velocidade_vertical*1 + gravidade*1/2
velocidade_vertical += gravidade;
Um exemplo "vivo" é o jogo que eu fiz para o CQ #004, Labirinto de Gravidade, um jogo em que você tem que levar uma bola por um "labirinto" até o objetivo, usando a gravidade (a bola é atraída na direção do mouse). Está incompleto, vez ou outra dá um bug, mas isso não vem ao caso.
A questão é que eu não usei o sistema de colisão do GM. Eu fiz uma codaralhada de mais de 150 linhas para o sistema de gravidade e colisão. Daí você me pergunta: "WT...??? PRA QUÊ ISSO?". Eu respondo: ou melhor, desenho:
A - Imagine comigo a situação no seguinte desenho:
A bola está se movendo com uma velocidade consideravelmente grande. Tudo o que o sistema de colisão do GM poderia fazer é inverter a direção após bater. Além disso, observe a linha vermelha: nesse movimento, a bola colidiria com a coluna da esquerda, mas o GM não captaria essa colisão.
B - Agora, esta outra situação:
Passo 1 - A bola se move 32px para a direita e para baixo. Como pode-se ver, a bola entra na parede. (A direção aqui é 45º, mas poderia ser qualquer outra)
Passo 2 - A bola é trazida de volta pelo mesmo caminho, pixel por pixel. Isso é possível utilizando o seno e cosseno (que quem não sabe como funcionam pode substituir pelas funções lenghtdir_x() e lenghtdir_y()).
Passo 3 - A direção é devidamente alterada, e os pixels que foram desfeitos são refeitos na nova direção. Aqui acaba o step.
Passo 4 - Novamente, a bola vai se mover, 32px para a esquerda e para baixo.
Passo 5 - É feito o mesmo que no passo 2.
Passo 6 - É feito o mesmo que no passo 3. Porém, dessa vez, a bola entrará novamente na parede. Então, os passos 2 e 3 são repetidos até terminar o movimento todo.
Com o sistema de colisão do GM, apenas, isso não é possível.
Ainda nesse meu jogo, para testar se a bola colidiu com uma barra, que pode estar na diagonal (direção diferente de 0, 90, 180 e 270 graus), eu tenho que, nos códigos, subtrair a direção da barra dela mesma e da bola, para conseguir calcular sem problemas com os eixos x e y em que parte que houve colisão e, assim, qual deve ser a nova direção. Tudo usando seno e cosseno.
Mesmo com tudo o que eu fiz, o movimento não é fisicamente perfeito: mesmo dentro da variação de 1 step, a direção da gravidade no início do step é diferente da no final do step, pois ela é direcionada para o mouse. Para isso, já seria necessário mais física do que está dentro de meus conhecimentos. Só sei que há fórmulas para movimentos circulares perfeitos, que sempre possuem uma mesma aceleração, direcionada para um só ponto (o centro do círculo).
2 - Direção
Tanto em jogos top-down quanto tridimensionais, a posição e movimento do personagem e de outros elementos é definida usando o seno e cosseno. Às vezes, eles são "escondidos" pelas funções do GM, mas não deixam de estar lá.
3 - Rotação de imagens
É tão simples virar uma imagem, é só colocar algum valor na rotação, ou no image_angle e pronto, não é? No GM, sim. Se você for ver o que está por trás do tão simples image_angle, o que vai achar? Matemática!
4 - Efeitos
Esse efeito que eu fiz com primitivas e texturas no GM, mais uma vez, usa seno e cosseno:
5 - Movimentos
Quando você quer fazer movimentos "suaves", que começam devagar e terminam devagar, o mais eficiente é usar seno/cosseno.
6 - 3D
É verdade que "nós" não lidamos com isso, mas a matemática e física devem ser abusadas para se fazer uma projeção 3D.
7 - Funções embutidas do GM
Há várias coisas que usam o seno e cosseno, como: gravity, lenght_dirx/y, rotação.
O gravity e fricction trabalham com aceleração.
O point_distance(), em outas palavras, é o Teorema de Pitágoras (hip² = cat² + cat²).
Para a opção "Smooth curve" dos paths, certamente é usada alguma fórmula matemática.
Com certeza há mais funções comumente usadas que precisam de coisas assim.
Pensando mais, acredito que dá para achar utilidade também para diversas outras coisas. É que essas coisas mais complicadas da matemática e física, ou são desnecessárias pela simplicidade dos jogos com que costumamos mexer ou são escondidas pela facilidade do GM.
Igor KinGamer- Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Dúvida - Debate] Matemática e física nos jogos.
Eu criei alguns scripts, que estão nesse link:
https://gmbr.forumeiros.com/t17425-scripts-matematicos
Tem a simulação de point_distance, point_direction, raiz quadrada, entre outros dez scripts.
Até mais!
https://gmbr.forumeiros.com/t17425-scripts-matematicos
Tem a simulação de point_distance, point_direction, raiz quadrada, entre outros dez scripts.
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: [Dúvida - Debate] Matemática e física nos jogos.
Estes dias eu estava pensando sobre isso, estou com um projeto que comecei ontem de um jogo em que você é um canhão e deve destruir os outros canhões, e nesse jogo queria fazer um movimento realístico, então pensei: Qual formula física usar? Eu sei que o movimento seria um movimento uniformemente variado (ou MUV), então pensei posso usar o "sorvetão" (Δs = v*t + a*t/2 ou S = S0+v*t + a*t/2) para descobrir a posição final, mas ai vai uma dúvida que fiquei, o que é o "S" e "S0" em física? Seria uma razão de X e Y ou somente o X pois vou usar a gravidade em "a"(aceleração) fazendo com que eu não precise me preocupar com o Y pois a gravidade irá controlar. Ai quando vi este tópico dizendo que "Δs" é igual a Y, mas como? Alguém poderia me responder o que equivale a "S" e "S0" no GM? Eu acho que deve ser meio besta a pergunta, mas é que sou burro.
Agradeço desde já!
Agradeço desde já!
Luan Maia- Games Ranking :
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Reputação : 2
Número de Mensagens : 404
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Dúvida - Debate] Matemática e física nos jogos.
Assim você precisaria do tempo.
Usando essa fórmula, onde u é a velocidade inicial:
Então, ao atirar, basta definir u. Será achado a distância entre o fim e o começo.
Até mais!
Usando essa fórmula, onde u é a velocidade inicial:
- Código:
v²=u²+2g(S-So)
- Código:
0=u²+2g(S-So)
- Código:
0=u²+2*(S-So)
(-u²)/2=S-So
S=(-u²)/2+So
- Código:
S=(-sqr(u))/2
Então, ao atirar, basta definir u. Será achado a distância entre o fim e o começo.
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: [Dúvida - Debate] Matemática e física nos jogos.
Valeu Pedro Henrique! Funcionou perfeitamente!
Luan Maia- Games Ranking :
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Reputação : 2
Número de Mensagens : 404
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Dúvida - Debate] Matemática e física nos jogos.
Só esclarecendo:
y += ...
Ou seja, variação do y.
E quanto ao tempo, normalmente, é 1 step, então dá pra usar aquela fórmula.
Δs = variação da posiçãoLuanMaia escreveu:Ai quando vi este tópico dizendo que "Δs" é igual a Y, mas como?
y += ...
Ou seja, variação do y.
E quanto ao tempo, normalmente, é 1 step, então dá pra usar aquela fórmula.
Igor KinGamer- Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Dúvida - Debate] Matemática e física nos jogos.
Hmmm... Entendi, valeu pela ajuda ai pessoal. Com isso "abriu" um pouco minha mente pra física em jogos.
Luan Maia- Games Ranking :
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Reputação : 2
Número de Mensagens : 404
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Dúvida - Debate] Matemática e física nos jogos.
Consegui entender melhor, e percebi que a questão não é que nossos jogos são simples demais com funções simples de mais e sim que o gm já trabalha com essas fórmulas embutidas dentro de funções escondendo praticamente toda física e matemática bruta deixando apenas funções predefinidas.
Mais dependendo de como se programa pode-se usar as fórmulas tranquilamente deixando de fora as fórmulas predefinidas do gm.
Se quiserem trancar o tópico pode trancar.
Mais dependendo de como se programa pode-se usar as fórmulas tranquilamente deixando de fora as fórmulas predefinidas do gm.
Se quiserem trancar o tópico pode trancar.
Carlos L.- Games Ranking :
Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Dúvida - Debate] Matemática e física nos jogos.
bom, fiquei animado com esse negócio de matemática, então resolvi interagir um pouco a matemática do colégio no GM, bom não deu muito certo, não sei no que eu errei, aos meus olhos está certo, como ninguém sabe de tudo...
Estava tentando repetir a fórmula quadrícula da matemática no Game Maker, a fórmula quadricula é:
x = -b +√b² - 4ac
2a
Sendo
a=1
b=5
c=6
Eu fiz no Game Maker:
<gml>var a, b, c, r;
a=1
b=5
c=6
r = -b + sqrt(sqr(b) - 4*a*c) / 2*a
draw_text(x,y,r)</gml>
Porém o resultado da fórmula quadricula que eu calculei, deu r=-2, já o código GML quando desenha aparece r=-4,50
Eu li, re-li e li mais vezes e não consegui achar erros, eu interpretei correto no Game Maker, e porque o resultado é diferente ??
Estava tentando repetir a fórmula quadrícula da matemática no Game Maker, a fórmula quadricula é:
x = -b +√b² - 4ac
2a
Sendo
a=1
b=5
c=6
Eu fiz no Game Maker:
<gml>var a, b, c, r;
a=1
b=5
c=6
r = -b + sqrt(sqr(b) - 4*a*c) / 2*a
draw_text(x,y,r)</gml>
Porém o resultado da fórmula quadricula que eu calculei, deu r=-2, já o código GML quando desenha aparece r=-4,50
Eu li, re-li e li mais vezes e não consegui achar erros, eu interpretei correto no Game Maker, e porque o resultado é diferente ??
Última edição por .:Allison:. em Qui 21 Jul 2011, 18:59, editado 1 vez(es)
Re: [Dúvida - Debate] Matemática e física nos jogos.
O resultado disso aí é -12. E também não faz muito sentido, porque você elevou o b ao quadrado e tirou a raiz, é a mesma coisa. Experimenta assim:
- Código:
a=1
b=5
c=6
r = -b + sqrt(power(b,2) - 4*a*c / 2*a
draw_text(x,y,r)
Mr. Kaleb- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Dúvida - Debate] Matemática e física nos jogos.
Acho que entendi o erro:
Contas de divisão são feitas primeiro, mas no caso, o certo seria:
Até mais!
r = -b + sqrt(sqr(b) - 4*a*c) / 2*a
Contas de divisão são feitas primeiro, mas no caso, o certo seria:
- Código:
r = (-b + sqrt(sqr(b) - 4*a*c)) / 2*a
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: [Dúvida - Debate] Matemática e física nos jogos.
Agora consegui entender, como não pensei antes, ele dividia primeiro, para depois calcular a raiz quadrada não é isso ? Agora quando posto entre parênteses, ele da uma certa prioridade ao numerador. O resultado foi exatamente igual ao da fórmula quadrícula, -2.
@The Games Never Finish
O resultado é -2 mesmo cara.
@The Games Never Finish
O resultado é -2 mesmo cara.
Re: [Dúvida - Debate] Matemática e física nos jogos.
É isso mesmo. Parenteses são resolvidos primeiro.
Como isso é um debate, vou colocar uma equação interessante.
Se você tiver que atirar (em um jogo de plataforma) em um alvo que se move horizontalmente, você teria que calcular a velocidade ou o ângulo de disparo (dependendo dos dados que tem). Se você tiver o ângulo, é simples calcular a velocidade que o canhão deve ter para alcançar o alvo em movimento.
Dados:
u = velocidade horizontal do alvo
sqrt = raiz quadrada
angulo = angulo de disparo do canhão (coloque 45º para a velocidade ser a menor possivel)
degtorad = converte graus para radianos, porque o game maker só trabalha com essa unidade; não seria necessário fazer isso na escola, por exemplo.
Eu ainda não testei, mas parece que dá certo. Eu fiz e refiz no papel, não tem porque dar erro.
Até mais!
Como isso é um debate, vou colocar uma equação interessante.
Se você tiver que atirar (em um jogo de plataforma) em um alvo que se move horizontalmente, você teria que calcular a velocidade ou o ângulo de disparo (dependendo dos dados que tem). Se você tiver o ângulo, é simples calcular a velocidade que o canhão deve ter para alcançar o alvo em movimento.
- Código:
v=(-u+sqrt(sqr(alvo.hspeed)+2*abs(other.x-x)*gravidade/tan(degtorad(angulo))))/(2*cos(degtorad(angulo)));
Dados:
u = velocidade horizontal do alvo
sqrt = raiz quadrada
angulo = angulo de disparo do canhão (coloque 45º para a velocidade ser a menor possivel)
degtorad = converte graus para radianos, porque o game maker só trabalha com essa unidade; não seria necessário fazer isso na escola, por exemplo.
Eu ainda não testei, mas parece que dá certo. Eu fiz e refiz no papel, não tem porque dar erro.
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: [Dúvida - Debate] Matemática e física nos jogos.
:S Eu me compliquei aqui. Eu pensava que os problemas eram na multiplicação, mas lembrei que tinha a raiz quadrada, que ele calculava primeiro, malz ae.
E também tem os parenteses, que junta tudo para não ser calculado um fora do outro.
E também tem os parenteses, que junta tudo para não ser calculado um fora do outro.
Mr. Kaleb- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [DUVIDA]Fisica da água
» [duvida] fisica de uma corda
» Dúvida sobre física.
» [Duvida] Operação matemática avançada!
» [Fisica] Questões sobre fisica
» [duvida] fisica de uma corda
» Dúvida sobre física.
» [Duvida] Operação matemática avançada!
» [Fisica] Questões sobre fisica
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|