Check out my new blog

Friday, July 30, 2010

Game programming. Anyone?

So you want to take Computer Science. But let me ask you first this question, why? Did you ever ask yourself why will you take that course for college? If not, ask now. Because there are various reasons students choose that course. Some choose it because their parents want it, or it is an in demand in the industry. But one thing stands out among those reasons. They take Computer Science because they want to make a computer game.

Computer games are cool. They are fun to play. And as the year increase, games also increase in quality proportionally. Some games are addictive. People play games as a past time, even though some do not. Students play it too. But some are so imaginative that they want to create their very own game. And they think, that they can do it by taking up Computer Science as their course for college. Little did they know, that they are wrong.

Yes, computer games are programs. And you can learn to program via Computer Science. But that's the problem, THEY ARE PROGRAMS. And if you think programming is easy, think again.

Computer programming is not just typing what you think and let the computer do it for you. You must know what you type and the computer must understand it. You just can not talk Filipino to an American because he will not understand you. You must learn their language and not rely on them to learn yours. Learning programming language is just the first problem you will encounter.

I have a known trivia for you. Do you know that computer science has plenty of math. It is because math is the life of computer, and not science. So you must know plenty of math. And many of those you haven't heard before. Finite math? Discrete math? Lambda calculus? Yes, you MUST LOVE MATH.

Let's set aside the broad computer programming and focus on game programming itself. YEY! In my experience, game programming is one of the hardest thing to do in computers. Game programming lets you apply all your knowledge in computing. Why? Because game programming is like creating your own world. Creating what you want, what you think and what you wish. There is no word like impossible in game programming. You can make humans fly. You can wake up the dead. You can see aliens. You can managed you own country. You can change the world. There are limitless possibilities, no boundaries. That's the reason why.

But first, how will you create your characters? Your world? Computer will not do it for you. You will need to create them. You can just draw it and create a 2D game. Or model it for it to become 3D. After that, you will now have a character! YEY! You can now just code it and put it into your game.

Oh wow, your character is now moving. Ow yikes! Your character just go through in a wall. Collision detection. The computer will not do it for you. The computer did not know if that is a wall or that is a space. You have to code it to tell to the computer that, "HEY! That is a wall. The character must not go through it." But how I wish it is just easy as yelling like that. Yelling will not make your code work. I promise.

Are those things overloading your brain? Too much information already? Oh no, you still have more to know. Your character must know where to go. Your character must know what to do. Your character needs artificial intelligence.

There are too many intelligent people. But there are NO INTELLIGENT COMPUTER. You must code intelligence for them. But don't be discouraged, you can learn artificial intelligence in Computer Science.

And that's not it. Some games need physics. Online games need networking. Games need a bit of everything.

Now, you might realize that you will do all things. Yes, because computer is just a medium for you. And according to the definition of computer...

"A computer is a programmable machine that receives input, stores and manipulates data/information, and provides output in a useful format."
- Wikipedia

It just receives input. The computer can not create its own input.

Last piece of advice for you, in Computer Science knowing 1 + 1 is equal to 1 is not enough. You must also know why 1+ 1 is equal to 1. And another thing, 1 + 1 is equal to 1 carry 0 in computers. That is how complicated computer is.

PS. I know some that take Computer Science because they want to create their own game. But some of them are shocked when they learn how to program.

And... Hacking is also hard to do.


  1. parang tinatakot mo yung mga tao na mag computer science wahaha

  2. Di naman. Ginigising ko lang sila sa katotohanan.

  3. Is there a way to learn game programming without any kind of CS or CE background? My advice would be to simply learn from books, and then make your own game. But it's going to be hard to do that w/o knowing some comp language, hence CS might not be such a bad idea...