Wednesday, May 09, 2007

Wanted: An Overlay Filesystem for Windows

One of the biggest advantages of game consoles over PCs is ease of use. Consider all that's often required to play a game for the first time on a PC:

  • Before buying check to make sure your PC meets the minimum requirements for the game.
  • Make sure your hardware drivers are all up to date (or out of date if newer drivers have problems with that particular game).
  • Defrag your hard drive.
  • Install the game.
  • Find and install any patches so that the game has a chance of working without glitchiness
  • Tweak all the game settings for your hardware, carefully balancing video, audio and gameplay quality against framerate.
  • Make sure the game CD is in the drive.
  • Play.
Compare this to what's usually required to play a game for a console:
  • Make sure the game is for your console.
  • Make sure you have a memory device for your game saves.
  • Put the game in the console.
  • Play.
Even on subsequent plays, the PC suffers in usability because upgrades to hardware, drivers or other software can render a game unrunnable. And the game will always take up a significant amount of space (several gigabytes for recent titles) on the hard drive.

If you have a hundred console games, you might need a few memory cards, but that's all. But if you have a hundred PC games, you're going to need a hard drive with 200 gigabytes or more of free space to install them. Or you're going to have to give up the ability to choose which game to play on a whim, and instead carefully choose which games you leave installed.

It doesn't have to be that way. Well, the hardware variation issue isn't going to be solved any time soon. But there isn't any reason why games should have to be installed and consume large amounts of hard drive space. There are some existing games that only store saves, configuration information and patches on the hard drive. Some of those don't even require installation. Here are a few titles I own that (can) leave their content on the CD-ROM:

  • Tomb Raider (#2 - #5)
  • Wing Commander 3
  • Some titles in the Myst series
  • Atari Anniversary Edition

Microsoft's ''Games for Windows" initiative is meant to deal with exactly this problem by making PC games run the same way that console ones do. Halo 2 for Windows Vista will not require installation but will load from the DVD just like its console cousin. This is terrific, but it only helps with new games. What about your existing library?

That's where an overlay file system comes in. Conceptually, it's like a transparency laid over a sheet of paper. When you first read it, what you see is the text on the underlying paper. But anything you write goes on the transparency, and when you next read it, what you see is mostly the underlying text except where it's obscured by the new writing.

With such a filesystem, one could:

  • Install the game
  • Burn a DVD-ROM with the contents of the installation folder
  • Delete the contents of the installation folder
  • Make the installation folder the transparency over the DVD-ROM drive
After this, attempts to read from the game installation folder would be redirected to the dvd if the file isn't found there. And attempts to write to the installation folder (for instance, for save games or configuration data) would go there and overlay the old versions residing on the DVD-ROM.

So the game would play off the DVD-ROM, while configuration data and saves would go on the hard drive. The only drawback would be the decreased file reading speed.

There is such a filesystem already for Linux called unionfs (and a newer less buggy version called aufs). It's how the Knoppix distro of Linux runs from DVD while keeping user data on the hard drive.

Now if we Windows users could just get a little of that love... :)

No comments: