Wednesday, October 13, 2010

Programming, passion, games, math and graphics - The roots

Here's a topic close to my heart!
There's a new kid on the block, and he was asking what programming language to start with (and he's only 14). I wish I could have tutored my kid self, or got tutored, and for that I own it to other junior citizens.

So here's how I got into game programming and loving it, and what happened along the road for me.

The way I personally did it was: I probably started at your age or a bit older with VB6 to make some kick-ass games. I had some fun with 3dsmax before that thinking that it was the game engine for a little while.
Soon, in everything I read about games, C++ was mentioned, and little was talked about for VB6. Before I knew it, after reading tons without noticing, I knew alot about C++, from a far point of view. (Story of my life.) I got a book, C++ for programmers, and read it painstakingly. It's hard and assumes you have some logical rigor.. a single sentence can sometimes be quite dense and decisive to your understanding. Then I got the Frank D. Luna Introduction to Game Programming using DirectX 9. It only teaches how to create the graphics and some very basic frame animations, but it was enough to keep me busy beside schoolwork for months. I was also getting serious about math, learning all about linear algebra and how it applies to 3D, collisions, physics and so on.
I didn't study CS at university since it was my hobby and I didn't want to ruin it. Started with CCE and ended with a Mechatronics degree instead which deals a lot with mechanical things that may change your way of thinking and perhaps make you more lucrative as a game developer. I got a job and forgot all about game programming dreams as I was having next to no time for it.
When I got a job, my graphics programming shined through and I appeared as a magician to other team members since what I was doing was weird and usually unheard of. The language of choice for games and graphics on the web was/is Actionscript. I started with the third version which has a very low code-to-result delay. Compare with C# or Java for example, and you'll know how far it makes the programmer feel on the edge of the monitor.

Oh, but remember this, yes! the best programming language ever is C++. This should be read as, I am an old hag who loves his old tools, oh and tomorrow is my 23rd birthday! You'll grow into C++, or hopefully when you get to age to get a job, no one will be using C++ when there's a much better and newer blockbuster language that depends on reading your eye blinks to read your mind. (Unfortunately, people would still implement that in C++).

1 comment:

  1. Hello, I've discovered your blog through LebGeeks and I'm glad I did. I'm CodingFreak and I hope to become a indie game developer.

    I wonder what might have happened if you had studied CS at university, maybe you'd have established the first real video game company in Lebanon :)

    Great post you've typed, I'll be looking forward for more.