Resurrected Entertainment

The PC Gaming Onion

July 9, 2010

I have been caught in a diagnose, debug, and repair cycle for a few days now when using my PC. It’s been a frustrating experience so far, and I have yet to arrive at a stable platform to play games, which is the reason why I began this epic quest in the first place. This particular problem has been quite nasty, and all the usual tricks and secret handshakes aren’t working. I have had to systematically replace and diagnose each component of my system by placing everything from software services to my set of DRAM sticks under the microscope.

On the one hand, I do enjoy problem solving, so I could put the frustration aside sometimes and concentrate on the problem (although, I wanted to throw the machine out the window yesterday).  However, problem solving was not my goal here. Since I’m on vacation right now, I want to play games, not fix computer problems. Like everything else in the desktop computer market, the complexity has risen to the point where an average computer user must treat their computer like a mystical black box. You might as well throw a big fat “No Serviceable Components Inside” sticker on the side of the case. Unless it’s something simple, like a unplugged monitor or a mis-aligned video card, then I would expect most people to throw their hands up in frustration and start filing through their list of contacts looking for the local computer geek.

You don’t need to understand everything about everything,  you need to comprehend just enough so that you can effectively peel back a layer or two and fix your problem, or at least diagnose it. Of course, if it were that easy, I would be playing Bionic Commando right now. The hard part is dealing with all of these hardware and software layers, and trying to find that mystical needle in the haystack.

I would like to see a better solution to the problem of diagnosing a system crash. It’s a hard problem, and one that cannot be fixed without first changing the system, and reducing the number of layers or at least fixing those layers to know stack. The problem is that layers provide a certain kind of freedom to hardware and software engineers. It allows them to ignore a lot of the inner workings of a system, and concentrate more on what they want to build, be it a game or a piece of tax software, so as much as I feel like getting rid of them right now, those layers are here to stay. However, we do not need all of those layers in all circumstances, and some people have customized their desktop configurations so that only the necessary layers are used when performing a task. These customizations are very high level, the user typically does not have a lot of control over the low level pieces of the operating system (unless you’re using Linux, but if your goal is to play games, then you’re not using Linux anyway). I don’t think these kind of profiles are a good idea either, since that creates an even bigger nightmare while testing or debugging a failing product, and much of the configuration is beyond the understanding of a typical user or support personnel.

What the desktop needs is a specialized mode, which essentially brings some of the benefits of a console to the PC arena. This mode must be supported by the operating system, and consist of a limited but complete set of layers, so that game programmers can continue to write great games. That’s it; nothing else should be included. By reducing the number of layers, and provide appropriate diagnostic tools for reporting on hardware configurations or problems, game development companies can target much more typical configurations while testing, and support personnel could diagnose problems faster.

Products like DirectX for Microsoft Windows were designed to solve that problem, but over time the development platform began to stray with the introduction of more layers and thus more complexity. Games which utilize DirectX are nice, but simply providing DirectX is not a complete solution, since there are so many services still running on the system, which have nothing to do with the game or the game development framework. These services can cause problems, add complexity, and serve to hide the real culprit, until we arrive at the situation I am dealing with today.

No Responses to “The PC Gaming Onion”

Care to comment?