So once again the curse of non trivial toy examples strikes. After spending about an hour trying to place a custom usercontrol onto a simple windows form in Visual Studio and C# I give up. In the most trivial example that I came up with it works fine, but as soon as I try to do this in my own little project (niftysolution plugin) visual studio does nothing but crash every time I try to drag my wizard generated empty user control onto the canvas of my slightly modified form.
The source control history is a precious asset. How your source code evolved over time, what and who made the changes (and why) are questions that can all be answered by the history. It's important to try to preserve the history, but it's also very easy to forget and not do it. It is very frustrating to do some detective work only to find out that the trails end cold when someone copied the file without telling perforce. Best of all, the person who did this might have quit and you have now no clue as to where that file originated.
I guess I made the last post a little bit of a holy crusade and while I guess that is just fine for a blog like this I did just throw it out there that I hate the non windows look and feel of the p4v application without any motivations, so I decided to just download the thing and rediscover how crappy it still is and write it down this time.
Perforce have had a strange development over the last couple of years with their UI clients. Perhaps not so strange from a manager's perspective or even a marketing perspective...
I think the pragmatic programmer advices you to learn one new programming language each year. While this sounds perhaps plausible, I think this can be unattainable for the average non genius depending upon what you define learning as. Much like chess, programming languages are complex yet deceptively simple. You can teach the rules of chess to a novice in matter of minutes. Indeed within the hour a complete novice could be playing games on his/her own. Of course the games will usually end in disaster (and perhaps tears depending on age of the player). To learn the syntax of a new language is pretty easy. With reasonably good memory you could probably do this within a day for a simple enough language (i.e. not C++). If we call this learning the language, then sure we can follow the initial advice, but what would the point be? That would be aching to just memorize a new table each year to stretch your memory muscles.
Matrices seems to be some of the most misunderstood concepts of games programmers today. One does not even need to go into quaternions to find that just regular 4x4 matrices are surprisingly misunderstood.
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.
Recent Comments
jschroedl on p4v for the lose
Uxorious on p4v for the lose
Timbojones on p4v for the lose
Ignacio on p4win for the win