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.

Wednesday, July 28, 2010

Like Nation Driver?

Like Nation Driver? Express it by joining the Nation Driver fanpage!

Still didn't know it? Know about Nation Driver here.

Monday, July 19, 2010

Pathfinding. Different paths, unknown ending.

I'm programming with XNA these few days. And I plan to have a Real-Time Strategy (RTS) game. Few codes after I start, I can now select a character and make it move. But an issue clearly occurs...

Pathfinding.

Yeah, my character moves. But it just moves. Moving without thinking is very wrong. Thus, the program needed artificial intelligence to somewhat move like an intelligent human being. Adding that so called artificial intelligence is a problem to me. I experienced it once. But just once.

So I'm now looking to some pathfinding algorithms. And A* is the most popular as I learned in one of my classes. Still, there are also other pathfinding algorithms out there like Dijkstra and Best-First Search.

These pathfinding algorithms differs with one another. They somewhat take paths different from the other. Some algorithms did not know that they are in the goal state but still finding other states because of uncertainty.

Others did not manage to reach the goal state because at the first place, they took different path, will be stuck there and can not go back.

Luckily, there are good algorithms like A* that is always finding the best or shortest path and reaching the goal in no time.

There are greater chance that you will need an A*. But others can be better too depends on the purpose. It depends on you. I do not know what will fit you and what algorithm are you.

But one thing I know, I am not an A*.

I am not efficient, I waste time. I waste memory. I take different path. And the ending is unknown.

Or maybe, the what I know as goal state... Is not the real goal state.

Sunday, July 18, 2010

Happy birthday to me

HAPPY HAPPY BIRTHDAY TO ME!!!

Got 68 wall post greetings in Facebook,
1 greeting via Plurk reply,
received 9 text messages saying "Happy Birthday" with some variations,
And 1 unclassified greeting.

3 people both posted in my wall and texted me.

Conclusion: Facebook birthday notification is very effective.

18 na ako!


Credits to Janine Trogo for the video!

Monday, July 12, 2010

Crush - Isang ambigous na salita.

Crush, ito ang isa sa mga salita na nalaman ko sa simula palang ng aking pag-aaral, na ang ibig sabihin ay pag hanga. My frist ever known crush is noong Kinder pa ako. And I think I still know her name, but not her looks. Through the years, nalaman ko na normal lang pala ang may crush at hindi dapat ito ikahiya. At kapag tinanong ka ng mga kaibigan mo kung sino ang iyong crush at sinabi mong wala ay hindi sila maniniwala. Sasabihan ka pang sira!

Bakit mo nga ba sasabihing wala? Eh meron naman talaga diba? Hindi naman siguro sa kinakahiya mo ang crush mo diba? Kaya nga crush mo, kasi okay siya sayo. Hmmm, siguro dahil natatakot kang malaman niya. At hindi mo alam ang gagawin niya pag nalaman iyon. Baka layuan ka kasi eh noh? Tama tama.

Pero habang tumatanda ako, dumarami ang nalalaman kong definition ng crush. Ang crush pala ay iba sa tingin ng ibang tao. Hindi pala ito tanging pag hanga lang na tulad ng definition ko. Ayaw kong mag generalized, pero karamihan ng mga kilala kong babae ay hindi lang pag hanga ang definition ng crush.

Para sa akin

Para malaman natin ang pagkakaiba, sasabihin ko muna ang definition ko ng crush. At sa tingin ko ay ito rin ang definition ng aking mga lalakeng kaibigan. Ang crush ayon sa kanina ko pang definition ay pag hanga lang. Meaning, kung may nakita akong babaeng maganda, crush ko na siya. Kahit di ko pa siya nakikilala basta may gusto akong katangian niya, crush ko na siya. Dahil nga hinahangaan ko lang ang katangian niya na yun. Simpleng simple lang diba. Para bang eye candy lang.

Para sa babae

Ayon sa mga kakilala kong babae, ang crush sa kanila ay yung tipong type mo. Para bang ang mga qualities ng type mong lalake ay nasa kanya na. At isa pang malupit na nalaman ko sa kanila ay kapag may girlfriend na ang crush nila... Ay hindi na nila crush! Bakit? Respeto daw yun. Ooooh.

