Como faço para que o pathfinding do NPC pareça crível?

10

Existe uma maneira "acadêmica" de ter NPC andando aleatoriamente em um mapa, mas tendo um comportamento crível?

O cenário óbvio é um guarda armado que está andando em um porão para protegê-lo. É muito fácil criar um caminho "crível".

O que estou procurando é uma maneira de simular uma multidão em uma cidade pequena, de fato. Como posso fazer com que a jogada deles pareça que não são robôs sem gols?

Pierre Watelet
fonte
1
Você está interessado em evitar colisões de grandes multidões, ou em dar a cada membro da multidão um objetivo e um destino?
tenpn

Respostas:

6

Eu sugiro que você dê uma olhada no Craig Reynolds Steering Behaviors . Para tornar as coisas mais interessantes, você também pode mudar de comportamento, dependendo da situação em que o NPC está.

bummzack
fonte
Comportamentos de direção são perfeitos para isso, desde que você não se importe de deslizar muito.
Dezpn 08/10
2

não são robôs sem objetivo.

Fácil, dê-lhes objetivos. Dê a cada NPC um destino, dependendo do mapa que você talvez nem precise encontrar para eles, apenas dirigindo, ou pré-calcule o caminho entre as portas da cidade.

pedregoso
fonte
2

Crie nós de objetivo em locais lógicos de interesse em seu mundo e faça com que os NPCs naveguem entre esses nós. Idealmente, você também tem animações associadas aos objetivos, como olhar para um outdoor, jogar lixo em uma lata de lixo, sentado em um banco de ônibus.

Então, quando os NPCs aparecerem, dê a eles um alvo para ir e usar. Depois que eles terminarem a animação em um alvo, dê a eles um novo.

Para dividir ainda mais, tendo um tempo ocioso aleatório após terminar um gol, para que eles não passem para a próxima coisa imediatamente. Também gera alguns NPCs em seu primeiro alvo, para que eles imediatamente comecem a jogar a animação do gol. Quanto mais objetos interessantes você tiver no mundo, mais ele parecerá um lugar.

wkerslake
fonte