Open your Windows to games. (Windows 3.0-based game software) (column)
by Orson Scott Card
Games are the most demanding programs that your computer will ever run. A lot of things are going on all the time - not like with your word processor, which just sits there waiting for you to press a key. As much of the game as possible has to be in RAM because if the program has to keep going to the hard disk to get data, the game lurches along like a square-wheeled cart.
That's why gamewrights keep asking for more and more capability from your machine. They have increased the RAM requirements until now a lot games demand a 640K machine. Some games even require (or at least the game's developer recommends) expanded or extended memory. To free up as much low memory as possible (all of the RAM below 640K), YOU MAY HAVE TO BOOT with a stripped-down configuration whenever you want to play. (I use BootCon from Modular Systems, a terrific little dirt-cheap program that gives you a menu of possible configurations every time you boot.)
But even with 640K, an EGA display, and a hard disk, the game publishers have hit a wall. How can they know which SVGA display you're using? Which sound board? They can't know.
Yet they have to know - because if they create a game that can only run on a marvelous machine owned by exactly 12 people in the world, they aren't going to be able to make a profit selling it for $49.95.
Every step upward in hardware requirements knocks out thousands of potential players that can't possibly buy the game. There's a constant risk of leaving the gaming audience behind, which must be balanced by the gamewright's temptation to push the hardware as far as it can go.
When the game publishers began to sell games that could only be played if you had a hard disk, when they first created games too complex to be ported to the Commodore 64, when they first published games that required more than 256K of RAM to run, when they first published games that had to have an EGA display or better, they went through as much pain as if they were passing the corporate equivalent of a kidney stone.
It isn't just the financial risk. Gamewrights are artists. They want their games to be perfect, but they also want their games to be widely available. I've never met an elitist gamewright. (I got a letter from one once, but I've never actually met one.)
There's also a practical programming reason for staying away from high-end machines: standards. Those big mamas don't have any.
Back in the days when all the PC clones had 256K and a CGA display, a program that ran on one machine would run on all of them. But anybody who's used a 386 or 486 machine with extended memory and an SVGA display knows that no two models are exactly alike. I've had games that ran on my Hyundai 386 crash on my Northgate 486, and vice versa; and I've had programs do weird things on both - but different weird things.
It's not just a problem of game programmers' using suspect direct-memory-access schemes or kludges in order to speed up or enhance the game. The hardware itself isn't identical anymore. All 256K PCs with CGA displays were identical, from a programming point of view. But a programmer can't count on any two 386 machines handling extended memory or SVGA displays exactly the same way. That's the problem.
Gamewrights need to have a standard as they start reaching outside the 640K limit so if they follow the rules, they can count on their games' running smoothly on every machine.
The answer is already here, and it's in the software. Players only have to fork over 90 bucks not 5,000, in order to get the environment the game requires. The answer is Windows 3.0.
I never liked the earlier incarnations of Windows because all my favorite software kept crashing, and I didn't like the software that did run.
But with the latest Windows, Microsoft has finally go it right. To my shock, Windows actually makes my non-Windows programs behave better. For instance, I'd been having trouble with Glyphix and WordPerfect locking up or giving me divide errors whenever I tried to print complex documents on my Laserjet. But when I run them under Windows, they behave perfectly.
Most of the games I've tried work fine under Windows, so at least it does no harm. And even some of the untidy crash-prone games are improved by running them under Windows. For instance, Railroad Tycoon always locked up or crashed on my machines at least once per playing session. Under Windows it still happens, but I get plenty of advance warning because the game acts weird for a while before it dies. Windows provides life support just long enough for me to save the game.
Windows should become the new game-development standard because it works and it works well. Gamemakers will have to spend a bunch of bucks tooling up to work with Windows, but it'll be worth it.
Two years from now, most PCs will run under Windows. The installed base will be huge. And game programmers will know that as long as they obey the Windows protocols, their games will be playable on every machine that has Windows.
It can't happen too soon for me.