Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Wiki Discussion

On the definition of "glitch" - Page 1

On the definition of "glitch"

Posted by: bbbbbbbbba
Date: 2019-09-29 19:52:23
Recently there has been some heated debate on the Discord, which was apparently hated by everyone not in it. Even though I dislike the forum with passion, I have to admit that it might be a better medium for level-headed discussion. Therefore here I am:

How should we define, or at least try to define the word "glitch" on this site? Should it be…

I know I am missing some options.

Now, the advantages of a more extensive definition is probably obvious: We become more inclusive, and we can retain more information. However, a more specific definition would help with categorization, and would increase the average quality of our pages. Furthermore, a less extensive definition doesn't mean we have to exclude everything not defined as "glitches": Glitch-related things can have pages too, and focusing on how they are related to glitches would help a lot with the organization.

So… what do you think?

Re: On the definition of "glitch"

Posted by: Parzival
Date: 2019-10-01 09:55:00
Glitch: Unintended "features" working in (obv) ways unintended, such as ACE.

Bug: Intended features working in ways unintended, such as the 99 item bug or the Map FF crash seen when exiting a map in an undefined direction.

Re: On the definition of "glitch"

Posted by: RETIRE
Date: 2019-10-01 10:00:52
Any unintended phenomenon that can be observed without external modification ("A Pong game written with ACE is a glitch")?

This is what is what is the closest to my thought process.

Re: On the definition of "glitch"

Posted by: bbbbbbbbba
Date: 2019-10-01 11:51:50

Glitch: Unintended "features" working in (obv) ways unintended, such as ACE.

Bug: Intended features working in ways unintended, such as the 99 item bug or the Map FF crash seen when exiting a map in an undefined direction.


Hmm… how many of you would support a split between "bug" and "glitch"? On the Discord discussion other participants were against it on the ground of K.I.S.S., but I think the point of terms is to categorize things, and the word "glitch" is not doing that now.

Re: On the definition of "glitch"

Posted by: Parzival
Date: 2019-10-01 12:32:15


Glitch: Unintended "features" working in (obv) ways unintended, such as ACE.

Bug: Intended features working in ways unintended, such as the 99 item bug or the Map FF crash seen when exiting a map in an undefined direction.


Hmm… how many of you would support a split between "bug" and "glitch"? On the Discord discussion other participants were against it on the ground of K.I.S.S., but I think the point of terms is to categorize things, and the word "glitch" is not doing that now.
In most facets of computing and technology, these two terms are distinct, so I'm all for it here.

Re: On the definition of "glitch"

Posted by: bbbbbbbbba
Date: 2019-10-01 15:15:39
Well, the thing is that in the English-speaking video game community, the word "glitch" is used in a sense that does not at all overlap its usual definition, and closer to what "bug" is supposed to be. On the other hand, since "bug" is less used in this community, maybe that's the word we can define better.

I think your definition for "bug" may still be too broad, as almost every subroutine can be made to go berserk with malformed input data (which we can almost always force to happen, with ACE and whatnot). In a sense, the map FF crash may well be "intended", seeing as the developer probably intentionally chose the value 0xFF and decided that it won't matter, because the map design would never allow the player to exit in that direction.

Re: On the definition of "glitch"

Posted by: Parzival
Date: 2019-10-02 11:18:50

Well, the thing is that in the English-speaking video game community, the word "glitch" is used in a sense that does not at all overlap its usual definition, and closer to what "bug" is supposed to be. On the other hand, since "bug" is less used in this community, maybe that's the word we can define better.

I think your definition for "bug" may still be too broad, as almost every subroutine can be made to go berserk with malformed input data (which we can almost always force to happen, with ACE and whatnot). In a sense, the map FF crash may well be "intended", seeing as the developer probably intentionally chose the value 0xFF and decided that it won't matter, because the map design would never allow the player to exit in that direction.
technically ACE would be classified under "glitch" as ACE isn't (usually) the result of something intended going nuts, so things unachievable without ACE would be glitches and not bugs as you're not using a feature written into the game on purpose to do weird shit, you're writing your own code.

Re: On the definition of "glitch"

Posted by: bbbbbbbbba
Date: 2019-10-02 14:21:10

technically ACE would be classified under "glitch" as ACE isn't (usually) the result of something intended going nuts, so things unachievable without ACE would be glitches and not bugs as you're not using a feature written into the game on purpose to do weird s**t, you're writing your own code.


Well, using an item is an intended feature, but with invalid item IDs, that can cause ACE. Of course you can say the functionality of an item is a "feature" in itself, but then the problem is how to slice a playthrough into different (intended and/or unintended) "features".

Re: On the definition of "glitch"

Posted by: Parzival
Date: 2019-10-03 11:56:04


