6 tipos de personajes NPC (con ejemplos 3D en vivo de mundos reales)
Crea tus propios tipos de personaje NPC
Misión, comerciante, enemigo, compañero, secundario e interactivo: los seis tipos de personajes NPC, cada uno ilustrado con un mundo 3D real en el que puedes entrar ahora mismo.
La mayoría de los tipos de personaje NPC que se incluyen en un mundo 3D real encajan en seis categorías: misión, comerciante, enemigo, compañero, secundario e interactivo. La categoría que elijas decide qué sistemas tienes que conectar —el estado de diálogo, el inventario, la búsqueda de rutas, el aggro o absolutamente nada— y decide qué se rompe primero cuando el jugador hace algo que no habías previsto.
Esta página trata esos seis tipos de personaje NPC uno por uno. Cada uno recibe una definición, el mecanismo que lo hace funcionar en el motor, el modo de fallo que vemos con más frecuencia y un mundo en vivo del creador de juegos 3D de Neta Studio en el que puedes entrar en lugar de mirar una captura de pantalla.
Respuesta rápida: los seis tipos
Los seis tipos son los NPC de misión, que entregan y completan objetivos; los NPC comerciantes, que intercambian objetos por dinero; los NPC enemigos, que luchan y persisten entre combates; los NPC compañeros, que siguen al jugador; los NPC secundarios, que pueblan una escena sin interactuar; y los NPC interactivos, que son objetos, animales y elementos fijos que responden en su sitio.
Esa es toda la taxonomía en una frase. El resto de esta página los trata uno por uno: qué hace cada tipo a nivel mecánico, qué se rompe primero y un mundo del creador que puedes abrir y recorrer.
Por qué el tipo va antes que el modelo
La malla, el esqueleto y el conjunto de animaciones son en gran medida intercambiables entre tipos. La misma malla de aldeano con el mismo clip de reposo puede ser un dador de misiones, un comerciante o un personaje secundario. Lo que cambia es la pila de componentes: un grafo de diálogo, una tabla de inventario, un agente de navmesh, un radio de aggro, un volumen de activación o una marca de guardado.
Elige primero el tipo y dedicarás tu tiempo a ajustar el único sistema que de verdad lo necesita. Elige primero el modelo y construirás cuatro sistemas que nunca usarás. Mini World es el lugar más barato para compararlos en paralelo, porque los seis caben en una sola escena sin pantalla de carga entre ellos.
NPC de misión
Un NPC de misión posee el estado de la historia. Ofrece un objetivo, sabe si ese objetivo se ha completado y entrega una recompensa cuando lo está. A nivel mecánico, eso es un grafo de diálogo con al menos tres condiciones de entrada —no iniciado, activo, completado— más una referencia a una marca de objetivo que el resto del mundo puede activar.
El modo de fallo consiste en guardar esa marca en el propio NPC. Si el NPC se destruye, se descarga o el mundo se recarga, la misión vuelve a «no iniciado» mientras el jugador sigue con el objeto que se le dijo que recogiera. El jugador tiene ahora un objeto de inventario sin dueño y sin entrega. Guarda la marca en la partida del jugador, indexada por un ID de misión estable, y haz que el grafo de diálogo lea esa variable cuando se abre el panel, no cuando aparece el NPC.
La segunda cosa que hay que hacer bien es la comprobación de entrega. Si la finalización solo se activa dentro de un volumen ajustado a los pies del NPC, los jugadores que entreguen desde un vehículo en movimiento o a través de una valla se la perderán. Dale a la comprobación de finalización un radio generoso más una prueba de línea de visión, y mantenla separada del aviso de interacción para que acercarse al NPC no complete automáticamente una misión que el jugador aún no ha leído.
The Cyclops' Island es la forma más rápida de ver todo el bucle. Hay un único dador, una cadena corta de objetivos y una recompensa que abre el resto de la isla. Acércate, acepta el objetivo, vete, vuelve y observa qué ocurre con la condición de entrada del diálogo cuando regresas con el objeto. Esa transición de tres estados es todo el NPC de misión, y una vez que la has visto puedes reconstruirla en cualquier parte.
NPC comerciantes
Un NPC comerciante intercambia objetos por dinero. Esa es toda la mecánica. A nivel mecánico, un comerciante son dos tablas y una comprobación: una lista de existencias de IDs de objetos con precios de compra, una regla de precio de venta y una comparación de dinero que se ejecuta antes de confirmar la transacción.
El papel económico es mayor que la transacción. Los comerciantes son el principal sumidero de dinero, que es lo que impide que el botín se acumule hasta convertirse en un número que al jugador deja de importarle. También son la válvula de ritmo: lo que un comerciante tiene en existencias determina qué puede intentar el jugador a continuación. Cuando un probador se queda atascado, lo primero que hay que inspeccionar son las existencias del comerciante, no la dificultad de los enemigos.
Este es el tipo más fácil de construir. Un volumen de activación, una lista de objetos y un panel. Sin navmesh, sin aggro, sin grafo de diálogo si no quieres uno. El panel es casi todo el trabajo.
También es el tipo más fácil de volver aburrido. Unas existencias fijas convierten a un comerciante en una máquina expendedora: el jugador compra una vez y no vuelve nunca. Dos arreglos baratos. Primero, el reabastecimiento: cambia la lista de existencias con un temporizador o cuando se active un evento del mundo. Segundo, el bloqueo: oculta objetos hasta que el jugador haya estado en algún sitio o haya superado algo. Ninguno necesita un sistema nuevo. Mantén el precio de venta estrictamente por debajo del de compra, o el jugador tendrá un bucle infinito y la economía se habrá acabado antes de la segunda zona.
NPC enemigos
Un NPC enemigo es un actor hostil que existe en el mundo tanto si el jugador está luchando contra él como si no. Tiene estados fuera del combate —inactivo, patrulla, alerta— y una transición al combate. Esa es la línea entre un NPC enemigo y un simple oponente controlado por la CPU.
Un oponente controlado por la CPU existe solo dentro de una partida. Aparece al empezar la partida, se elimina al terminar y no conserva estado entre rondas. Su comportamiento está limitado por las reglas de la partida, y la partida es todo el mundo. Un NPC enemigo tiene que responder a preguntas que a un oponente de CPU nunca se le hacen: adónde va cuando el jugador se marcha, si vuelve después de morir, si sigue existiendo después de que el jugador guarde y recargue.
Por qué la distinción importa para el diseño: la colocación de los NPC enemigos es diseño de niveles, no ajuste de partidas. Estás eligiendo el radio de aggro, la ruta de patrulla y la distancia de correa en coordenadas del mundo, y esos números cambian cómo se lee el nivel. Un radio de aggro mayor que las líneas de visión del nivel inicia el combate antes de que el jugador pueda ver al enemigo. Una correa demasiado larga convierte una pelea en una persecución por todo el mapa que arrastra a todos los demás encuentros. Dale a cada enemigo tres números por instancia que puedas ajustar: radio de aggro, distancia de correa y tiempo de desenganche.
La persistencia es la otra mitad. Decide para cada enemigo si reaparece, y con qué activador: al recargar el mundo, con un temporizador o nunca. Si no lo decides, el comportamiento por defecto casi siempre es «nunca», y habrás borrado en silencio una parte del mundo tras una partida. La muerte de un enemigo también necesita una regla de cadáver: o el cuerpo desaparece con un temporizador y suelta el botín en ese momento, o se queda y la tabla de botín se lee del cadáver. Mezclar las dos produce enemigos de los que se puede saquear dos veces.
NPC compañeros
Un compañero sigue al jugador, participa en el desplazamiento o en el combate y conserva estado entre escenas: salud, inventario y, a veces, afinidad. Es el único tipo que está en pantalla la mayor parte del tiempo y hace algo en la mayoría de esos fotogramas.
El problema de las rutas es lo que hace difíciles a los compañeros. Un compañero es un agente de navmesh cuyo objetivo es otro agente en movimiento. Las puertas fallan primero: si el radio del agente del compañero es mayor que la abertura de la puerta menos el margen de holgura, se niega a trazar ruta a través de ella y el jugador sigue solo. Las escaleras estrechas, las escalas y las plataformas móviles fallan igual. Tres ajustes resuelven casi todo. El desplazamiento de seguimiento (apuntar a un punto detrás del jugador en lugar de a la transformación exacta del jugador), una distancia de parada para que el compañero no se meta en la cámara, y una regla de recuperación.
La regla de recuperación no es opcional. Si el compañero ha estado fuera de la línea de visión durante más de un par de segundos y está a más de unos pocos cuerpos de distancia, teletranspórtalo al punto de navmesh más cercano detrás del jugador. Todo jugador acaba dejando a un compañero atascado en la geometría, y todo jugador se da cuenta cuando lo hace. Sin el teletransporte, el fallo no es que el compañero se pierda; es que el jugador tiene que volver a por él, dos veces, y luego deja de llevarlo.
Esa superficie también es la razón por la que los compañeros son el tipo más difícil de publicar. Un compañero lo toca todo: atrae el aggro de los enemigos, bloquea el movimiento del propio jugador, activa placas de presión, cuenta para los presupuestos de aparición, aparece en secuencias guionizadas que se bloquearon para un solo actor y se pone delante de la cámara durante los diálogos. Todos los demás sistemas tienen ahora que responder qué hace el compañero aquí. Un comerciante no hace nada cuando pasas a su lado. Un compañero hace algo en todas las escenas, incluidas las que nunca se diseñaron para él. Por eso los compañeros se recortan más a menudo que cualquier otra cosa de esta lista.
NPC secundarios
Un NPC secundario existe para que un lugar se lea como habitado. Sin diálogo, sin inventario, sin interacción. Normalmente tres o cuatro clips de reposo, un bucle de caminar y una ruta por spline o un pequeño radio de patrulla.
Necesitas menos de los que crees. Lo que cuenta es cuántos están dentro del frustum de la cámara a la vez, no cuántos existen en el nivel. Una calle se lee como poblada con un puñado de personajes visibles siempre que algunos de ellos se muevan. El ojo lee movimiento y silueta, no número de personas. Coloca un conjunto disperso de anclajes donde la cámara mira de verdad —a lo largo de la ruta principal, cerca de las puertas que usa el jugador— y deja el resto del nivel vacío.
Lo concreto que hace que una multitud se vea mal es la sincronización. Si todos los NPC secundarios empiezan el mismo reposo en el mismo fotograma, la escena se lee como una fila de maniquíes. Desfasa el inicio del clip de cada instancia en una fracción aleatoria de la duración del clip, y da a los personajes que caminan velocidades ligeramente distintas para que se separen a lo largo de una línea de visión larga. Agent Sprite Forge es la forma más rápida de producir el pequeño conjunto de clips que necesita una multitud —unos pocos reposos y un caminar— sin animar a mano cada personaje.
El control de costes importa aquí más que en ningún otro sitio, porque los NPC secundarios son el único tipo que colocas en masa. Mantenlos fuera del navmesh para que no consuman consultas de rutas que los agentes reales necesitan. Comparte un solo esqueleto y un solo atlas de materiales entre todos ellos. Dales o bien ninguna colisión o bien un radio de empuje que no pueda bloquear al jugador. Y no le pongas a uno un grafo de diálogo por si el jugador le habla: una línea de relleno le enseña al jugador que el mundo es superficial, y lo pondrá a prueba.
NPC interactivos
Los NPC interactivos responden en su sitio: botones, palancas, puertas, carteles, animales. Tienen un estado y una respuesta. No tienen horario, ruta ni árbol de diálogo.
La frontera con un prop es el estado. Un prop reproduce una animación y vuelve al reposo, o hace una sola cosa sin memoria de haberla hecho. En el momento en que un objeto tiene una variable de estado persistente —bloqueado o desbloqueado, encendido o apagado, alimentado o hambriento— y se comporta de forma distinta en la segunda interacción, está en territorio de NPC y necesita la misma disciplina de guardado que una marca de misión. Un bit de estado y una respuesta son un prop. Dos o más estados con respuestas distintas son un NPC, incluso cuando el NPC es una puerta.
Los animales pertenecen a esta categoría, no a la de secundarios. Un animal que huye cuando el jugador cruza un radio tiene una entrada de percepción y una respuesta, lo que es una pequeña máquina de estados. La implementación es la misma que usarías para una puerta: un radio de interacción o percepción, una variable de estado escrita en la partida y una máquina de estados de animación con al menos dos clips.
El modo de fallo son los avisos que se activan a través de la geometría. Si el radio de interacción es generoso y falta la prueba de línea de visión, los jugadores reciben un aviso de interacción para una puerta al otro lado de una pared. Condiciona el aviso a un raycast más el radio, y condiciona la interacción en sí a la misma comprobación en lugar de solo al aviso. De lo contrario, el aviso desaparece en la pared pero una entrada en cola sigue abriendo la puerta.
¿Qué tipo deberías construir?
Elige por objetivo, no por cómo se ve el personaje. La primera columna es lo que quieres que haga el jugador. La segunda es el tipo que lo produce. La tercera es lo que se vuelve caro de cambiar una vez que todo lo demás se construye encima.
Si un personaje hace dos trabajos, constrúyelo como un solo personaje con dos conjuntos de componentes en lugar de dos personajes uno al lado del otro. Un comerciante que también da una misión es un único interactuable con dos paneles y una referencia de guardado compartida. El coste es que ahora ambos flujos tienen que probarse entre sí: un jugador que termina la misión antes de abrir la tienda encontrará las existencias en un estado para el que puede que no hayas escrito un caso.
Si no sabes a qué categoría pertenece un personaje, empieza por secundario y ve añadiendo. Añadir un volumen de activación y un grafo de diálogo convierte a un NPC secundario en un dador de misiones sin tocar la malla. Lo contrario es caro: quitar la interacción a un compañero significa volver a probar todas las escenas en las que aparecía.
| Objetivo | Tipo | Lo primero que hay que hacer bien |
|---|---|---|
| El jugador necesita un motivo para viajar a algún sitio | NPC de misión | Marca de misión en la partida del jugador, indexada por un ID de misión estable |
| El jugador necesita convertir el botín en equipo útil | NPC comerciante | Tabla de existencias más una comprobación de dinero que se ejecuta antes de confirmar la transacción |
| El jugador necesita una prueba de habilidad o de recursos | NPC enemigo | Radio de aggro, distancia de correa y tiempo de desenganche, ajustados por instancia |
| El jugador necesita sobrevivir a una ruta larga | NPC compañero | Desplazamiento de seguimiento, distancia de parada y una regla de teletransporte de recuperación |
| La escena necesita leerse como habitada | NPC secundario | Clips compartidos con desfases de fase aleatorizados y sin agente de navmesh |
| El mundo necesita reaccionar al jugador en su sitio | NPC interactivo | Una variable de estado persistente y un volumen de activación con una condición de línea de visión |
Entra en el mundo al que pertenece
Un sprite es un personaje sin sitio donde estar. El último paso es el que nadie más ofrece: coge la hoja que acabas de crear y ponla en un mundo por el que alguien pueda pasear: una isla pequeña, un planeta, una esquina de calle lluviosa. Todos los mundos de este sitio se hicieron a partir de una descripción escrita y se publicaron como una página jugable.
FAQ
¿Cuántos tipos de personajes NPC hay? +
Seis, tal como los dividimos: misión, comerciante, enemigo, compañero, secundario e interactivo. La división es funcional, no biológica. Se organiza según los sistemas que necesita el personaje —estado de diálogo, inventario, búsqueda de rutas, aggro o una única marca de estado—, así que dos personajes con modelos completamente distintos pueden ser del mismo tipo.
¿Un enemigo es un NPC? +
Sí, si existe en el mundo fuera del combate. Un NPC enemigo tiene estados de reposo, patrulla y alerta, y persiste entre peleas, así que necesita una regla de reaparición y una regla de guardado. Un oponente de CPU que solo existe dentro de una partida no es un NPC en este sentido, porque nada de él sobrevive a la partida.
¿Qué tipo es el más fácil de construir? +
El comerciante. Un volumen de activación, una lista de objetos con precios, una comprobación de dinero y un panel. No hay navmesh, ni grafo de diálogo, ni estado que guardar más allá del inventario y el dinero del jugador, que ya tienes.
¿Los NPC compañeros necesitan IA? +
Necesitan rutas y una regla de seguimiento mucho más que toma de decisiones. Lo difícil es mantenerse en el navmesh junto a un objetivo en movimiento a través de puertas y escaleras, además de un teletransporte de recuperación para cuando fallan. Elegir a qué ataca el compañero es la parte pequeña del trabajo.
¿Qué es un NPC secundario? +
Un personaje no interactivo colocado para que una escena se lea como habitada. Sin diálogo, sin inventario, normalmente sin agente de navmesh y a menudo sin colisión. Existe para la cámara, así que lo que importa es cuántos son visibles a la vez y si sus bucles de animación están desfasados entre sí.
¿Puede un NPC ser de dos tipos? +
Sí, y normalmente debería serlo: un comerciante que también da una misión es un único interactuable con dos paneles y una referencia de guardado compartida. El coste es una prueba combinatoria: cada estado de misión multiplicado por cada estado de tienda es un caso que tienes que comprobar, y los que los jugadores encuentran primero son los que no escribiste.
Volver al creador de juegos 3D
Los 31 mundos, juegos y escenas 3D terminados están en una sola página, todos jugables.