A while ago Charles Nicholson wrote an article about how they handled asserts in their engine. I kind of liked the title "Stupid C++ Tricks" and it triggered this article idea. Then since of course Noel Llopis managed to beat me to it, that after I've given him a hard time about his infrequent posts :) So without dwelling too much on why there are so many books and articles about traps, pitfalls, stupidity and secrets regarding C and C++ here you go; some more stupid tricks, don't try this at home.
This post is going to be a little bit different. I'm going to try at some humor, with just a lace of truth to it to be sad.
Determinism in the game itself can be used to easier reproduce bugs, gather performance data and even for gameplay itself. In modern games it does take a little bit of work if you have not had continuous tests during development to catch errors like when a game diverges. Recently I've had to do this as part of our graphics tests at work where we run the game in a special test mode and make sure that recent changes have not broken any rendering features.
It's hard to automate testing for graphics programming, most of the times you are looking for something that looks nice or good and you are forced to rely on just eyeballing it. Worse, you might need an artist to take a look at it, since programmer art is a fickle thing. There are some things that you can automate though and the fact that the computer is a cool analytic machine that has no concept of what looks good or bad is actually working to our advantage.
How do you use perforce? Some like to stuff as much as possible in the repository, in the hopes that it will be useful to have it all in one place. Others like to keep it minimalistic as to not bog down the server too much. I've already written a little bit about the things that might be good to consider setting up a perforce server, but once it's up and running you might want to have a look at how you are using it.
Windows Vista is, in retrospect after trying it out for a couple of months, simply a skip me version of Windows. I can just note my own folly in buying it.
Recent Comments
Jim Tilander on Stupid C++ tricks
Jim Tilander on Memory adventure safari
Michael Kelley on Stupid C++ tricks
Sergey Pashin on p4shelf