Calcular Trajetória

Fala galera, preciso de uma ajuda de vocês, estou desenvolvendo um app para um jogo que faz algumas ações e precisava que de alguma forma reconhecer o caminho a ser percorrido.
No caso da imagem abaixo, a cruz branca seria a posição do personagem atualmente e a estrela laranja é aonde ele deve chegar(marcado pela linha vermelha), porem obviamente ele não pode seguir uma linha reta e sim seguir um trajeto que esta marcado em laranja.

Minha pergunta é: como faço para calcular o trajeto do ponto A(personagem) até o ponto B(destino) sendo que a distancia entre os pontos precisa seguir certas curvas.

Minha ideia: é criar uma Matriz e salvar todos as cores dos pixels nele e dai ele so poderá andar sobre a cor verde claro e cinza, porém como calcular a trajetória entre os 2 pontos?

image

Olá!
Nunca fiz nada parecido com isso, sou apenas um iniciante nessa área, mas a tua pergunta me lembrou desse artigo. Dá uma olha ele pode te dá uma luz! No meio do artigo ele fala sobre a trajetória do jogo do Pacman.
https://pt.khanacademy.org/computing/computer-science/algorithms/intro-to-algorithms/a/route-finding


Também da uma pesquisada no algoritmo Flood fill, pode ajudar.
Como eu falei nunca tentei fazer nada disso na prática, você pode esperar pessoas mais experientes responderem.:grin:

1 curtida

Como dito pelo Jelson acima, você precisa de um algoritmo de cálculo de rotas (route finding ou pathfinding). Possivelmente, um dos mais simples em jogos é o A estrela (A* ). Ex: https://www.inf.ufsc.br/~alexandre.goncalves.silva/courses/14s2/ine5633/trabalhos/t1/A%20%20%20Pathfinding%20para%20Iniciantes.pdf

Abraço.