I normally write applications for my own study and amusement, but not many games. This is because, with very few exceptions, there is no game that I can write which can compete with the quality and brute man-hours which go into professional games. (Especially with 3-D) At one time the solo hobbyist could write engaging games to show off and share with his friends, and indeed, at one time I was in the habit of pulling all-nighters, just coding away. But those days ended around the time the C=128 came on the market. (There are, of course, even today, a few notable exceptions.)
No, these days I program as a way to explore subjects which grab my attention and about which I desire a deeper understanding; especially those applications for which suitable commercial software does not exist. I've written programs to explore probability, random walks, fractals, Conway's The Game of Life, Turing Machines, Mandelbrot sets, the Monty Hall problem, creating bar-codes (and several home applications for them), and more. Currently I'm discovering all sorts of deliciously mind-twisty things related to color wheels and the 16.58 million colors (255^3) we can display. I'll write up a report on that and share it in the near future. These are the sorts of things I do.
I'd like to share a couple of my more interesting examples. You have, no doubt, heard of the so-called "Bible Codes", by which a certain author popularized the notion that predictions of dramatic modern disasters, such as the space-shuttle blowing up, or 911, were "encoded" the Bible? It's all BS, of course. It boils down to playing Boggle with the text; a banal word-search using various skip rates by which a person can hunt for loaded terms in any text at all. And the ancient languages in which the bible was written are particularly suited to the game because there are no letters for vowels. This leaves the searcher free to sprinkle in vowels at will and dramatically increases the probability that some sort of "match" for loaded words can be found. I once wrote an application to hunt for these sorts of hidden "messages" in the text of other books which I downloaded for free from the Gutenberg Project.
I was once a member of a Bulletin Board (in the days before the internet) which was all but taken over by a passionate fellow who was convinced that George H. Bush was the Anti-Christ, and he wanted to warn the world using the Biblically inspired mathematics by which George Bush's letters summed to the number of the beast, 666. Several of us tried to explain how the game was played, and that his numbers were no more than that, a game; but there was no talking to him. He couldn't imagine how anyone could come up with such a remarkable fit. So I wrote a little program which used brute-force to search for all combinations of numbers which summed to 666, using this fellow's name, John P Boatwright, based on the periodic table of the elements and a quote from the bible linking Satan to the earth. Well, that shut him up good. I even gave him all sorts of statistics about how vanishingly low the odds were that his name would sum to 666, purely by chance; so there was no denying the God's Divinely Revealed TRUTH that HE was the spawn of Satan. I even concentrated on elements with strong parallels to corruption, fire, or Satan. (Such as Nickle, which once had the nick-name 'Satan's Copper' for its heat resistance; or phosphorus, which was first isolated from urine and has a strong association with Sulfur, Fire and Brimstone.) You can't buy an application to do that sort of thing!
So, 3D is nice and all; and I may one day dip my toes into the water out of pure curiosity, but 3D just isn't in my scope at this time, given the riches I still mine from pure 2D. GL-Basic is light-years ahead of the old Q-Basic, which is why I like it. I especially like the ability to control graphics on a pixel level -a thing I could never do when I programed in Visual-Basic. Basic is slow by its very nature, but it suits my needs and abilities well enough. Cheers!
-CW