I've always thought about blogging before, and keep a private dev journal of my own anyway. It is composed of random musings about what I've done and what I'd like to work on, a kind of checklist to keep me focused on tasks instead of staring idly at my IDE. With New Year's still fresh in my head, and the changes to GD, I find it is time to make some changes myself. With any luck, this blog is just the first of many.
I first got into programming long ago, and when I say long, I mean QBasic on a 286. I had strolled through the isles of the library, picking up anything I could find about programming, specifically games, but it was really a black art at the time. Sure I could write goto statements here and there, but never really "got it". This theme continued while i moved to pascal, with Borland's fancy colored IDE. I was exposed to loops, structures, and a slew of other fundamentals. I read everything I could find on FIDONET. BSP trees, Mode 13h, 3D... You name it, I read it. But alas, I still didn't "get it".
I moved to c, then c++(though it was still 'c' I was writing). I started making small console programs, but still had no idea about the alchemy that was game programming. I read the forgers win32 tutorials and got some experience with windows. I studied transforms, coordinate spaces, Lambert and Phong, And even joined GD( and I think my Alias at the time, Cerian, still exists). I should point out that I've always been considered quite smart, a MENSA candidate, I've since learned. But still I didn't get it. I fully and completely gave up. Moved on.
I got outside more, enjoyed the sun. Grew up. I love to hike, camp, be in the woods. But even 30 miles away from the nearest highway, I felt the call. I began working on web stuff in my spare time. Moving quickly from HTML to HTML/CSS, and then onto serverside scripting. I leared enough about PHP/SQL to get myself into trouble. I even successfully created a decent site with user log-ins, a home brewed forum, and local messaging. It was hard, but I kept seeing progress, and kept at it for a long time. I read an article about creating .bmp files on the fly with PHP and GDI. I could draw lines, polygons to my hearts content.
I found all my old notes, and wrote a matrix class, and finally "got" how they are multiplied. Being able to code without worrying about having a working .exe was great. I finally realized something... it started making sense. I started to get it. I made a triangle in object space. The idea of Left vs Right handed coordinates started to sink in, as I watched my triangle rotating the wrong way. I rotated X, Y, and Z. I saw gimbal lock. I made a "camera" and moved from world to view space. I learned once more about projection, and did it. I had a working, rasterized 3d program. I rejoined gamedev(and could not remember the pass/email I had used before), and dove into direct x. It was hard, but I got it. A triangle, in win32. Then a quad, A cube. I read books. I still couldn't get other people's code to compile(mostly due to outdated books), but I could see what was going on, and could even implement some of it myself. Reflection... Shadow Volumes... Normal mapping( a work in progress) In the past year and a half I've moved from greenhorn to novice. I find I post more answers then questions now. I still don't understand everything. But, I've learned It takes time, An honest love of what you do, persistence and tenacity. I get it now.