Estou tentando fazer um jogo simples, onde uma nave espacial é lançada e seu caminho é efetuado pela gravidade dos planetas.
Semelhante a este jogo: http://sciencenetlinks.com/interactives/gravity.html
Eu gostaria de saber como replicar o efeito que os planetas têm sobre a nave espacial neste jogo, para que uma nave espacial possa "girar" em torno de um planeta para mudar de direção.
Eu consegui alcançar alguns resultados falsos, onde a nave espacial faz um loop em uma enorme elipse ao redor do planeta ou é apenas levemente afetada pela gravidade de um planeta usando Vetores.
Desde já, obrigado.
ps Tenho muita experiência em codificação, que não tem nada a ver com o desenvolvedor de jogos.
Cada planeta deve ter um campo gravitacional que puxe qualquer objeto em sua vizinhança em direção ao seu centro. Em outras palavras, você deve aplicar uma força da posição da nave espacial ao centro do planeta a cada passo da simulação.
Essa força depende da massa de ambos os objetos, mas neste caso, como a massa da nave espacial é provavelmente insignificante em comparação com a do planeta, você pode apenas experimentar constantes diferentes, dependendo do tamanho do planeta, até obter a sensação certa.
Mais importante, essa força se enfraquece quanto maior a distância entre os dois objetos. Você fará isso dividindo pela distância ao quadrado entre ambos. Após uma certa distância, você pode querer cortar manualmente e parar de aplicar a força.
Apenas traduza essa força em uma aceleração, e as equações físicas básicas devem cuidar do resto.
No pseudocódigo
fonte