Having been through several high-level engines (Esenthel, Torque), several low-level engines (Irrlicht, Ogre3D), and a light C# DirectX wrapper (XNA), I've finally worked my way down to the bottom: native DirectX in C++. It's the way games were meant to be made. At every level, I find myself thirsting for more. More power, more control, more access. It's the nature of the types of applications I'm trying to develop. Procedural content isn't a task for the high-level engine. It requires tighter control than typical game content in order to achieve decent speed and memory management.

That being said, here we are, finally, with some results. It's taken two weeks and hundreds of pages of Frank Luna's excellent book to bring me this far.

It may not look like much. In fact, it isn't much. But 200 lines of code isn't a number to scoff at. That's the price you pay for tight control. It's a price that I'm completely and totally willing to pay.

From here on out, I'm committed to learning how to do things as thoroughly as possible, without using helper classes and frameworks like DXUT. My goal by the end of the summer: be able to write a simple 3D game in native DX starting with nothing but a blank project in VC++ and using no resources other than IntelliSense.

Crazy, I know. But talk about rewarding.