Le terme "PNJ" vient des jeux de rôle sur table. Dans les jeux de rôle sur table, un joueur est désigné comme une sorte d'arbitre (souvent appelé "maître de jeu" de manière générique, ou "MJ" en abrégé, bien que de nombreux systèmes aient leurs propres noms pour ce rôle). Le rôle du MJ est de diriger les événements dans l'univers du jeu. En ce sens, son rôle n'est pas sans rappeler celui de l'ordinateur dans un jeu vidéo.
Tous les autres joueurs (que l'on appelle souvent simplement "Joueurs", même si techniquement le MJ est aussi une sorte de joueur ; pour cette raison, je mettrai la majuscule à "Joueur" pour me référer spécifiquement aux joueurs nonGM) contrôlent un ou plusieurs caractères dans le jeu. Ils sont appelés "Personnages de joueur" ou "PC". Tous les personnages qui ne sont pas contrôlés par un joueur - habitants de la ville, ennemis, personnages historiques, alliés des PC, etc. - sont sous le contrôle du MJ et sont appelés "personnages non joueurs". Ce dernier terme est la signification de "PNJ".
Les jeux vidéo et les bots brouillent un peu les pistes, car les PNJ et les bots sont contrôlés par l'IA dans ce contexte. La grande différence se résume à la question de savoir si l'IA agit en tant que joueur ou en tant que MJ. : un bot joue le jeu, tandis qu'un PNJ présente le jeu (ou une facette de celui-ci).
Si vous voulez vraiment brouiller les pistes, pensez aux jeux de combat, où un joueur peut choisir d'incarner presque tous les personnages (ou parfois n'importe lequel d'entre eux, même le boss). Dans ce cas, un personnage donné peut endosser n'importe quel rôle : un PC lorsqu'il est contrôlé par un humain, un PNJ lorsqu'il est combattu dans une campagne solo, ou un bot lorsqu'il est combattu dans des rounds d'entraînement ou des deathmatches. Grâce aux matchs miroirs, il est même possible pour un personnage d'endosser plusieurs rôles à la fois.