technically ACE would be classified under "glitch" as ACE isn't (usually) the result of something intended going nuts, so things unachievable without ACE would be glitches and not bugs as you're not using a feature written into the game on purpose to do weird s**t, you're writing your own code.


Well, using an item is an intended feature, but with invalid item IDs, that can cause ACE. Of course you can say the functionality of an item is a "feature" in itself, but then the problem is how to slice a playthrough into different (intended and/or unintended) "features".
isn't defining unclear boundaries fun? xD

I would agree, however I'd say individual mechanics would be "features", including item functions (as, with ACE, we're not executing, say, a dev tool that jumps to RAM, we're just abusing a badly-made table lookup function to look up a bad item index, which jumps to an area it expects to contain a "feature")

Re: On the definition of "glitch"

Posted by: bbbbbbbbba
Date: 2019-10-03 12:46:37

isn't defining unclear boundaries fun? xD


It is! And I'm happy that you think the same.


I would agree, however I'd say individual mechanics would be "features", including item functions (as, with ACE, we're not executing, say, a dev tool that jumps to RAM, we're just abusing a badly-made table lookup function to look up a bad item index, which jumps to an area it expects to contain a "feature")


What do you say about memory manipulation by expanded item pack (and expanded other things)? Switching items around and tossing them are both intended features, but they can change so much of the RAM that it almost works like a cheating device.

Also how about arbitrary script execution (in later gens)? Every line of arbitrary script executed would be an "intended feature". (I would have mentioned return-to-libc attack, but I don't think that's known to be possible in any of the Pokémon games.)

Re: On the definition of "glitch"

Posted by: Parzival
Date: 2019-10-03 13:28:09


isn't defining unclear boundaries fun? xD


It is! And I'm happy that you think the same.


I would agree, however I'd say individual mechanics would be "features", including item functions (as, with ACE, we're not executing, say, a dev tool that jumps to RAM, we're just abusing a badly-made table lookup function to look up a bad item index, which jumps to an area it expects to contain a "feature")


What do you say about memory manipulation by expanded item pack (and expanded other things)? Switching items around and tossing them are both intended features, but they can change so much of the RAM that it almost works like a cheating device.

Also how about arbitrary script execution (in later gens)? Every line of arbitrary script executed would be an "intended feature". (I would have mentioned return-to-libc attack, but I don't think that's known to be possible in any of the Pokémon games.)
Expanded item pack is an intended feature running out of bounds (it is the EXPANDED pack after all) to the point it reaches something like 40% of RAM. Memory manipulation via expanded pack would be used either for setting up ACE payloads or manipulating things to do other things, whether classifiable as "bug" or "glitch".
Since we're doing things to accomplish other things here, we need to box things into individual items: expanded pack being its own concept and anything you do with it being another.

Re: On the definition of "glitch"

Posted by: bbbbbbbbba
Date: 2019-10-03 14:20:21

… so things unachievable without ACE would be glitches and not bugs…


Since we're doing things to accomplish other things here, we need to box things into individual items: expanded pack being its own concept and anything you do with it being another.

OK, we might have had a misunderstanding here. When I talked about forcing subroutines to go berserk with ACE, I was implying using ACE to change the data they refer to (usually beforehand, but might be during their execution if we can find a way to "inject" ACE), not using ACE to directly do things like playing pong.

Let me put it this way: If a game has no known ACE or mass memory manipulation exploit, does everything glitchy that can happen when you alter the RAM through an external device still count as "bugs"?

Re: On the definition of "glitch"

Posted by: Parzival
Date: 2019-10-03 14:32:28


… so things unachievable without ACE would be glitches and not bugs…


Since we're doing things to accomplish other things here, we need to box things into individual items: expanded pack being its own concept and anything you do with it being another.

OK, we might have had a misunderstanding here. When I talked about forcing subroutines to go berserk with ACE, I was implying using ACE to change the data they refer to (usually beforehand, but might be during their execution if we can find a way to "inject" ACE), not using ACE to directly do things like playing pong.

Let me put it this way: If a game has no known ACE or mass memory manipulation exploit, does everything glitchy that can happen when you alter the RAM through an external device still count as "bugs"?
Not really, as you're using external equipment. ACE isn't external, however…

Re: On the definition of "glitch"

Posted by: bbbbbbbbba
Date: 2019-10-03 14:41:49
That would mean that, a game could otherwise be programmed very well and have almost no flaw, but once an ACE exploit is found, it
would suddenly have thousands of bugs. That strikes me as weird, but maybe it's OK.

Re: On the definition of "glitch"

Posted by: Parzival
Date: 2019-10-03 15:11:11
Custom code, I feel, shouldn't count; following what is and isn't bug or glitch stops at getting to hijack execution. ACE? Categorize. After that? Stop.