Part One: The Promise, OR, The Waiting is the Hardest Part
by Stephen "Blue" Heaslip
On August 2, 1996, John Carmack updated his .plan file with a startling announcement. Confirming a criticism heard from some quarters, John admitted that they had not done enough testing under conditions that most users would consider typical. From that .plan update:
"...the bottom line is that I was working with the wrong basic assumptions for doing a good internet game. My original design was targeted at <200ms connection latencies. People that have a digital connection to the internet through a good provider get a pretty good game experience. Unfortunately, 99% of the world gets on with a slip or ppp connection over a modem, often through a crappy overcrowded ISP. This gives 300+ ms latencies, minimum. Client. User's modem. ISP's modem. Server. ISP's modem. User's modem. Client. God, that sucks."
Yes it did suck. But that was all going to change. John detailed a plan to create a new client called QuakeWorld, that would only work with QuakeWorld servers. The whole project would be an unsupported experiment, at one point described as a free gift to the community. John gave details of how it would work, and hope for smooth Quake games for all was reborn. There was good reason to hope that this would happen soon based on this statement, also from that .plan update:
I have chosen to pursue something of a limited enough scope that I can expect to start testing it around the end of the month (august). I still have my grand plans for the future, but I want to get some stuff going NOW.
Hope that John Cash fueled the next day with a letter to a Quake Servers mailing list, which contained the following encouraging words:
"We do want to have this in your hands at the end of this month. The front end will probably still be fairly crude at that point (a la qtest),but the focus right now is on great internet play. It will probably be TCP/IP (yes, incuding PPP) only. There will (finally) be support for external drivers. Like we've said, there's a ton of stuff we want to do; we're just trying to prioritize them and get something out to you."
On August 7, 1996, John Carmack sent an email to Joe Powell of TeamQSpy asking:
"Want to be the official front end for the QuakeWorld project?"
On September 19, 1996 an event was held in New York City called the QuakeWorld Launch Event. A few weeks later than initially thought, but we were finally going to get our hands on it. Or were we? It turned out the client wasn't ready. It was close, though: at the event I got to talk at good length with John Carmack, who told me that he was going out of town for a week, and he expected fellow id programmer Michael Abrash (who has since returned to Microsoft) to have completed his projects upon his return the next Monday. He padded a couple of days for unforeseen difficulties and said it would be out the following Wednesday (October 2, 1996).
John Carmack's .plan, October 10, 1997:
Developing for windows is not fun. We are having a lot of trouble getting good solid compatability across all the systems we are testing on.
When it works right, it just pops right into full screen mode with sound and network just like the dos version, but we are still chasing problems on several systems. Sigh.
He was not exaggerating. The beta program was gearing up, and some people were playing QuakeWorld on test servers already. I was lucky enough to be given a copy, but as described, it did not like my machine, and would lock up every time. But hope still ran high, since it seemed that whatever was causing this was the only remaining reason for the delay. So we waited. Six weeks later, as programming challenges often go, we were still waiting on that "one last bug." From John Carmack's November 23, 1996 .plan:
"...there is one physics problem that is preventing me from releasing: you get stuck sometimes in moving plats. I am having a hard time tracking it down, and I only get to work on it sporadically. I will spend a bit more time this weekend."
The bug was real. Occasionally you could not step off a lift after it raised or lowered, as if your shoelaces were tied together. The beta team (the Windows Glitches fixed, I was among them) dubbed it "the Shoelace Bug." Testing went on and, like all good bugs, the shoelace bug suffered it's rightful fate, and finally, on December 13, 1996, , the server software was released (in order to have servers online when the client was released).
On December 17, four and a half months after the first announcement about QuakeWorld), the client followed, and the Quake world was changed forever.
Tomorrow: Spanning the releases between the two clients. Some love it, some hate it. Did QuakeWorld help, or hurt? And what about Hecktor the Iguana? Join us for Part Two of the QuakeWorld Chronicles: The Present. By none other than USERID 1 on the PlanetQuake Master, Basty. Be there, Aloha.