March 24, 2008

Technical Support and Pirates, Part Deux

You may remember that I was reamed rather hard for talking about people attempting to get technical support for pirated copies of "SiN Episodes." even attempted to tear me a new one on their main page. (No, I'm not linking to it. Fuck the goons.)

Bruce Shelley at Ensemble has reported that at least 500 people have contacted technical support trying to get online using a pirated copy of "Age of Empires III."
Our customer service people say that in the last several months they have received over 500 email inquiries from people trying to get online with pirated copies. The strength of the Age online multiplayer experience is what saves our business and our jobs, and keeps us going so we can make more games. You can’t play Age online without a legitimate copy, and that helps the game remain in the list of top twenty best-selling PC games for the fourth year. It may be that PC games without a strong online component requiring a legitimate copy are doomed to modest success at best.
All I can say is that I wish the number of people who contacted me back at Ritual for support (and since I've been laid off) were only in the three digit territory. I received five hundred requests for support for the pirated version of "SiN Episodes" last year...after I was off the payroll.

Mind you, he's only talking about people who were trying to get online with their pirated copies. It's quite possible that the number of people contacting support for other reasons could be higher. However, I love how eloquently he put his closing comment on the topic...
A bigger question for me is whether game piracy and its cousins (music piracy and online game cheating, for example) are becoming so socially acceptable and widespread that they are changing our culture. Will a society that finds it increasingly okay to steal and cheat online find it similarly acceptable to lie, cheat, and steal in all aspects of offline life?

Maintenance Downside

Just over sixteen months ago, I was laid off by Ritual Entertainment. Since then, I've gone from being a contractor with problems getting paid to Senior Programmer/Analyst at my job. (By the way, it's sounding like Joshua Herman is back to his check-bouncing ways according to a commenter.)

Over the last sixteen months, my primary job here has been doing maintenance work on a fairly large existing code base. Coming from a QA background is actually very beneficial when you are doing maintenance work. You understand that even the smallest change could cause unforeseen consequences. It may take me a bit longer to go through and find the smallest possible change to get the desired effect, but as a result the number of changes of mine that result in major issues is very small.

There is one large downside to doing mostly maintenance work, get rusty when it comes to making a new project from scratch. The two have completely different mindsets associated with them.

When I'm doing maintenance work, I have a large existing code base and my focus is to make my change in such a way that the rest of the house of cards doesn't come crumpling down on top of me. That involves refactoring where appropriate, careful analysis of dependency chains, and fighting the urge to tear out the entire code base and start from scratch.

When I'm doing new development, I have a blank slate and my focus is to get to a functioning system as quickly as possible. That involves creating code that can easily be refactored, creation of simple dependency chains, and the willingness to see that I've made a large scale architectural mistake, tear out the entire code base and start from scratch again.

Generally when I'm doing new development, I plan out enough time for me to make my prototype, get it functioning at a basic level, and then scrap the prototype so I can build the product based on the lessons learned while making the prototype.

Regardless, the amount of maintenance coding I've been doing has been affecting my ability to effectively write new code. If we weren't short-staffed, I'd probably take a one-week sabbatical so I could work on a 40-hour project just to get my sea legs again.

After all, the only way to get used to writing new to write new code.

March 16, 2008

Server Fail

I hate server failures with a passion, even moreso when it's one of my personal servers.

My development server that has held my source control database, my source code, backups of development tools, everything code related died recently.

Fortunately, I was doing backups every other week. Unfortunately, it died the day before my next scheduled backup so I lost almost two weeks worth of work on the rewrite of

After struggling with the decision for a few days, I decided to give the rewrite a rest and just put up a wiki in its place. If you want to help repopulate VistaGameDoctor for the Tuesday release of Vista SP1, you can register and help out at: