We have our impressions of what awesome themes our game will possess, how cool the characters will be, and the cutting-edge graphics it will have. The world will have never seen anything like it! More often than not though, it becomes all too easy to get swept up by our creative ambitions, leaving ourselves distraught and disenchanted when our capacities do not live up to what we thought we could create.
If I could rewrite the history of my gaming experiences, in regard to my programming adventures, I would probably leave out the parts that involved actually playing the games. Having been immersed in the MMO scenes for a number of years I became somewhat stark-raving-mad in my desire to become a part of that particular niche of the technology sector. The result? A lot of poorly designed code, a feeling of having accomplished nothing, and a barely-workable knowledge of a variety of facets of Win32, OpenGL,Java, and C/C++. I am shocked that I am even around the programming community to share this, that's how hard I fell. But I'm glad I'm back (excuse the dramatics).
So reality check for the authors of practically every third thread in a lot of the forums. Do not overshot your capabilities. Learn your fundamentals, then learn them again. Besides, Rome was not built in a day, nor will have been something you create are that you are actually proud to have been a part of.
I've always had a thing for great landscapes in games and as such have always wished to learn how to go about setting them up. A year ago I read all of the Graphic (or was it Game) Programming Gems regarding map creation. But to the rookie I was, and still am but to hopefully a lesser degree, the points went over my head - in fact they were disheartening. Quadtrees, culling, clip planes, VOIB (?), noise generation, and so-on are very intimidating topics to someone still barely out of the "pointers-are-worthless!"-clique. What's a nublet-programmer to do when faced with so many complex areas to study that don't bare fruit as quickly as ones aspirations wish for?
Make your own height map generator!
I've got about 10 hrs in (mostly today.zZz) on a custom map generator using a palette of about 100 colors in a bi-color spectrum (eg red/green or red/blue, or green/blue). While it's not the best, or even complete for that matter, it's certainly furthering me along in understanding the usefulness of proper data structures (namely regarding STL). While such a lesson can be exhausted (learning STL that is) in a matter of an hour on your run of the mill STL-Tutorial-Google, you gotta learn to walk before you can fly.
Onto more specific matters, I need to hammer out a few design aspects still, such as if it should be a tedious snap-to-grid style editing layout, or just free-draw (making some of the file I/O details a bit out of my grasp at the moment). While the idea of a nice, less manufactured height map via a free-draw of sorts would be in accord with creativity, I'm only working with a palette of 100 colors that I do not plan on expanding upon until I can learn more of rendering routines. With only 100 colors the gradual variances in terrain that I will be able to generate will be underwhelming at best. But, alas! It's good fun.
"Against the grain, above the Man, and then [somehow] into my pocket," says the happy-go-lucky programmer. When in reality what ends up is exactly the opposite. So much time spent fruitlessly hacking and slashing away at poorly engineered code that feet barely make contact with the ground. Well, this time I've found the ground. What's left has adapted to adding more structure to what would be considered hobbyist.