Para sa akin kasi, ang definition na yun ay like na. Or gusto mo na. Girlfriend or boyfriend quality na sa madaling sabi. At hindi na tanging pag hanga lang.

Sa ngayon, base sa aking definition ko, marami akong crush, as in marami. Pero base sa definition ng isang babae, ang crush ko ay wala pa atang lima. Well, kahit sabi nila na isa lang daw dapat ang crush, di talaga eh. Di ko mapigilang magkaroon ng mahigit sa isa.

Sa huli, baka ang mga babaeng kilala niyo ay iba rin ang definition ng crush compared sa inyo. Kaya minsan, ingat ingat lang sa pag sasalita o sa pag gamit ng term. Baka kasi kung ano pa ang masamang mangyari.

Ngayon, ang crush ay isa ng ambigous na salita.

Tuesday, July 6, 2010

Lasalyano ako! Ikaw?


The picture says it all.

Lasalyano Ako. Ikaw?

Saturday, July 3, 2010

Foundation

Kanina, habang pauwi ako, ay napaisip ako. May nakita kasi akong couple at ang ganda ganda talaga nung babae.

Alam niyo ang naisip ko?

"Paano kaya niya napasagot ang isang high-level na babae kahit siya ay isang mid-level na lalake lang tulad ko?"

Sinagot ko rin naman ang tanong ko. Sa katunayan, dalawa pa nga ang sagot kong naisip eh.

Time + Friendship

Unang sagot kong naisip ay time + friendship. Bakit ito naisip ko? Dahil ito ang talagang inaapply ko. Sa katunayan ay inaapply ko ito ngayon. Maganda kasi ang foundation kapag dito nag simula. Pero may downside ito. Maganda nga ang foundation mo. Puro foundation lang naman. Maaaring mapunta ka sa maling direksyon. Sa halip na mapunta ka sa direksyon ng pagmamahalan ay mapunta kayo sa direksyon ng pagkakaibigan. At yan... Ang kinakatakot ko ngayon. Baka dahil sa time + friends method ay walang marating ang love life ko.

Lakas ng loob

Pangalawang sagot ko na naisip ay ang lakas ng loob. ETO ANG WALA AKO! At eto daw ang kailangan ko. Sabi nila, may foundation na daw akong nakatayo. Kaya na. Pero hindi ko pa tinatayuan ng bahay. Siguro ang nakita kong lalake ay may sapat na lakas ng loob para umamin sa babae tungkol sa nararamdaman niya. At maganada lang ang kinalabasan ng kanyang pag amin. Kasi, kaya wala akong lakas ng loob ay natatakot ako sa pwedeng mangyari. Na baka ang gusto mo ay mawala nalang bigla sayo. Hindi maganda yun diba.

Sa buhay, ang tao ay laging may choice, laging may pagpipilian. Hindi pwedeng sabihin na wala ka ng magagawa, dahil sa una palang, ay marami ka ng pwedeng gawin.

At pag sa bandang huli ay wala kang nakuha o napala, hindi mo rin pwedeng sisihin ang iba sa naging resulta.

Japanese Ginger for the pers taym

Ang araw na ito ay puno ng pers taym. Pers taym ko matulog sa isang condo. Pers taym ko magturo sa mga frosh. Pers taym kong kumain sa Teriyaki Boy. Pers taym kong kumain ng ramen. At pers taym kong makakain ng Japanese Ginger.

Unang akala ko ito ay isang raw meat. Tapos tinanong ko kay Ian, at ang sabi niya ay raw fish daw 'to. Kinonfirm naman ni Excel. Oo, isda yan.

Syempre, maniniwala ako. Pero paulit ulit kong tinikman at sa aking panlasa ay hindi talaga siya isda. May pag kamalutong pa. Kaya naman pinatikim ko sa kanila. :| HINDI NGA DAW ISDA. Ito daw ay isang Japanese Ginger. Hindi nila nagustuhan ang lasa. Niluwa pa nga ni Ian ang sinubo niya eh.

Grabe, ang kinain ko ay hindi pala ang pagkain na inaakala ko.

OH WELL. Ganyan talaga, there is always room for first time.