Friday, January 11, 2008

The Unified Console - Part 2 of 2: A Difficult Solution

Previously
In part 1, we outlined the causes of the console format war and why it needs to end. We now conclude this editorial with a complex, yet necessary solution.

Unity
One box. One platform. One set of cables. One set of controllers. One, free, unified multi-player pool. Zero half-baked "multi-platform" titles. Zero micro-transactions. Zero bullshit. It sounds like a no-brainer, yet we support and promote the contrary every time we pay for a $60 console title, and this needs to end. This obviously cannot be done by an editorial in some obscure blog. The market must demand it. You must demand it.

A Hybrid Of Concepts
Consoles are an incredible pieces of hardware. PC gamers have scratched their heads as they witness smaller, underpowered boxes push graphics rivaling the best PC hardware of the same generation. This is accomplished by a very simple concept: eliminate as much performance overhead as possible. Console architecture easily achieves this in two big ways: there is no, or at most a minimal operating system operating in the background, and, most importantly, the core hardware can never change. That means that developers can tweak their engines to their heart's content without having to worry about it breaking anything when combined with some obscure video chipset and/or driver. This incredible advantage for developers must be preserved in the unified console, and will be the only closed aspect of the console model that will survive. This is because for the unified console to truly succeed, it needs to be set on open standards.

Open standards are the most attractive and the most horrific aspects of PC gaming. The beauty of it isn't difficult to realize: within reason, you can choose any brand, model, generation of hardware and mix it with whatever you want or need. You think that Logitech mouse from 1997 fits your hand better than anything out today? Okay, use it. Want to use a stick and throttle in a flight-sim and use it from generation to generation? That's fine. Not only do you get choice in the types of hardware, but the open market of different competing brands keeps the quality of these peripherals and internal hardware high in quality and low in price. You get to customize everything, and for those of us who don't want to, we can get pre-designed systems from boutique system builders, or large manufactures such as Dell and HP. There are two downsides to this: one is cost, as this hardware is not subsidized like consoles, but also this mixing and matching of hardware puts a heavy burden on game developers. The advent of well-defined 3D acceleration APIs (Application Program Interfaces) such as OpenGL and DirectX (later versions anyway) made this a little easier, but it still does not compare to the ease of having a single hardware platform. This is where the "Unified Console Consortium", or UCC as we'll refer to it, would come into play.

The Consortium
The "Unified Console Consortium", or UCC, would be the most difficult, yet most critical aspect of the unified console concept. This group would be made up of hardware companies, game developers, publishers, game critics, and esteemed individuals from both the software and hardware development world, such as Warren Spector (Deus Ex), David Jaffee, Gary Tarolli (3Dfx and NVIDIA fame), Gary Whitta, etc. This group would have to be ultimately non-profit, and would have to be elected- how is unclear, and would admittedly be difficult and political- something that the engineer who is writing this cannot even begin to fathom.

The goal of this "United Nations" of gaming hardware and software would be to develop a new gaming hardware specification every 3-6 years. Hardware manufacturers present their own specific hardware part specs with a bid for a "contract" in the next unified console spec. Similarly, upgrades and modifications in the underlying software APIs and OS would be decided along with the hardware. Ultimately, it would be a convergence of the brightest minds in the gaming and high-performance hardware industries to deliver the best spec that technology can offer. The unified console platform could also become an invaluable tool for the consortium members to work together in developing and trying new concepts, such as GPGPU, in gaming applications. The potential of this collaboration cannot be underestimated.

The Hardware
The actual hardware of the unified console would likely be typical PC components of the time, which wouldn't be too far off from the way consoles are designed today (caveats: The 360 has a triple-core Power PC CPU, and the PS3 has Cell, but that has largely not worked out in developers' favor). Sticking to typical PC architecture would keep prices down, and make software development easier. However, as it has been stated before, the hardware must adhere to the spec decided upon by the consortium.

The interesting part of this is that individual gamers could still build their own machines, using off-the-shelf parts, as long as the meet the spec. Your new console getting the equivalent of "red ring of death"? No problem, because you can easily replace the part on your own- or you can design the box to have superior cooling in the first place. Those of us who don't want to deal with custom builds could purchase a pre-manufactured and tested "console" unit that meets the spec. These could be built and sold by multiple consortium members; Microsoft, Toshiba, Sony- whoever the consortium believes can meet the spec and deliver a high-quality unit. The units would be primarily designed for living room use with standard hi-def video outputs, digital DD/DTS audio outputs, etc. There would be a consortium recommended controller standard with all default control settings mapped to this peripheral, but users would be allowed to use whatever USB/wireless (bluetooth, etc.)-capable device and map the controls by hand. And yes, mouse and keyboard would be an option.

The Software
When it comes to the operating system and software, there's no question that it must be open-source. This includes moving away from non-open APIs, and moving back to open APIs, such as OpenGL, or perhaps a new standard developed by the consortium. The operating system would likely best be based on a stripped-down distribution of Linux, designed with this application in mind 100%. The completely open-source nature of this would allow the community as a whole to improve on the OS and API between generational leaps. To the end-user this would all be largely invisible, and a front-end dashboard-like interface would be in place. Multiplayer would be handled on a free network, such as Valve's excellent Steam, and would utilize stand-alone servers like those found with PC games as opposed to peer-to-peer networking like in Xbox Live. This would allow for much larger and reliable gaming sessions to take place, with matchmaking handled by the Steam (or similar free equivalent) network. All of this would need to be stitched seamlessly into the OS.

An Entirely New Business Model
With the exception of Nintendo, all major console platform holders have sold hardware at a loss, and console format supporters continually trumpet the subsidized cost of console hardware. However, most of us don't think twice about purchasing two or three consoles in one hardware generation, all the while paying for $60 games due to platform licensing fees. The PS3 and 360 are almost completely redundant pieces of gaming hardware. The unified console would have gamers buy a single, non-subsidized (so it would likely be somewhat more expensive) piece of hardware, allowing them to upgrade or buy completely new hardware every 3-6 years to meet the new spec. Games would also not have platform licensing fees, and would be developed for a single platform, reducing the cost of games back down to PC gaming level. Microsoft, Sony, and Nintendo would primarily become software developers and publishers, while participating in the consortium as well. It is likely that this standardization would promote consumer confidence, and ultimately market growth. In the end, everyone wins.

How can this be done?
Many will claim that this "gaming utopia" would be impossible to achieve, but we have to try. The best organizational template to initially follow would be the mass-collaboration of the GNU project, and the open-source software community as a whole. Linux and open-source software is gradually eating more and more market share every day. A community of bright, motivated developers around the world will always provide a superior solution in contrast with multiple, large corporations. What ultimately needs to happen first is that the consortium must be formed, and the spec must begin to be developed. It could be a decade or more before anything concrete could be produced, but we have to start somewhere.

Spread the word. Read about graphics and computer engineering. Exchange ideas and concepts. Learn how to write code. This cannot be accomplished and sustained with the ideas of a few, but the ideas of many.