Types de PNJ · les six, expliqués

6 types de PNJ (avec des exemples 3D jouables tirés de mondes réels)

Créez vos propres PNJ

Quête, marchand, ennemi, compagnon, arrière-plan, interactif — les six types de PNJ, chacun illustré par un vrai monde 3D dans lequel vous pouvez entrer dès maintenant.

✦Jeu
Créez un PNJ

La plupart des types de PNJ que l'on rencontre dans un vrai monde 3D se rangent en six catégories : quête, marchand, ennemi, compagnon, arrière-plan et interactif. La catégorie que vous choisissez détermine les systèmes à câbler — état de dialogue, inventaire, pathfinding, aggro, ou rien du tout — et elle détermine ce qui casse en premier quand un joueur fait quelque chose que vous n'aviez pas prévu.

Cette page examine ces six types de PNJ un par un. Chacun reçoit une définition, le mécanisme qui le fait fonctionner dans le moteur, le mode de défaillance que nous voyons le plus souvent, et un monde jouable issu du constructeur de jeux 3D de Neta Studio, que vous pouvez parcourir au lieu de regarder une capture d'écran.

Réponse rapide : les six types

Les six types sont les PNJ de quête, qui distribuent et valident des objectifs ; les PNJ marchands, qui échangent des objets contre de la monnaie ; les PNJ ennemis, qui se battent et persistent entre les combats ; les PNJ compagnons, qui suivent le joueur ; les PNJ d'arrière-plan, qui peuplent une scène sans interagir ; et les PNJ interactifs, qui sont des objets, des animaux et des éléments fixes qui réagissent sur place.

Voilà toute la taxonomie en une phrase. Le reste de cette page les prend un par un — ce que chaque type fait mécaniquement, ce qui casse en premier, et un monde du constructeur que vous pouvez ouvrir et parcourir.

Pourquoi le type passe avant le modèle

Le maillage, le rig et le jeu d'animations sont largement interchangeables d'un type à l'autre. Le même maillage de villageois sur la même animation d'attente peut être un donneur de quête, un marchand ou un personnage d'arrière-plan. Ce qui diffère, c'est la pile de composants : un graphe de dialogue, une table d'inventaire, un agent de navmesh, un rayon d'aggro, un volume déclencheur ou un indicateur de sauvegarde.

Choisissez d'abord le type et vous passez votre temps à régler le seul système qui en a vraiment besoin. Choisissez d'abord le modèle et vous construisez quatre systèmes que vous n'utilisez jamais. Mini World est l'endroit le plus économique pour les comparer côte à côte, car les six tiennent dans une seule scène sans écran de chargement entre eux.

Les PNJ de quête

Un PNJ de quête détient l'état de l'histoire. Il propose un objectif, sait si cet objectif est accompli et remet une récompense le cas échéant. Mécaniquement, c'est un graphe de dialogue avec au moins trois conditions d'entrée — non commencé, actif, terminé — plus une référence à un indicateur d'objectif que le reste du monde peut activer.

Le mode de défaillance, c'est de stocker cet indicateur sur le PNJ lui-même. Si le PNJ est détruit, déchargé ou si le monde se recharge, la quête revient à « non commencée » alors que le joueur tient encore l'objet qu'on lui a demandé de récupérer. Le joueur se retrouve avec un objet d'inventaire sans propriétaire et sans remise. Placez l'indicateur dans la sauvegarde du joueur, indexé par un identifiant de quête stable, et faites lire cette variable au graphe de dialogue à l'ouverture du panneau, pas au moment où le PNJ apparaît.

La deuxième chose à réussir, c'est la validation de la remise. Si l'achèvement ne se déclenche qu'à l'intérieur d'un volume étroit aux pieds du PNJ, les joueurs qui rendent la quête depuis un véhicule en mouvement ou par-dessus une clôture le manqueront. Donnez à la vérification d'achèvement un rayon généreux plus un test de ligne de vue, et gardez-la séparée de l'invite d'interaction pour que le simple fait de passer près du PNJ ne valide pas automatiquement une quête que le joueur n'a pas encore lue.

The Cyclops' Island est le moyen le plus rapide de voir toute la boucle. Il y a un seul donneur, une courte chaîne d'objectifs et une récompense qui ouvre le reste de l'île. Approchez-vous, prenez l'objectif, partez, revenez et observez ce qui arrive à la condition d'entrée du dialogue lorsque vous revenez avec l'objet. Cette transition à trois états, c'est tout le PNJ de quête, et une fois que vous l'avez vue, vous pouvez la reconstruire n'importe où.

Les PNJ marchands

Un PNJ marchand échange des objets contre de la monnaie. C'est toute la mécanique. Mécaniquement, un marchand, ce sont deux tables et une vérification : une liste de stock d'identifiants d'objets avec des prix d'achat, une règle de prix de vente et une comparaison de monnaie qui s'exécute avant que la transaction soit validée.

Le rôle économique dépasse la transaction. Les marchands sont le principal puits de monnaie, ce qui empêche le butin de s'accumuler jusqu'à devenir un nombre dont le joueur ne se soucie plus. Ils sont aussi la soupape de rythme : ce qu'un marchand a en stock détermine ce que le joueur peut tenter ensuite. Quand un testeur est bloqué, la première chose à inspecter est le stock du marchand, pas la difficulté des ennemis.

C'est le type le plus facile à construire. Un volume déclencheur, une liste d'objets et un panneau. Pas de navmesh, pas d'aggro, pas de graphe de dialogue si vous n'en voulez pas. Le panneau, c'est l'essentiel du travail.

C'est aussi le type le plus facile à rendre ennuyeux. Un stock fixe transforme un marchand en distributeur automatique : le joueur achète une fois et ne revient jamais. Deux correctifs peu coûteux. D'abord, le réapprovisionnement — changez la liste de stock selon un minuteur ou quand un événement du monde se déclenche. Ensuite, le verrouillage — masquez des objets jusqu'à ce que le joueur soit allé quelque part ou ait terminé quelque chose. Ni l'un ni l'autre n'exige un nouveau système. Gardez le prix de vente strictement inférieur au prix d'achat, sinon le joueur dispose d'une boucle infinie et l'économie est terminée avant la deuxième zone.

Les PNJ ennemis

Un PNJ ennemi est un acteur hostile qui existe dans le monde, que le joueur le combatte ou non. Il a des états hors combat — attente, patrouille, alerte — et une transition vers le combat. C'est la frontière entre un PNJ ennemi et un simple adversaire géré par l'ordinateur.

Un adversaire géré par l'ordinateur n'existe qu'à l'intérieur d'un match. Il apparaît au début du match, est retiré à la fin et ne conserve aucun état entre les manches. Son comportement est borné par les règles du match, et le match constitue tout son monde. Un PNJ ennemi doit répondre à des questions qu'on ne pose jamais à un adversaire géré par l'ordinateur : où va-t-il quand le joueur part, revient-il après sa mort, existe-t-il encore après que le joueur a sauvegardé et rechargé.

Pourquoi la distinction compte pour la conception : le placement des PNJ ennemis relève du level design, pas du réglage de match. Vous choisissez le rayon d'aggro, l'itinéraire de patrouille et la distance de laisse en coordonnées du monde, et ces nombres changent la façon dont le niveau se lit. Un rayon d'aggro plus long que les lignes de vue du niveau déclenche le combat avant que le joueur puisse voir l'ennemi. Une laisse trop longue transforme un combat en une poursuite à travers la carte qui entraîne toutes les autres rencontres avec elle. Donnez à chaque ennemi trois nombres réglables par instance : rayon d'aggro, distance de laisse et délai de désengagement.

La persistance est l'autre moitié. Décidez pour chaque ennemi s'il réapparaît, et sur quel déclencheur — au rechargement du monde, selon un minuteur, ou jamais. Si vous ne décidez pas, le comportement par défaut est presque toujours « jamais », et vous avez discrètement supprimé un morceau du monde après une seule partie. La mort d'un ennemi exige aussi une règle de cadavre : soit le corps disparaît selon un minuteur et laisse tomber le butin à ce moment, soit il reste et la table de butin est lue sur le cadavre. Mélanger les deux produit des ennemis que l'on peut piller deux fois.

Les PNJ compagnons

Un compagnon suit le joueur, participe aux déplacements ou au combat et transporte un état d'une scène à l'autre — points de vie, inventaire, parfois affinité. C'est le seul type qui est à l'écran la plupart du temps et qui fait quelque chose dans la plupart de ces images.

C'est le problème de pathfinding qui rend les compagnons difficiles. Un compagnon est un agent de navmesh dont la cible est un autre agent en mouvement. Les embrasures de porte échouent en premier : si le rayon d'agent du compagnon est plus large que l'ouverture de la porte moins la marge de dégagement, il refuse de passer et le joueur avance seul. Les escaliers étroits, les échelles et les plateformes mobiles échouent de la même manière. Trois réglages règlent l'essentiel. Le décalage de suivi — viser un point derrière le joueur plutôt que la transformée exacte du joueur —, une distance d'arrêt pour que le compagnon ne colle pas à la caméra, et une règle de rattrapage.

La règle de rattrapage n'est pas facultative. Si le compagnon est hors de vue depuis plus de quelques secondes et se trouve à plus de quelques longueurs de corps derrière, téléportez-le au point de navmesh le plus proche derrière le joueur. Tout joueur finit par laisser un compagnon coincé sur la géométrie, et tout joueur le remarque. Sans téléportation, l'échec n'est pas que le compagnon se perde ; c'est que le joueur doit revenir le chercher, deux fois, puis cesse de l'emmener.

Cet empan est aussi pourquoi les compagnons sont le type le plus difficile à livrer. Un compagnon touche à tout : il attire l'aggro des ennemis, il bloque les propres déplacements du joueur, il déclenche les plaques de pression, il compte dans les budgets d'apparition, il apparaît dans des séquences scénarisées qui étaient bloquées pour un seul acteur, et il se tient devant la caméra pendant les dialogues. Tous les autres systèmes doivent désormais répondre à ce que fait le compagnon, ici. Un marchand ne fait rien quand vous passez devant lui. Un compagnon fait quelque chose dans chaque scène, y compris celles qui n'ont jamais été conçues pour lui. C'est pourquoi les compagnons sont coupés plus souvent que tout le reste de cette liste.

Les PNJ d'arrière-plan

Un PNJ d'arrière-plan existe pour donner à un lieu l'impression d'être habité. Pas de dialogue, pas d'inventaire, pas d'interaction. En général trois ou quatre animations d'attente, une boucle de marche, et soit un chemin spline, soit un petit rayon de patrouille.

Vous en avez besoin de moins que vous ne le pensez. Ce qui compte, c'est combien se trouvent à la fois dans le tronc de cône de la caméra, pas combien existent dans le niveau. Une rue paraît peuplée avec une poignée de personnages visibles, tant que certains bougent. L'œil perçoit le mouvement et la silhouette, pas le nombre de têtes. Placez un ensemble clairsemé de points d'ancrage là où la caméra regarde réellement — le long du parcours principal, près des portes que le joueur utilise — et laissez le reste du niveau vide.

Ce qui fait précisément qu'une foule paraît fausse, c'est la synchronisation. Si chaque PNJ d'arrière-plan démarre la même animation d'attente sur la même image, la scène ressemble à une rangée de mannequins. Décalez le début de l'animation de chaque instance d'une fraction aléatoire de la durée de l'animation, et donnez aux personnages qui marchent des vitesses légèrement différentes pour qu'ils se dispersent sur une longue ligne de vue. Agent Sprite Forge est le moyen le plus rapide de produire le petit ensemble d'animations dont une foule a besoin — quelques animations d'attente et une marche — sans animer chaque personnage à la main.

