@Big Man- neither DBPro or C++ handle polygons, DirectX does... (well, sometimes other things for C++, but the most commonly used graphics sdk is DirectX)
I agree with TDK, it is possible but not easy in any meaning of the word.
It wasn't easy for the makers of Half Life 2 either. Just because they had a language capable of it (C++, and whatever graphics engine they used, i have no idea... maybe they made their own) doesn’t mean it was a walk in the park for them, they had multiple people working on it for months and months...
So don't expect to do it by yourself.
"We make the worst games in the universe..."