Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

An NPC refers to any character that is not controlled by a human player, e.g. a fictional character portrayed by a human gamemaster.

In the context of video games, what is the difference between NPCs and bots? Do NPCs only refer to characters a human player cannot choose to control?

share|improve this question
6  
Bots are usually computer controlled characters doing that which a PC can (or should) be doing, and are often provided rudimentary AI to do exactly that. NPCs fulfill roles players are often not able to do, such as quest givers and/or sell common items. –  Frank Feb 12 at 3:23
    
@Frank Thanks, that's what I had in mind but the term NPC was so badly used in some articles I read lately that I started doubting about how clearly defined this term is. –  Franck Dernoncourt Feb 12 at 4:17

3 Answers 3

up vote 67 down vote accepted

The key distinction is that a Bot represents an automated player; an NPC, by contrast, isn't playing the game at all.

In general, an NPC is a part of the game; a placed object which is designed by the creator and exists to interact with the player. Examples would include vendors, quest givers, or enemies. In some games, (particularly RPG's), the term is also used to refer to characters under the control of, but not generated by the player. They are often distinguished by having distinct personalities and dialog, whereas a "Player Character" is meant as more of an extension of the player themselves. Think of the companion party members in the Mass Effect series for an example.

A Bot, by contrast, is essentially a player of the game controlled by a computer. This can be populated within a single instance, as a feature in some games (i.e. AI opponents in a normally multiplayer game), or, in some cases, actually represents a separate instance of the application running on a networked computer and being controlled by some manner of AI script (as is common in many MMO's, much to the dismay of the communities playing the game). The term 'Bot' is also often used to refer to software used to enhance or replace the skills of a human player of the game; for example, an 'Aim-Bot' that handles targeting, or a 'Farming Bot' in an MMO that performs tedious or menial tasks. Such bots are usually (though not always), considered cheating and a violation of the Terms of Service of the game in question.

share|improve this answer
2  
I would interpret bot differently if I had answered, but I see that my answer would still fit into yours. –  James Of Da Peach Feb 12 at 5:34
16  
The last sentence of this answer says basically everything. It should be the first. –  Philipp Feb 12 at 12:06
1  
Possibly the oldest bot in history: Rog-O-Matic –  Henk Langeveld Feb 16 at 14:04

The term "NPC" comes from tabletop role-playing games. In tabletop RPGs, one player is designated as a kind of referee (often called the "Game Master" generically, or "GM" for short, though many systems have their own names for this role). The GM's purpose is to direct events within the game world: in this sense, his or her role is not unlike that of the computer in a video game.

All of the other players (who are often just called "Players", even though technically the GM is a kind of player too; for this reason I will capitalize "Player" to refer specifically to non-GM players) control one or more characters in the game. These are called "Player Characters," or "PCs". Any character that isn't controlled by a Player -townsfolk, enemies, historical figures, allies of the PCs, and so on- falls under the GM's control, and these are called "Non-Player Characters." This last term is what "NPC" stands for.

Video games and bots blur the lines a little bit, because both NPCs and bots are AI-controlled in this context. The big difference comes back down to the question of whether the AI is acting as a Player, or as the GM: a bot plays the game, while an NPC presents the game (or some facet of it).

If you really want to blur the lines, consider fighting games, where a Player could choose to play as almost any of the characters (or sometimes any of them, even the boss). In this case, a given character might take on any of the roles: a PC when being controlled by a human, an NPC when being fought in a single-player campaign, or a bot when being fought in practice rounds or deathmatches. Thanks to mirror matches, it's even possible for a character to be in multiple roles at once.

share|improve this answer

In short, a Non-Player Character is a character that is a non-player. That is to say a character that isn't "playing" the game. So this usually accounts for game vendors, or story tellers etc. Characters in the game that help make the game what it is.

A bot is a character that plays the game, and is controlled by AI. These are other characters that do what you do in the game. This could be opponents or teammates in a shooting game, like squad members to make up for a lack of real players.

share|improve this answer
    
The last case you mention are still npcs (though they blur the line). Bots are player characters controlled through AI, rather than game generated characters. NPCs are generally scripted rather than having AI. –  jwenting Feb 12 at 9:06
    
@jwenting feel like that's what I explained. How is my last case any different from what you mentioned? –  leigero Feb 12 at 10:34
    
There are games where the game engine will generate team members for you to fight at your side. Dungeon Siege for example. Those aren't bots. –  jwenting Feb 12 at 10:55
    
@jwenting Where does scripting stop and AI begin? I don't think that there are many bots which actually use AI as commonly referred to by computer scientists (neuronal networks). "True" AI is in fact almost never meant when game developers talk about game AI. Most bot behaviors are implemented as state-machines and decision-trees which make decisions in the same way NPC actors do. –  Philipp Feb 12 at 12:09

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.