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:
- 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
- that uses the least amount of resources
- 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