What's the difference between "Bug" and "Glitch"?
I heard about 2 terms defining a game error: "Bug" and "Glitch".
What's the difference between them?
Solution 1:
Highly non-technical answer:
I would say they are effectively interchangeable, though there tends to be a nuance in the way they are used:
The word bug is usually used when an intended game state is not achievable, due to an unforeseen issue in the game's code. i.e., you are unable to complete a level (or a boss doesn't spawn, etc.) due to an error in the code.
The word glitch is usually used when an unintended game state is achievable, due to an unforeseen issue in the game's code. i.e., you are able to clip through the ground (or advance to a part of a quest that normally requires more objectives to be met) due to an error in the code.
Additionally, "glitch" is used to refer to issues with graphics and sound in a way that "bug" almost never is.
Solution 2:
I don't see one answer with sources so far, although perhaps that will change after I post this.
In General
Glitch and Bug are essentially synonymous, but some groups will draw different, subtle differences depending on context. The most common theme among these differences is that glitches are sudden, or temporary, and the most common manifestation of this theme is that bugs are mistakes in code, while glitches are the behavior that results from those mistakes.
To illustrate this, here are the definitions of Glitch and Software Bug from Wikipedia:
A glitch is a short-lived fault in a system. It is often used to describe a transient fault that corrects itself, and is therefore difficult to troubleshoot.
A software bug is an error, flaw, failure or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, or in frameworks and operating systems used by such programs, and a few are caused by compilers producing incorrect code.
Note that a glitch is described as "transient". Also note that the glitch is the fault itself, whereas a bug might refer more to the code that causes the fault, which is less transient than the actual fault.
Common Usage Definitions
Here are some dictionary definitions of glitch and bug, to illustrate how similar these terms are in common usage.
MW
glitch
1 a : a usually minor malfunction ; also: bug
2 b : a minor problem that causes a temporary setback : snagbug
2 : an unexpected defect, fault, flaw, or imperfection
Note the use of 'temporary' to describe a glitch, but also note that an alternate definition is simply 'bug'.
TheFreeDictionary
glitch
1. A minor malfunction, mishap, or technical problem; a snag: a computer glitch; a navigational glitch; a glitch in the negotiations.
2. A false or spurious electronic signal caused by a brief, unwanted surge of electric power.bug
3. a. A defect or difficulty, as in a system or design.
b. Computers A defect in the code or routine of a program.
Note the idea of a brief surge of power in one of the glitch definitions, but also note how general the first definition is, and how it is essentially the same as a 'defect'.
Those who have always known of a certain distinction between 'glitch' and 'bug' as being the "correct" one should note these dictionary definitions, and keep them in mind when speaking to someone outside of whatever sub-culture or profession makes that distinction. The person you're speaking with may regard the terms as completely synonymous.
In Gaming
These terms are used in gaming, as gaming involves software, and software involves bugs. Some subtle distinctions specific to this context can be made, but - as you can see from the other answers here - there's no real consensus on what those distinctions should be. So, it's the same general situation, where 'glitch' is more likely to mean the manifestation of a bug at run-time, and 'bug' is more likely to refer to the issue in the actual code.
Wikipedia's Glitch page has a section entitled Video game glitches. This section treats the terms as interchangeable:
Glitches/bugs are software errors that can cause drastic problems within the code, and typically go unnoticed or unsolved during the production of said software. ... Texture/model glitches are a kind of bug or other error that causes any specific model...
Solution 3:
A video game is a program, considering this, we have the following.
A bug is an error found in the development environment before the product is shipped to the customer. We're talking about code issues here mostly.
A glitch on the other hand is a way of saying defect on a video game environment. A defect is the difference between expected and actual result in the context of testing. As such a defect is the deviation of the customer requirement. This defect can lead to failures.
The relation between bug, defect and failure is a common topic on software testing studies, specially QA and also software development. Moreso, this is a common question in the area.
Now the relation stated between glitch and defect can be worked through their definitions. A glitch is a short-lived fault in a system. In this case a software system, namely a video game. A fault is defined as an abnormal condition or defect at the component, equipment, or sub-system level which may lead to a failure. Which is to to say that a fault is a general way of saying defect. So this means glitches, defects and faults are heavily related.
So this means a glitch is, most of the times, a product of a bug. Although a lot of people use bug to define problems within games, bugs should be used in a development environment as that's what the word defect is for, which, given what was stated earlier, we can associate with glitch.
Solution 4:
The difference between bug and glitch is more of a semantic one. The most common way these are interpreted is that a glitch usually has to do with the presentation of a product, while a bug is usually seen more as interfering with gameplay.
For example, corrupted audio and textures are usually seen as glitches. another thing that's usually labeled as a glitch is collision detection going wrong.
The term bugs is usually used for problems like certain enemies not working properly, an item not doing the right thing,...
There's also a linguistical difference: the term glitch is often used for neutral or even positive incidents, while the term bug is usually used for something that is objectively negative. For example, when speed runners use an unintended way to traverse an object, they usually call it a glitch.
The term glitch also is used fairly often outside of software, mainly for electrical engineering and TV broadcasting.
Finally, some people also get the randomness of the event involved: Bugs are considered deterministic: most of them can be reliably triggered when the right circumstances are met. Glitches, on the other hand, are much harder to trigger reliably.