October 2007 Archives
Every now and then a discussion about NULL comes up. Much like operator overloading of multiplication of a geometric vector class. In the course of the discussion many questions and theories are covered, I'd like to give my views on them here in this short article.
This article is a little random musings about game difficulty, save games and downloadable games...
The old comment system I had on my blog was kind of dated and convoluted. A friend of mine complained a little about it and I set out to see if I could improve it a little bit. Whew. What a can of worms (thanks Nick). Turns out that in order to fix it I needed ssh access to my webhost...
I thought I would ramble on a little about the class constructor in C++ as well as start a new topic in the blog, C++. Here is the first installment. A little random, but fun facts. Keep your copy of the standard close by.
One of my (maybe bad) pet peeves are compiler warnings. I try to compile cleanly at the highest warning level and go through all the warnings one by one and really understand what they are fuzzing about. And then fix them. The reasoning behind this is that the compiler writers are usually much much better at the language than I am. If they bother enough to put in a warning message, then there is probably a catch somewhere. Dismissing it out of hand as stupid is done at your own peril. Every now and then there is some subtle gotcha that the compiler writers understand but you have yet to grasp about the language. And boy do you feel stupid after a monster debug session only to find that the bug you were searching for was already flagged by the compiler in a warning that you ignored!
For a couple of years now I've been using a system to manage visual studio projects and solutions automatically. It started out as a massive upgrade operation moving from visual studio 6 to 2002 at the time. In order to do this I decided to also generate all the projects automatically since it was such a pain to maintain them manually. I also didn't trust the settings in the current projects since they were all different from project to project. So I decided to move ahead and write these scripts to handle all the generation for me. Something wonderful happens when you can add files to your project and even projects to your solution with minimal work. It eases the pain to add things in their proper place, instead of just adding functions in some unrelated files (have you stumbled upon filename manipulation routines deep inside your AI?) you can take the trouble now to add the files to the project with proper names. You can also easily add new projects to keep separation into libraries sane.
Since I try to do video games for a living, it might seem very odd for me to go home and then do the same thing again. I call it recreational programming and in all honesty it's a little bit whacked. I'm not alone in this though, I know a lot of people do the same thing, or similarly taking their day job home and doing it as a hobby. Either we're really lucky or just retarded. Any given day I'm in the balance which. Anyhow, this article starts at a lunch with a friend where we start reminiscing about old games and what we played back in the day before monster processors and even consoles more powerful than the NES 8-bit system. Several games came up but one stuck in the conversation and kind of expanded. The game was Chopper Duel, for the old DOS computers. The game is not that old, but the idea came up to do a revamped version of the game, in full 3D and with destructible environment. Well, suffice to say I didn't make that game.