The difference between Non-Player Characters (NPCs) and bots in video games

terminology

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?

Best Answer

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.