La maîtrise des coûts compte ici plus que partout ailleurs, car les PNJ d'arrière-plan sont le seul type que vous placez en masse. Gardez-les hors du navmesh pour qu'ils ne consomment pas les requêtes de chemin dont les vrais agents ont besoin. Partagez un seul squelette et un seul atlas de matériaux entre tous. Donnez-leur soit aucune collision, soit un rayon de repoussement qui ne peut pas bloquer le joueur. Et ne donnez pas de graphe de dialogue à l'un d'eux au cas où le joueur lui parlerait — une réplique provisoire apprend au joueur que le monde est mince, et il le testera.

Les PNJ interactifs

Les PNJ interactifs réagissent sur place : boutons, leviers, portes, panneaux, animaux. Ils ont un état et une réponse. Ils n'ont ni emploi du temps, ni itinéraire, ni arbre de dialogue.

La frontière avec un simple décor, c'est l'état. Un décor joue une animation et revient au repos, ou fait une seule chose sans se souvenir de l'avoir faite. Dès qu'un objet possède une variable d'état persistante — verrouillé ou déverrouillé, allumé ou éteint, nourri ou affamé — et se comporte différemment à la seconde interaction, il entre dans le territoire du PNJ et exige la même rigueur de sauvegarde qu'un indicateur de quête. Un seul bit d'état et une réponse, c'est un décor. Deux états ou plus avec des réponses différentes, c'est un PNJ, même quand le PNJ est une porte.

Les animaux appartiennent à cette catégorie, pas à l'arrière-plan. Un animal qui fuit quand le joueur franchit un rayon possède une entrée de perception et une réponse, c'est-à-dire une petite machine à états. L'implémentation est la même que celle d'une porte : un rayon d'interaction ou de perception, une variable d'état écrite dans la sauvegarde et une machine à états d'animation avec au moins deux animations.

Le mode de défaillance, ce sont les invites qui se déclenchent à travers la géométrie. Si le rayon d'interaction est généreux et que le test de ligne de vue manque, les joueurs reçoivent une invite d'interaction pour une porte de l'autre côté d'un mur. Conditionnez l'invite à un raycast plus le rayon, et conditionnez l'interaction elle-même au même test plutôt qu'à la seule invite. Sinon, l'invite disparaît au mur mais une entrée mise en file d'attente ouvre quand même la porte.

Quel type construire ?

Choisissez selon l'objectif, pas selon l'apparence du personnage. La première colonne indique ce que vous voulez que le joueur fasse. La deuxième, le type qui le produit. La troisième, ce qui devient coûteux à changer une fois que tout le reste est bâti par-dessus.

Si un personnage remplit deux fonctions, construisez-le comme un seul personnage doté de deux ensembles de composants plutôt que comme deux personnages côte à côte. Un marchand qui donne aussi une quête est un seul élément interactif avec deux panneaux et une référence de sauvegarde partagée. Le coût, c'est que les deux flux doivent désormais être testés l'un par rapport à l'autre — un joueur qui termine la quête avant même d'ouvrir la boutique trouvera le stock dans un état pour lequel vous n'avez peut-être pas écrit de cas.

Si vous ne savez pas où placer un personnage, commencez par l'arrière-plan, puis ajoutez. Ajouter un volume déclencheur et un graphe de dialogue transforme un PNJ d'arrière-plan en donneur de quête sans toucher au maillage. L'inverse est coûteux : retirer l'interaction d'un compagnon signifie retester chaque scène où il est apparu.

ObjectifTypePremier point à réussir
Le joueur a besoin d'une raison de se rendre quelque partPNJ de quêteIndicateur de quête dans la sauvegarde du joueur, indexé par un identifiant de quête stable
Le joueur doit convertir du butin en équipement utilisablePNJ marchandTable de stock plus une vérification de monnaie exécutée avant que la transaction soit validée
Le joueur a besoin d'un test de compétence ou de ressourcePNJ ennemiRayon d'aggro, distance de laisse et délai de désengagement, réglés par instance
Le joueur doit survivre à un long parcoursPNJ compagnonDécalage de suivi, distance d'arrêt et règle de téléportation de rattrapage
La scène doit paraître habitéePNJ d'arrière-planAnimations partagées avec des décalages de phase aléatoires, et aucun agent de navmesh
Le monde doit réagir sur place au joueurPNJ interactifUne variable d'état persistante et un volume déclencheur avec un contrôle de ligne de vue
The Cyclops' Island — le Cyclope est le PNJ ennemi ; l'équipage, les compagnons.
Little Days Playroom — toute une troupe de PNJ d'arrière-plan avec leurs propres animations d'attente.

Entrez dans le monde auquel il appartient

Un sprite est un personnage sans endroit où se tenir. La dernière étape est celle que personne d'autre ne propose : prenez la feuille que vous venez de créer et placez-la dans un monde où l'on peut se promener — une petite île, une planète, un coin de rue pluvieux. Chaque monde de ce site a été créé à partir d'une seule description écrite et publié comme une page jouable.

FAQ

Combien de types de PNJ existe-t-il ? +

Six, selon notre découpage : quête, marchand, ennemi, compagnon, arrière-plan et interactif. Ce découpage est fonctionnel, pas biologique. Il est organisé selon les systèmes dont le personnage a besoin — état de dialogue, inventaire, pathfinding, aggro, ou un simple indicateur d'état — si bien que deux personnages aux modèles totalement différents peuvent être du même type.

Un ennemi est-il un PNJ ? +

Oui, s'il existe dans le monde en dehors du combat. Un PNJ ennemi possède des états d'attente, de patrouille et d'alerte, et il persiste entre les combats, il a donc besoin d'une règle de réapparition et d'une règle de sauvegarde. Un adversaire géré par l'ordinateur qui n'existe qu'à l'intérieur d'un match n'est pas un PNJ en ce sens, car rien de lui ne survit au match.

Quel type est le plus facile à construire ? +

Le marchand. Un volume déclencheur, une liste d'objets avec des prix, une vérification de monnaie et un panneau. Il n'y a pas de navmesh, pas de graphe de dialogue, et aucun état à persister au-delà de l'inventaire et de l'argent du joueur, que vous avez déjà.

Les PNJ compagnons ont-ils besoin d'IA ? +

Ils ont bien plus besoin de pathfinding et d'une règle de suivi que de prise de décision. Le plus difficile est de rester sur le navmesh à côté d'une cible en mouvement à travers les portes et les escaliers, plus une téléportation de rattrapage pour quand ils échouent. Choisir ce que le compagnon attaque est la petite partie du travail.

Qu'est-ce qu'un PNJ d'arrière-plan ? +

Un personnage non interactif placé pour donner à une scène l'impression d'être habitée. Pas de dialogue, pas d'inventaire, en général pas d'agent de navmesh, et souvent pas de collision. Il existe pour la caméra, donc ce qui compte, c'est combien sont visibles à la fois et si leurs boucles d'animation sont décalées les unes par rapport aux autres.

Un PNJ peut-il être de deux types ? +

Oui, et c'est souvent souhaitable — un marchand qui donne aussi une quête est un seul élément interactif avec deux panneaux et une référence de sauvegarde partagée. Le coût, c'est le test combinatoire : chaque état de quête multiplié par chaque état de boutique est un cas que vous devez vérifier, et ceux que les joueurs trouvent en premier sont ceux que vous n'avez pas écrits.

Retour au 3D Game Builder

Les 31 mondes, jeux et scènes 3D terminés sont réunis sur une seule page — chacun d'eux jouable.

Plateforme : Neta StudioPage : 6 types de PNJ (avec des exemples 3D jouables tirés de mondes réels)À lire ensuite : /explore/guide/what-is-a-non-player-character · /explore/guide/what-are-npcs · /explore/guide/npc-video-game
×