Tuesday, March 11, 2014

How much value do you as a player or developer place on bells and whistles?

How much value do you as a player or developer place on bells and whistles?

How much value do you as a player or developer place on game play, mechanics, and AI?

I have noticed that a lot of recent games (shooters in particular) seem to rely more on particles and other flashy art rather than game play, mechanics, or AI.

I have also noticed that a lot of recent games (shooters in particular) seem to rely more on having a redundant number of enemies and enemy bosses with extremely high HPs rather than enemies that think. Of course the typical shooter is only uni-directional (to me that is huge design limitation) and of course uni-directional means the enemy does not have much it can do and neither does the player.

Half of my player weapons and equipment are sprite based, 1/4 are particle-based and 1/4 are both (for example a sprite-based rocket with a particle-based exhaust system.

I have done my best to simulate a dog fighting experience in 2D. So far I have completed 6 AI, each with different talents and goals and limitations. I have 8 more outlined. I also have an 8 directional movement engine for a top down view and plans to do side scrolling as well. I might do a fake 3D for a behind view room, but I don't know yet.

I also have over 30 enemies for land, see, and air. Three complex bosses with moving parts and a story that will require cut scenes and a text engine.

It's not a matter if I can do these things, I know I can, its a matter of how far I should go with things like game play, mechanics, and AI when the norm seems to be heading in the opposite direction.

Please send me you ideas and comments I am curious what others think about the latest trends in gaming and in particular retro gaming.

Individualized Weapons or Not?

Should each character type has individualized weapons?
That is the question I am pondering.

I recall playing games where the game had two or more player types (like Mario and Luigi or Billy and Jimmie or the cast from Friday the 13th). Many role playing games like Final Fantasy, Ultima, Dragon Warrior, and the side scrolling adventure game Castlevania III had many different player types each with their own abilities. For the sake of my playing experience, I wanted one player type to have the abilities of every player type or for certain player types to share abilities like in Final Fantasy V wherein the player types can cross train and gain some of the abilities of other player types. This was a distinct feature only found in that version of Final Fantasy.

Now, that I am a game developer, I am stuck with a logistical dilemma brought on by an old desire to have player types that are not limited by a unique predefined set of weapons and abilities that can't be shared.

Currently, each player type has different speed limits and damage limitations and those will remain unique to each player type. 

I have outlined over 60 weapons and abilities for the 6 player types in this game. 3 of those player types won't be included until the sequel.

My original idea was to give each player type a unique set of 10 weapons whereas the abilities such as radar jamming, temporary force fields, and having a wing man would be shared among them.

Instead of each player type having its own unique weapons and then finding ammo for those weapons, maybe I could have all the of the player types open to any weapons available to the player throughout the game. Thus, if the player found weapon x then he or she could use X instead of weapon y. Then if I hide the weapons in secret locations instead of laying them out 'free and easy' Octo Force would become a more of an adventure game.

If you have any thoughts or questions on this subject please feel free to post them or email me at the address listed at the top-right corner of the blog.

Thursday, March 6, 2014

Never throw away Accidental Art or Code

Never throw away a mistaken pieces of art or code.

Several ideas, jets, symbols, and landscapes have been spawn out of errors in code or art.

As a rule of thumb; if it looks cool, keep it.

Wednesday, March 5, 2014

The Beliefs We Have About Video Games

When we are referring to video games we are referring to a set of beliefs about how video games work now, how they should work in the future, how people interact with video games, why people interact with video games the way they do, and how people will interact with video games in the future.

What should our reasoning or logic be?
We answer this question by asking asking answering five other questions.

How should video games work in the future?

How will today's technology and technology in the near future affect video game design?

How people will interact with video games in the future?

How should people interact with video games in the future?


Psychologically speaking, why do people interact with video games the way they do?

Planned Actions

“If your enemy is superior, evade him. If angry, irritate him. If equally matched, fight, and if not retreat and reevaluate.” – – Sun-tzu, the Art of war

Life comes down to having and using the right strategy at the right time.
But to know what the right strategy is, you have to have an accurate view of reality.
Our view gives us a philosophy; a set of beliefs.
But not a religious or spiritual philosophy; rather, a set of beliefs regarding about how the world works and how we should interact with it.

A philosophy about how the world works is founding principles of any strategy.

Most people don't study their philosophies, (they take for granted the validity of their own beliefs) because they don't see any connections because their beliefs and their actions and the consequences of those actions. Mostly, they are too busy entertaining themselves or putting the blame on someone else.

Being Philosophical leads to a better strategy...because a philosophy (a set of beliefs) is what we use to make strategies. When our philosophies are not in line with reality, our strategies suck. Planned Actions are decided by a person who thinks about his or her strategy. Random Actions are not decided, have no strategy, purpose, or direction, but they do have consequences.

The reason we as humans plan our actions is because we want to tilt the odds of success in our favor.
Therefore, we have to think about our actions and put them into sequential order, based on a set of logic or reasoning that we believe is going to be successful. Our beliefs (philosophy) dictate what our reasoning or logic will be. When we are finished we will have an expectation.

So, we have to answer the basic questions about our Philosophy, which will lead to...
–--> Strategy ---> Methods ---> Actions ---> Results & Consequences.

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.

Monday, March 3, 2014

SSS Particle Tests II

I redid one of my particle tests and made the particles chase the mouse.

You can check it out here: