Hello Dream in Code members,
I used to program in C++ and I would say I was beginner - intermediate, but I stopped for various reasons. Since then, I have become fed up with the gaming industry's paradigms that keep gamers content without an significant new game play content. Tabula Rasa tried, but it was assassinated

So here I am - the knight in shining armor come to save the world from inevitable boredom (aka n00b) and I want to get started programming games. I don't need help learning C++, because I already have enough resources to catch up on everything I forgot and learn more on top of that. What I really need is to build up a game that is above average in game play even if its graphics suck. (Example: RPGWO.com) I want to start with a single player RTS game. 2D is fine, but I would prefer to start with 3D because I would think the path finding would be significantly different. Any suggestions for reading material would be helpful. I would like to use DirectX because of the graphics capabilities. I have no grudge against OpenGL, and whatever I would come up with would not utilize the full capabilities of neither DirectX nor OpenGL, but I like having extra room for expansion rather than reaching the limits and then wishing I went with something less restricting. Which brings me to the point...
My biggest question is if I should use a game engine or not. Although I would love to create a game from start to finish, I don't think it would be much harder to stick with the project. On the other hand, I don't want to shoot off using a game engine and then find that I end up severely restricted to the point of starting over. I would not mind if I could use a game engine to write down the basic game mechanics, then write my own code to replace the engine little by little until I'm independent of the engine. In order to have the ability to expand indefinitely should I start from scratch, or using a particular game engine?
Cheers,
Misha