¿Cómo hago para que la búsqueda de rutas NPC parezca creíble?

10

¿Hay alguna forma "académica" de hacer que un NPC camine al azar en un mapa, pero que tenga un comportamiento creíble?

El escenario obvio es un guardia armado que camina por un sótano para asegurarlo. Es bastante fácil establecer un camino "creíble".

Lo que estoy buscando es una forma de simular una multitud en una pequeña ciudad, de hecho. ¿Cómo puedo hacer que su movimiento parezca que no son robots sin goles?

Pierre Watelet
fuente
1
¿Está interesado en evitar colisiones de grandes multitudes, o dar a cada miembro de la multitud un propósito y un destino?
Tenpn

Respuestas:

6

Le sugiero que eche un vistazo a los comportamientos de dirección de Craig Reynolds . Para hacer las cosas más interesantes, también podría cambiar los comportamientos dependiendo de la situación en la que se encuentre el NPC.

bummzack
fuente
Los comportamientos de dirección son perfectos para esto, siempre y cuando no te importe mucho deslizar los pies.
Tenpn
2

No son robots sin goles.

Fácil, dales objetivos. Dale a cada NPC un destino dependiendo del mapa que quizás ni siquiera tengas que encontrar para ellos solo dirección o calcular previamente el camino entre las puertas de la ciudad.

metal de piedra
fuente
2

Cree nodos de objetivos en lugares lógicos de interés en su mundo y luego haga que los NPC naveguen entre estos nodos. Idealmente, también tiene animaciones asociadas con los objetivos, como mirar una valla publicitaria, tirar basura en un basurero, sentarse en el banco de un autobús.

Luego, a medida que aparecen los NPC, dales un objetivo para ir y usar. Una vez que hayan terminado la animación en un objetivo, deles una nueva.

Para dividir esto aún más, tener un tiempo de inactividad aleatorio después de terminar un objetivo, para que no todos pasen a lo siguiente de inmediato. También genera algunos NPC en su primer objetivo para que comiencen a reproducir la animación del objetivo de inmediato. Cuantos más objetos interesantes tenga en el mundo, más se sentirá como un lugar.

Wkerslake
fuente