Fisica e matemática em jogos para android

Boa noite.

Por favor, quero fazer um jogo para meu trabalho de graduação porém não quero usar nenhuma “ferramenta” para cuidar da física que envolverá o jogo, gostaria de escrever a minha junto como os algoritmos de geometria que acredito que vou ter escrever também, porém não sei por onde começar a estudar. Gosto bastante de matemática e de desafios por isso quero fazer do zero, alguém poderia indicar livros ou tutoriais ?
Estou estudando algoritmos de geometria computacional, computação gráfica, java 2d e já conheço e comecei a ler os artigos do pontoV do ViniGodoy um dos moderadores daqui do GUJ, mas gostaria de mais pontos de vista, opiniões.

O jogo vai ser num estilo de plataforma, como mário world.

Vai por mim, use as “ferramentas”

Se fosse para obter produtividade em um projeto real eu estaria 100% de acordo com essa recomendação, mas para fins acadêmicos é melhor mesmo escrever toda a base do jogo!

As minhas sugestões:

Primeiro certifique-se de estar afiado com as fórmulas físicas propriamente ditas, toda a parte de dinâmica. Agora sobre como implementar em um jogo eu partiria do seguinte:

  • Os artigos do PontoV, nessa parte vc já está caminhando, principalmente aqueles sobre vetores que são uma ferramenta ótima para representar algumas grandezas físicas (simplifica muito os cálculos)
  • No kit de desenvolvimento do Android vem (pelo menos vinha no tempo que eu estudei…) um demo que é um jogo chamado Lunar Lander. Nesse jogo você tem que pousar uma nave na lua, ele aplica bastante as fórmulas de aceleração e força. Estude o código fonte desse app, dá para ter boas idéias.
  • A parte de colisões tem também um exemplo no PontoV, um artigo chamado “Pong game - Exemplo completo”

Obrigado pela atenção gomesrod . Sobre estar afiado com as formulas de física, imagino que vou usar alguns sobre aceleração, cinética só que ainda não sei por onde começar, como implementar algo que simule isso. Vou dar uma olhada nesse exemplo que vc disse do lunar. De qualquer forma obrigado pela informação.

Obrigado tambem Valeio Bezerra, pela atenção, mas quero aprender como esses “nerds” (tom de brincadeira) fazem essas ferramentas legais que envolvem física e matemática.

Um bom livro: Beginning Android Games, do Mario Zechner e Robert Green.

Estude vetores e matrizes de transformação - tem alguns artigos disso no Ponto V.

E dê uma olhada nesse material aqui:
http://natureofcode.com/book/preface/

Ele usa como plataforma o Processing, que é baseado em Java, mas o importante são mesmo os conceitos. E aí tem de tudo: física, partículas, fractais, ruídos, etc… Tudo num texto bastante leve, didático e cheio de exemplos.

[quote=C. Lucas]Obrigado pela atenção gomesrod . Sobre estar afiado com as formulas de física, imagino que vou usar alguns sobre aceleração, cinética só que ainda não sei por onde começar, como implementar algo que simule isso. Vou dar uma olhada nesse exemplo que vc disse do lunar. De qualquer forma obrigado pela informação.

Obrigado tambem Valeio Bezerra, pela atenção, mas quero aprender como esses “nerds” (tom de brincadeira) fazem essas ferramentas legais que envolvem física e matemática.[/quote]

Não entendi, vc quer aprender como eles fazem essas ferramentas fazendo a sua do zero?

É só uma pena usar o Java para programas com muita matemática e física. Infelizmente, a linguagem não tem o recurso de sobrecarga de operadores, o que torna a criação de códigos matemáticos um tanto tediosos.

Matemática e física é um dos cernes dos jogos. Mesmo que no futuro você vá usar a Box2D e outras engines, é essencial saber como se virar com vetores e matrizes de transformação, pois mesmo a engine não vai deixar isso 100% transparente. Esse conhecimento também será útil para IA e, caso você venha a estudar, computação gráfica.