Dado um espaço bidimensional e uma espaçonave amigável parada, um inimigo está se movendo NÃO diretamente para a nave amiga com posição, velocidade e direção reais conhecidas.
O navio amigo quer entrar no campo de tiro para combater o inimigo.
Na verdade, estou definindo apenas um vetor direto para a posição real da nave em movimento e recalculando-a a cada quadro, resultando em algum tipo de percurso de vôo "redondo".
O que eu quero é definir um caminho direto e direto para a posição que o inimigo (presumivelmente) terá quando a distância de tiro for alcançada, assumindo que o inimigo não mudará de rumo até então.
Como uma primeira e "simples" implementação, seria suficiente se assumirmos que o amigo pode acelerar de 0 a max rapidamente.
A implementação preferida seria aquela que considera os recursos de aceleração do amigo e sabe quando a interceptação é impossível por causa da velocidade. Deve funcionar para todas as velocidades de partida, não apenas para ficar parado. Uma vantagem seria se considerar a frenagem (lutar na velocidade da luz é muito ineficiente em energia no universo)
fonte
Eu sugiro que você analise os comportamentos de direção. Especialmente perseguição . O código-fonte pode ser encontrado na implementação do OpenSteer ou procure um livro como " Programming AI game by example " (ISBN 13: 978-1556220784)
fonte