Eu sou um iniciante absoluto no desenvolvimento de jogos e, tudo o que sei sobre prevenção / resolução de colisões, aprendi no ou através deste site na semana passada ... então não hesite em me corrigir se o que estou perguntando aqui é com base em suposições erradas / mal-entendidos. Eu tentei o meu melhor para ficar claro, mas, dito isso, o assunto ainda é novo para mim.
Veículos
No meu jogo, tenho veículos que se movem autonomamente. Eles são colocados em um espaço 3D e seu movimento é governado por várias variáveis diferentes para cada veículo. Os de interesse aqui são principalmente:
- Apenas movimento para frente .
- Uma velocidade que pode variar entre min e max, mas cujo min não é (nem próximo de) zero.
- Um raio de direção dependente da velocidade (quanto maior a velocidade, maior o raio)
- Duas acelerações máximas (para diminuir e aumentar a velocidade)
Objetivo
Meu objetivo é implementar algum tipo de IA que evite colisões com 100% de precisão (ou seja, vou ter certeza de que os veículos nunca colidirão).
desenhar
- Embora eu prefira mais a idéia de ter a IA "onboard" (ou seja, cada veículo com sua própria "AI de prevenção de colisão", eventualmente consultando e / ou enviando mensagens para outros veículos), também é possível implementar o CA AI em um nível central (despachando comandos para os veículos).
- Na maioria dos casos, o veículo simplesmente terá que se afastar um do outro em qualquer direção, mas sob certas circunstâncias, eles terão que evitar colisões e seguir em direção ao mesmo alvo.
O que encontrei até agora e onde fiquei preso
Dentro dos muitos links que encontrei em outras perguntas neste site, achei particularmente útil os seguintes:
Embora esses três links "tenham aberto meus olhos" de várias maneiras, não está claro para mim como usar essas informações no meu caso. Em particular, o artigo 2 apenas "tenta" evitar colisões (mas as colisões acontecem de tempos em tempos). Embora o artigo # 3 precise às vezes parar os veículos para evitar colisões.
O que eu também notei é que os algoritmos de prevenção de colisão vinculados acima usam uma "projeção instantânea" de velocidade linear para verificar se algo está a caminho do veículo. Eu queria saber se isso é suficiente no meu caso ou se eu tenho que projetar minha posição de uma maneira mais realista (por exemplo: se eu estiver 60 ° em uma direção 90 ° para a direita, devo calcular minha posição pelo resto do 30 ° da curva e assumindo movimento linear).
Finalmente, estou particularmente com medo de impasses . Em outras palavras: embora a densidade de veículos no mundo seja bastante baixa, estou preocupado que, dado um certo número de veículos convergindo para o mesmo ponto, uma vez que eles percebam que estão em rota de colisão, qualquer manobra evasiva seja impossível. pois traria o veículo em um caminho de colisão com alguns outros.
Questão
Como posso alcançar meu "objetivo"? Uma explicação detalhada é, obviamente, muito apreciada, mas os links para recursos externos também seriam de grande ajuda (tenho certeza de que não sou o primeiro com esse problema, mas provavelmente usei as palavras-chave erradas para pesquisar na web? )
Agradeço antecipadamente por sua ajuda!