Sunday, September 30, 2018

Are Using Glitches and Obscure Game Mechanics Cheating?

One of the things that gamers love to do is to find obscure game mechanics or glitches and take advantage of them while playing the game. Just as many gamers love to call out those folks who are doing that, and declare them “cheaters”. This begs the question, then: is taking advantage of game mechanics that produce results that the programmer did not anticipate cheating? Is taking advantage of glitches cheating? Well, the answer to both questions depends on who you ask, and you will invariably get a split on the “yes it is cheating” and the “no it is not cheating” answer. Cheating is often defined by the mind of the beholder.

I will give you my answer from the perspective of a programmer. I was a programmer for a number of years and wrote boring business software, but I also made a few games as well along the way. Nothing great or outstanding, but games nonetheless. I encountered both game mechanics that produced unanticipated consequences and glitches in my games so I can speak from experience on both topics. First, let me define what I am talking about when I say game mechanics that produce unanticipated consequences and glitches. The two are very different things.

Glitches are the easiest to talk about so let me define that first. A glitch is a bug. It is a defect in the program that allows a player to do something that they should not be able to do while playing the game if the bug was not present. In Minecraft, duping is a bug, a glitch that is a defect in the program that allows a player to create an item out of nothing. For example, docm77 posted an infinite fuel system that used duped carpets (https://www.youtube.com/watch?v=HerPN7-KvTo). This is a bug in the program; you should not be able to create carpet out of nothing. That goes without saying in a survival game.

Game mechanics that produce unanticipated results are not bugs, they are results from using the game in a way that the programmer did not think about when they were writing the game. In Minecraft, the technical community lives by game mechanics that are completely valid but have consequences that the programmers probably did not anticipate when adding in the game mechanics. AFK (away from keyboard) fishing is a prime example of this class of gameplay. Flying machines are probably unanticipated as well, although I can't really say for certain. Either way, they have become a staple of Minecraft in some versions at least.

Before I get to my take on whether these two classes of gameplay are cheating, in my opinion, remember that the programmers have the final say. Since a glitch is a bug, it will almost always get fixed at some point in the life of the game. If you use a glitch, keep in mind that you are taking advantage of a bug, a defect, in the software, and bugs are always fixed at some point (we hope). Some are fixed sooner and some later, but don't get too attached to the glitch because it will probably get patched out at some point.

For unanticipated game mechanics, if the programmer feels it takes away from the gameplay she intended for the game, it will be patched out. AFK fishing is not possible in the Bedrock edition of Minecraft because the behavior of auto-casting, which AFK fishing depends on, has been changed so that auto-casting is no longer possible in Bedrock. No auto-casting, no AFK fishing.

I have defined the game mechanics, so is using them cheating? Before I give you my opinion as a programmer, let me say that I abhor the notion of how to tell someone else how to play their game. It is unfortunate that there are some folks in the gaming community that think you should play a game the way they play the game, and if you don't you are incompetent or a cheater. You play the game the way you want to play the game and ignore those who say otherwise. Playing a game is a personal experience and you should follow your own heart and mind when you play a game.

When I play Minecraft I almost never create auto-farms, except for the pumpkins and melons. It isn't because I think auto-farms are cheaty, I enjoy working my crops the old-fashioned way. I grew up in the country and worked farms during both the winter and summer to make spending money, and we had our own gardens with livestock. Some of the best moments of my life come from those humble days. For me, picking potatoes and carrots are a pleasant experience that an auto-farm simple can't capture. The overriding rule on this is to play the game the way you want to play the game and ignore those who think otherwise.

Let me give you my short answer, from my perspective as a programmer, on whether using glitches and game mechanics are cheating: No. No to both. This may come as s surprise, and I am sure other programmers may have different answers, but in my opinion as a programmer, if you use a glitch or game mechanic, it is not cheating. Let me explain.

Glitches are bugs. They are a defect in the program, but it is a bug that the programmer introduced into the game. Bugs don't just appear in a program, the programmer messed up somewhere along the line. The fault, if you want to put it that way, is with the programmer and not the player. The glitch has essentially become another game mechanic, albeit a temporary one. It doesn't matter that this game mechanic arises from a mistake in the programming. I would not chastise a player of my game who took advantage of a glitch, because the glitch is my fault, not theirs and they are playing the game as I created it, glitch and all. This glitch is simply another game mechanic that the player can use while the bug is not fixed. Don't blame the player for something the programmer introduced into the game that has essentially become a new game mechanic. Just don't cry about it as a player when the programmer gets around to fixing the bug and removing the glitch.

If I consider glitches to be valid to use, then, of course, you know the answer to using game mechanics that have unanticipated results. This isn't taking advantage of a bug, it is simply playing the game in a clever manner that the programmer didn't foresee when they added in the game mechanic. For me, I always found this fascinating as a programmer. It shows how dynamic, how synergistic a program really is; a program is more than the sum of its parts. In some ways, a program takes on a life of it own when folks start playing it and it is amazing what that gameplay can produce.

As I have already stated, the programmer has the final say on all of this, and whether they consider the above cheating depends on the vision they have for the game. Glitches are almost always fixed because they are bugs and could impact other areas of the game. Since a program is an organism, a dynamic, ever-changing entity, it is always best to fix bugs as quickly as possible to minimize cascade failures that can really kill a program and ruin the game for everyone. A game is only fun if it actually works. Bugs are always bad, and should always be fixed.

Game mechanics really depend on how the programmer wants the player to experience the game. If the programmer feels that a particular game mechanic, even a valid game mechanic, is interfering with the vision the programmer has for the game, then they will adjust that game mechanic to remove the unanticipated result. The player may have become attached to that game mechanic, as with AFK fishing, and removing that game mechanic may anger some players, but the programmer has to be true to their own vision for the game. The result may interfere with future additions, or it may make the game too easy or too hard; whatever the reason, the programmer is the one creating the game, and as a creator, they have every right to add or remove whatever they want in the game. The player is a user, not an owner (although many players wrongly think otherwise). The programmer always has the final say in both of these topics.

As a programmer, I have no problem for a player using either glitches or game mechanics in a game. Both were added by the programmer, both have become valid gameplay mechanics by virtue of the fact that they are simply in the game, and it is to the programmer to change the situation if they feel it is necessary. Any programmer that scolds a player for using either glitches or game mechanics needs to remind himself that he is the one that added said game mechanics to the game. He is at fault, not the player. If, as a programmer, you don't like the way a player is playing the game, fix it or change it.

All that be being said, the real answer to both questions is how do you as a player want to play the game. That is all that really matters. I personally don't use glitches, not because I think it is cheating, but because most glitches ruin the game for me. I don't want to have easy infinite fuel for my furnace array, because for me it is much more interesting to have to go look for coal or cut down trees and make charcoal. I enjoy playing the game, and that means looking for stuff or working on the farm. However, that is me, not you. You play the game how you want to play the game. Your gameplay doesn't affect my gameplay in any way, so why would I care? For servers, it is up to the server owners to determine what is appropriate for the server. The server owner has the final say on what is valid and invalid gameplay on a server.

These are just my thoughts on the topic, among many, but since I have programmed a handful of games, I do have the full range of experience on the subject. I am sure you have your own opinion, and I would love to hear them. Throw a comment down below if you want your opinion known.