A few weeks back, Microsoft announced an attempt to make a development platform that would allow games to be easily adapted from XBox to PC to handheld. The goal essentially was to have a game developed for one Microsoft platform work on all Microsoft platforms. And the first thought I had was, ?Cool! We can play Halo on our cell phones!?
Or not. Supposing Microsoft does make something of this attempt, this could be the beginning of the end for the stranglehold on PC gaming Microsoft now enjoys. If games can be written to cross platforms with ease, what is stopping anyone from coming up with a way to write a game that can be played on any OS? Instead of having to place multiple versions of the software on the disk, or instead of gaming houses making people lucky enough to avoid Windows wait an extra few months, they make one version that works across all OSs, Windows, Linux, Macintosh, and anything that comes out in the meantime. Impossible? Not quite…
With some form of sub-OS system environment, this might be possible. Already there is a world of games that are playable on most operating systems, and they are written with Java. When you install Java, you give your computer the ability to read programs that it could not read without the translation of Java. That is where that Virtual Machine tag comes in. Java takes the Windows box and runs the Java Virtual Machine on top of Windows. The games are then played inside that special software sub-machine. This is a poor explanation of what Java is and how it works, but it will do. Now, replace Java with a new virtual machine, one that is designed for hardcore, high-powered gaming, the kind of gaming we are thinking of when we say, gaming. All that would have to be done is to write the virtual machine portion of the code for each platform. There would a Linux machine, a Mac machine, a Windows 2000 and later machine, and so forth. The code of the game itself would remain the same, regardless of which platform (or which virtual machine) the game is played on.
And now for the reasons this has not yet been done. First of all, the computer that runs the virtual machine within which a game such Unreal Tournament 2004 is being played is going to need some serious horsepower. The game will need all of its typical system resources, and the virtual machine will need enough horsepower to do its duty as a translator between the game and the rest of the computer. Then again, it is about time we started using those 3ghz processors for something other than making movies. Toss in the advent of 64bit desktops, allowing obscene amounts of RAM, and the fact that the front side bus will become significantly faster than 1ghz by the end of the year, and we just might have enough horsepower to do the deed.
The second problem is getting the game direct access to that horsepower, such as the video card. Trust me, we do not want to spend the rest of our lives playing games in software mode. Where would we be without the debate of ATI versus NVidia and the nice dancing fairy? No, at all costs, we must ensure this platform free generation of games has sufficiently unhindered access to the system hardware. And that access has to be created despite passing through both the virtual machine and through the operating system. With Linux, I imagine the OS writers would quite happily cooperate. Apple would probably find a way to make this easy on developers, seeing as gaming is the last area in which Apple has yet to make serious headway. Microsoft probably would not care to cooperate at all. They have the monopoly, and they have bigger issues fixing their mass of security holes. The have no incentive to cooperate on a project like this. Then again, they seem to be heading in exactly this direction with their attempts to come up with a toolset that will let all Microsoft games work on all Microsoft platforms.
Which means whatever gaming house first tries such a project will probably have to make all efforts largely alone, unless they are able to build on Microsoft’s efforts. It could be a few years yet before anyone actually tries to make a platformless Game of the Year contender. For now, it is probably cheaper and easier to maintain multiple simultaneous builds of the various projects, rather than attempt to break new ground in this manner. This will only happen when the combined total of OS X and Linux boxes in use at home (a very hard number to come up with) reaches a high enough level that developers can no longer ignore it as a portion of the market. In other words, when the non-Windows crowd is large enough that they can make developers significant funds, investment into projects like this will begin in earnest. That may be a few years off, but it will eventually happen.
So, about the time we place a colony on the moon and get screen shots of the Diablo 3 beta, we should start hearing whispers.
Disclaimer: Salem?s Fire was written by Luke Blaize during 2002-2004, and hosted by Diabloii.net. The opinions expressed in these columns are those of the author, and not necessarily those of Diii.net.