Hello, I guess this is also my first forum post! I want to maintain a thread as a companion to the blog I've started, for two reasons (a) nobody knows my blog exists, and (b) sometimes I want to post and a whole blog post seems overkill when I only want to say something minor.
So.. yeah basically I've been a developer for around 15 years (mostly full-stack web development, with a focus on .Net), and although I've always wanted to develop games, my time has always been taken up by web development projects, which has also been my career. But though the whole reason I learned programming so long ago was because I wanted to make games, it just seems life got in the way! I know how to code, I've been doing it for a long time, I'm just very lacking in game-specific knowledge (3D programming, advanced maths, relevant algorithms, etc.). When I sat down with the intent to plot some raw pixels using DirectX, it was clear I had no idea what to do. I have some pretty big ideas, but it's going to take me some time to actually gain enough knowledge and experience to implement those ideas, so I've got a lot to learn first.
Anyway, I want to start this thread to track my progress from day #1. I'm going old school to begin with. I want to learn 3D graphics fundamentals so that I have a better understanding of what I'm doing; a firmer foundation on which to build the rest of my skills. With that in mind, I'm starting by attacking the ancient "Tricks of the 3D Game Programming Gurus", which was written in 2003 and covers the basics pretty well (and I actually have a copy, so I don't have to go out and buy anything). I am convinced that being able to write a pure software-based 3D engine from scratch is going to be full of very valuable lessons and insight which will help me as I move onto more advanced things. I've also got a list of other books I've carefully selected, that I think will help me once I'm done with this book, but first things first.
In the last 24 hours, I've had two attempts at "Hello World", one using MonoGame, and one using SharpDX. I'm going with SharpDX because I don't need cross-platform, and I don't want the extra "help" provided by MonoGame when I'm trying to learn the basics. You can read about the specifics here: http://axefrog.wordpress.com/2013/10/09/1-hello-world/ and here: http://axefrog.wordpress.com/2013/10/10/2-hello-again-world/
They're probably not very interesting to a lot of you, but I'm going to do my best to stay consistent here. I'll post screenshots of what I've done and if you're interested, you can follow along. At the very least, it's an exercise to keep me from lapsing on this journey for too long. I do still have my primary work so I can eat and so forth, but I will do my best to make sure I post every few days at least. Also, my blog posts will try to expand a lot on what I post here, and I'll post code snippets and specifics of what I've learned.
My first success: