Wednesday, March 5, 2014

Is the Act of Making Video Games an Art or a Science?

To some video game developers, the act of making a video game is an art form because they see a particular style in how they code their games. To them, the flexible adaptation that a developer needs to have when facing the challenges of a new game and the ability to do any one task a millions different ways convinces them that making Video Games is a form of art.

But I say that making video games is a branch of computer science, and thus a science.

Just because there is a millions ways to do one task, does not make something an art. The scientist in his or her lab also has a million ways for doing one task, does that make what he or she does an art? Of course not.

Every time a mathematician is faced with a new scenario he or she needs to adapt their knowledge of math and thus enable him or herself to make a new formula for solving X. Does that mean the mathematician is really an artist? Of course not.

Such video game developers are confusing style with strategy.

Whether I am in a lab attempting to fix a chemical problem, at a chalkboard trying to solve X, or facing a new challenge in a video game, the act of solving any problem is accomplished by seeking or making a strategy for a solution. Regardless, of what we are trying to do, we should always be looking for the best strategy for a solution.

And so we ask, “what is the best solution/strategy”. How do we know what the best solution/strategy is?

The best solution/strategy is that which is easily verifiable, the most efficient, and the most optimal. The best solution/strategy is the one:
  1. that you know works because you can reproduce the effect elsewhere in your code; whereas, it's a fluke that X worked this time because the gaming needs fit your preferred style of coding
  2. that uses the least amount of resources
  3. and most importantly that provides the most optimal answer for the problem at hand.

How do we train ourselves to write code that is easily verifiable, most optimal, and most efficient?

Simple. We write code, test, and debug in a scientific manner.

This means that must be scientists. After all, this is computer science.
We must be objective and not biased. We must use scientific thought and not favor a preference.

The attitude that “I wanna do things my way,”... is not going to help us find the most efficient and optimal solution for anything. The very idea of 'style' make us biased; when we should be objective. The idea of 'style' revolves around “I” as in Individuality. But this is not about “me or “you”. This is not about our desires. This is about overcoming a problem and that problem has a scientific nature. I,I,I,I,me,me,me,me...only serves to cloud the issue.

Whether dealing with math, chemistry, or video games (when there is a millions different ways to do the same thing), scientific thought leads us to find the solution that is easily verifiable, most efficient and most optimal.

Science is accomplished by testing and finding evidence that backs a theory. For a theory to be believable in the eyes of scientists the elements of that theory must be measurable and therefore verifiable. If the elements are measurable, verifiable, and found to be correctly stated, the theory is accepted as fact. And if not: false.

In computer science, testing and finding measurable and verifiable evidence is not hard. Reading our variables as they change within a program is the oldest and quickest strategy that we have for solving a problem in a video game. Reading the variables is the first strategy I employ when seeking a solution for a problem. Why is this the first strategy I employ? Not because of style. But, because it enables me to employ the process of elimination.

Every programmer wants the most efficient and optimal way to analyze the problem and do so with a method that is verifiable. Unless we are getting a syntax error, placing the variables on the screen is the quickest method and therefore the most efficient method. Because nearly everything we do in computer science revolves around numerical values this method is also the most optimal when we are unsure of what the problem is. Because the variables are measurable and recordable with printed paper, we can verify them with a second pair of eyes. If after reading the variables we find them to be in order then—by process of elimination—we know to look elsewhere for evidence of a problem. Thus, we are being scientific and objective and not biased or stylish.

Making video games (like all forms of computer science) has a process and when we follow that process everything works. When we don't follow that process our results are incorrect, inefficient, or they are a fluke.

In art there is no debugging. In art you can do whatever you want and you will likely find someone who appreciates the results of your effort. Whereas, the act of making video games has an inflexible set of rules that you have to follow in order to create an effect or emulate a real world situation. If you want an effect you have to do X to accomplish that effect. Doing Y or Z might work but you will likely also cause other undesirable effects, like a lack of PC speed, (efficiency), inaccurate calculations (optimal), or...”well I don't know how it works, but it works” (verifiable).

Those that follow what they consider style have more problems than they would if they had a strategy and a different mentality. The mentality of art leads a person into biased thinking where they favor a style rather than being objective about their strategy. Style, preference, and bias have no place in computer science.

We must be careful of the conclusions that we set upon ourselves about the world in which we live and act. The beliefs that we have set in place a mentality which dictates our strategies and ultimately our actions. If we jump to conclusions instead of thinking things through, we will be confused and lost and not even realize that we are confused and lost.

It is understandable that some people wish to be biased and stick to a set of beliefs that they prefer. After all, it is only human to protect what we choose to believe. But if we wish to be successful then we have to be objective about how our beliefs affect our decisions and our chances of being successful.

No comments:

Post a Comment