Friday, November 18, 2005

So long SWG

I guess all good things must eventually come to an end, and the only thing guaranteed not to change is the fact that things (and people) change.

I certainly changed. In 1996, I started PC gaming with my QuakeWorld clan. I've been gaming ever since. The majority of that time was spent playing first person shooter (FPS) games. Occasionally I would play some real time strategy games like StarCraft or Age of Empires, but for the most part I played Quake and its successors. I looked down on the MMORPG games and said I wouldn't enjoy them. That was until about a year ago...

A little over a year ago, a good friend of mine was passing through my neck of the woods here in Southwestern Virginia and stayed with me for a few weeks. He was in the process of temporarily moving back home to Toronto while his job and some other personal matters sorted themselves out in Texas. He brought his PC with him, and had been playing Star Wars Galaxies (SWG) for a while. I had heard about SWG and even considered trying it when it was first released in mid 2003. My wife and I have always been big Star Wars fans, so I was naturally intrigued by the game. Everything about the game was so immersing that I decided to give it a try. My wife picked me up a copy of the game, and I installed it and started playing as soon as I returned from a family fishing trip.

I loved it. SWG has been my leisure/hobby/pasttime for the past year. My friend invited me to join his guild in the game (XWING), and I have been playing with them and making great friends over the course of the past year. I've seen and done it all. Combat, crafting, space flight... you name it. I even ended up as the leader of the guild. What a great and fun way to spend free time! Unfortunately, the fun has pretty much come to an end. First a little history lesson:

In the spring of 2005, approximately six months after I began playing SWG, Sony decided to change the core mechanics of the game. When they released the second expansion pack (the wookie world of Kashyyyk), they also released the "Combat Upgrade." Many veteran players left because of this combat upgrade. Some came back, some didn't. I decided to stick with it and rushed to Sony's defense touting that they were simply trying to improve the game. I finished my jedi template and had a blast playing the game even after the combat upgrade was introduced. The combat upgrade introduced major changes to the mechanics of the game. The "combat level" system was introduced, and most of the combat abilities were changed to try and "level the playing field". Because there were so many jedi who unlocked around this time, the jedi profession got a HUGE cut in overall power/defenses. Seeing as how I was a new jedi, I wasn't too happy about the cut, but I was able to adapt.

Fast forward to the end of October, 2005. Due to some real-life circumstances (fire! fire!), I had to spend some time away from the game. In the SHORT (like... less than a week or two) time I was gone, Sony announced yet ANOTHER complete change in the game and dang near had it rolled out (albeit untested and full of bugs). This time, rather than call it a "combat upgrade" (and get all of the negative feelings that come with the term), they decided to call them "New Game Enhancements" or "NGE". Basically, they morphed an MMORPG into an MMORPG/FPS. Rather than select a target and attack it, you have to target enemies with your mouse (FPS style) and keep them targetted for the duration of the attack. Having come from an FPS background, I really don't have much of a problem with the AWSD movement and the mouse targetting. Unfortunately, Sony, in my opinion, did a complete crap of a job implementing the system. NGE pretty much sucks. Strike 1.

When I began playing SWG, the path to becoming a jedi was long and hard. Jedi were very powerful at the time, so to become a jedi required a lot of dedication and time. It wasn't necessarily "hard", but it was definitely a long road. I decided from day one to follow that road. Six months into the game, I became a jedi. I ground out my template and eagerly awaited the re-introduction of what was called the Force Ranking System (FRS). Basically, the FRS was a way of advancing through the jedi ranks from Knight to Chancellor (light side) or Overlord (dark side). Unfortunately, they decided to completely scrap the game's 32 professions and whittle them down to 9. Jedi is now a starting profession. This means that from day 1, a new player can be a jedi. Granted, being an "elder" jedi has it's benefits (additional abilities plus enhancements through "elder reward" items). Nevertheless, the time I sunk into attaining jedi and grinding out my template seems pretty pointless now that everyone in the game can be a jedi with much, MUCH less effort. Strike 2.

This brings us to why I enjoyed the MMORPG: the community. I played exclusively on the Bloodfin server. Bloodfin was the "unofficial" PVP (player vs. player) server. The players on Bloodfin were most definitely a rauccous bunch, but they were my peers and I thoroughly enjoyed playing with them. In addition, I would be remiss if I didn't mention XWING.

I was accepted into the XWING guild on day one and stayed in the guild through thick and thin. They are, without a doubt, one of the best group of gamers I have ever had the privilege of gaming with. Many of the veteran members of XWING are not satisfied with the NGE and have decided to cancel their SWG accounts. Strike 3.

Well... that about covers it I think. Three strikes and you're out. Sony has earned the last cent they will ever see of my income. This doesn't just apply to online games, this applies to everything they have their hands in: software, hardware, media (including music CD's with DRM rootkits on them... good call on that one, morons), etc. etc. Some have suggested to cancel the account for a month and then come back. I won't even go that far. I'm leaving for good. It's not the game or the people playing it, it's Sony's decision to a) listen to marketing idiots instead of paying customers, b) continually release new, buggy software instead of fixing the bugs in what they already have, c) repeatedly screw over their veteran players, and d) generally be lowdown, greedy thieves. So... in short... up yours, Sony.

So long, and thanks for all the fish. I'm cancelling my SWG account, and my wife is out shopping right now. She is purchasing a copy of World of Warcraft for me to try. From what I've read about the game thus far, I will thoroughly enjoy being a Blizzard customer. I really wish I could continue playing an MMORPG with a Star Wars setting, but to be honest... even SWG doesn't seem to have the Star Wars feel anymore. Why not play a better game?

Tuesday, November 01, 2005

Paint me a pretty... uhm... error?

Obviously I've been following TurboGears (duh... it's a blog). I wouldn't call it "closely". Mostly, I've been lurking in the IRC channel and skimming the newsgroup traffic. The additions of an identity/security module and the CatWalk model browser are obviously big steps towards a viable web platform. There had actually been some changes and updates (nothing major) to the base systems as well, so I decided to run through the 20 minute Wiki tutorial again (coding it, not just watching it).

I can type rather quickly, but nobody's perfect. Thanks to my typos, I generated some rather interesting errors that made TurboGears misbehave. I mean... like... really misbehave. Sure I had my share of misspelled variable names. I kept hitting refresh only to find that I didn't have an object called "pate". A quick glance in my controller allowed me to change it to "page" and get back on track. Luckily, I'm familiar enough with Python to decode all of the gibberish it spits out and get straight to the error for logic problems that display in the page. However, I feel for the unwashed who see what the errors produce and have no idea where to even start looking. I think this can probably be handled better (and possibly even provide a little automated hand-holding).

Before I continue, there is one particular situation I need to directly address. One particular typo was a complete showstopper. By "complete showstopper" I mean it stopped the entire TurboGears daemon dead in its tracks. Trying to load http://localhost:8080/ threw up a "Connection refused" message. Naturally, I looked in the console where I was running TG and found the error. As it turns out, TG had attempted to reload my model.py and barfed on a typo. I had tried to call the comple (typo for compile) method on my wikiwords re object. Whoops! Again, this was easily fixed, but I pity the remote developer who may not have access to such information.

So how can these be improved? Some obvious suggestions come to mind. One particular thought is to have the error handling page load the Simple Description, TraceBack, and any other pertinent information in JSON format. Perhaps display the true error in a simple format (e.g. "No such method comple in model.py on line 123") and have a "Click here for traceback" link that would display the full traceback information.

As far as the model.py error completely stopping TG, I think that would (obviously) be relegated to error handling code elsewhere in the MVC chain.