Então, digamos que você tenha uma IA de corrida baseada em splines. Suponha que ele já possa lidar com os conceitos básicos de frenagem e direção na pista.
Como você estruturaria e implementaria comportamentos de prevenção de colisões, ultrapassagem, desenho, bloqueio e outros comportamentos para que seus carros continuassem competitivos, mas fizessem corridas interessantes?
Links para documentos / implementações seriam incríveis.
Respostas:
Você já viu Comportamentos de direção para personagens autônomos ? Eu consideraria um algoritmo "CrowdPathFollowing" para permanecer na pista e evitar colisões. Você pode ser capaz de misturar um comportamento "Seguimento do campo de fluxo" para desenhar, passar e bloquear - faça o campo de fluxo seguir o passado e o caminho projetado do jogador, mas se dividir em torno de sua localização atual.
Isso deve fazer com que a IA tenda a seguir diretamente atrás dele e se mover diretamente na frente para bloquear, e ainda assim incentivar passes limpos.
fonte
Houve uma sessão parcialmente sobre isso na conferência AI Game Dev deste ano em Paris. Você pode encontrar os slides e um resumo aqui:
http://aigamedev.com/open/coverage/paris10-report/#session9
fonte
Anti-Padrão: Oponentes adaptando sua velocidade
Infelizmente, não sou capaz de lhe dar padrões, mas gostaria de nomear um anti-padrão. Por favor, não tente adaptar a velocidade dos drivers de IA à do jogador humano. A idéia por trás disso é criar condições justas de corrida para amadores e profissionais e abandonar a necessidade de vários níveis de dificuldade (e sua implementação).
No entanto, o que parece bom no papel acaba sendo péssimo na prática e a série de MotoGP falhou miseravelmente ao implementar esse comportamento. Acabou nos adversários dirigindo a 5mp / h quando você ficou parado por alguns segundos e na impossibilidade de saber se você melhorou no jogo (feedback muito ruim)
fonte