RSS

Daily Archives: March 20, 2012

Making Wizardry

When we left off, Robert Woodhead had just completed Galactic Attack and, as he and Norman Sirotek waited for the Apple Pascal run-time system that would let them release it, was already considering what game to do next. Once again he turned to the lively culture of PLATO for inspiration. As I described in an earlier post, PLATO had been home to the very first computerized adaptations of Dungeons and Dragons, and still housed the most sophisticated examples of the emerging CRPG form. Microcomputers in 1980 had nothing to compare with PLATO games like Moria, Oubliette, and Avatar, games that not only foreshadowed the PC-based single-player CRPGs soon to come but also the online social dynamics of more modern MMORPGs like World of Warcraft. Looking around at a microcomputer scene that offered only much less sophisticated games like Temple of Apshai, Woodhead began considering how he might bring some modicum of the PLATO CRPG experience to PCs. He tentatively named his new project Paladin.

Coincidentally, a computer-science graduate student at Cornell, Andrew Greenberg, had been working on the same idea for quite a long time already. During spring-break week, 1978, Greenberg, still an engineering undergraduate at the time, was lazing around his with his friends, playing chess, Scrabble, and cards. From the first issue of the short-lived newsletter WiziNews:

After a couple of days, he [Greenberg] says that, “I was getting tired of these same games. I was bored and complained about my boredom.” A friend suggested offhand that he go put Dungeons and Dragons on a computer.

Greenberg worked on the idea in fits and starts over the months that followed, constantly expanding the game — which he had dubbed Wizardry — on his dorm-room Apple II. He could sense he had the germ of something good, especially when his friends started visiting to play the game on his computer and ended up staying all night. Like so many would-be game makers, however, Greenberg found bringing all of his ideas to fruition in the face of limitations — both his own and those of his hardware — to be a challenge. He had coded the game in BASIC, the only language other than assembly to which he had access on his Apple II. It was slow. Painfully slow. And as it got bigger, dealing with all the frustrations and limitations of BASIC became a bigger and bigger problem.

Meanwhile, Greenberg was working in the university’s PLATO computer lab, where one of his duties was to keep the hordes of gamers from monopolizing terminals ostensibly intended for education. PLATO-addict Woodhead was, naturally, one of his biggest problem children. The two engaged in a constant battle of wits, Greenberg devising new schemes to lock down the gaming files and Woodhead always finding ways around his roadblocks. “He was one of those people who just seemed to live to make my life miserable,” says Greenberg.

But then his nemesis, who had played one of the copies of his game that were being passed around campus, came to Greenberg with a proposition. Greenberg had — or at least was well on the way to having — an innovative, original design, but was having problems realizing it technically; Woodhead had gotten very good at programming the Apple II in Pascal, but had only the sketch of a design for his game. Further, Woodhead had, through his connections with the Sirotek family, the resources to get a game published and marketed. Greenberg hadn’t previously thought along these lines, having envisioned his game as just a fun project for his “buds,” but he certainly wasn’t averse to the idea. The match was obvious, and a partnership was born. The two sat down to discuss just what the new game should be. Rather than just make a clone of the PLATO CRPGs, they had some original ideas of their own to include.

Another popular genre on PLATO was the “maze runners,” in which players had to find their way out of a labyrinth shown to them in a three-dimensional, first-person perspective. (I’ve had occasion to mention them before on this blog; they were also the inspiration, by way of Silas Warner’s port of one to the Apple II, for the dungeon-delving section of Richard Garriott’s Akalabeth.) Greenberg and Woodhead wondered if it might be possible to build a CRPG from that perspective, putting the player right into the world, as it were, rather than making her view the action from on-high. The two were also very fond of the party dynamics of tabletop D&D sessions, in which every player controlled an avatar with different tactical strengths and weaknesses, forcing the players to work together to devise an optimum strategy that made the best use of all. Being built on an online network, many of the PLATO CRPGs also let players team up to explore and fight together. This sort of thing just wasn’t possible on an Apple II given the state of telecommunications of the time, but as a next-best thing they thought to give the player control over an entire party of adventurers rather than a single character. What she lost in not being able to bond with a single character that definitively represented her would presumably be more than made up for by the tactical depth this configuration would allow.

Greenberg today frankly characterizes the months that followed, months of designing, implementing, testing, and revising what would become Wizardry, as “the most wondrous of my life.” The general role played by each was precisely opposite what you might expect: Greenberg, the budding computer scientist, designed the game system and the dungeons to be explored, while Woodhead, the psychology major, did most of the programming and technical work. Partly this division of labor came down to practicalities. Woodhead, still suspended from classes, had a lot more time to work on thorny technical issues than Greenberg, immersed in the first year of an intensive PhD program. Nor were the two exclusively confined to these roles. Greenberg, for instance, had already created many of the algorithms and data structures that would persist into the final game by the time he turned his earlier game’s code over to Woodhead.

Almost from the start, the two envisioned Wizardry as not just a game but a game system. In best D&D (and Eamon) fashion, the player would carry her adventurers from scenario to scenario — or, in D&D parlance, from module to module. The first release, which Greenberg and Woodhead planned to call Dungeons of Despair, would only be the beginning. Woodhead therefore devoted a lot of attention to their tools, crafting not just a game but a whole system for making future Wizardry scenarios as cleanly and easily as possible. Greenberg characterizes the final product as “layers upon layers of interpreters,” with the P-Machine interpreter itself at the bottom of the stack. And in addition to the game engine itself, Woodhead also coded a scenario editor that Greenberg — and, it was hoped, eventually other designers — could use to lay out the dungeons, treasures, and monsters.

Apple Pascal’s unique capabilities were key to fitting such an ambitious design into the Apple II. One of the most important was the concept of code segments. Segments allowed a programmer to break up a large program into a collection of smaller pieces. The Pascal library needed load only the currently active segment into memory. When execution branched to another segment, the previous segment was dumped and the new loaded in its place. This scheme allowed the programmer to write, relatively painlessly, a single program much larger than the physical memory of the Apple II would seem to allow. It was, in other words, another early form of virtual memory. While it was possible to chain BASIC programs together to create a superficially similar effect, as evidenced by Eamon, Ultima, and plenty of others, the process was a bit of a kludge, and preserving the state of the game across programs that the computer saw as essentially unrelated was a constant headache.

Another remarkable and important aspect of Apple Pascal was its graphics system, which went far beyond the capabilities of Applesoft BASIC. It had the ability to print text anywhere on the bitmapped hi-res screen with a few simple statements. This sequence, for instance, prints an “X” in the center of the hi-res screen:

PENCOLOR (NONE);
MOVETO (137,90);
WCHAR ('X');

Developers working in BASIC or assembly who wished to blend text with hi-res graphics had to either use the Apple II’s dual graphics/text mode, which restricted text to the bottom 4 lines of the screen, or invest considerable time and energy into rolling their own hi-res-mode text-generation system, as Muse Software did. By comparison, Wizardry‘s standard screen, full of text as it was, was painless to create.

Another hidden bonus of Apple Pascal would be its acting as a sort of copy-protection system. Because the system used its own disk format, Wizardry disks would be automatically uncopyable for those who didn’t themselves own Pascal, or at least who didn’t have access to special software tools like a deep copier.

Greenberg and Woodhead got a prototype version of the game working in late September of 1980. They showed it to the public for the first time two months later, at the New York Personal Computer Expo. People were entranced, many asking to buy a copy on the spot. That, however, was not possible, as Apple still hadn’t come through with the promised run-time system. A second Siro-tech product was stuck in limbo, even as Apple continued to promise the run-time “real soon now.”

Yet that was not as bad as it might seem. With the luxury of time, Greenberg enlisted a collection of friends and fellow D&D fans to put the game through its paces. In addition to finding bugs, they helped Greenberg to balance the game: “I began with an algorithmic model to balance experience, monsters, treasure, and the like, and then tweaked and fine-tuned it by collecting data from the game players.” Their contributions were so significant that Woodhead states that “it would not be unfair to credit them as the third author of the game.” To appreciate how unusual this methodical approach to development was, consider this exchange about Richard Garriott’s early games from Warren Spector’s interview of him:

WS: At this point, did you have any concept of play-testing? Did you have your friends play it? Did California Pacific have any testing? Or was it just, “Hey, this is kind of cool, let’s put it out there!”

RG: Pretty much the latter. Of course my friends were playing it, and I was playing it. I was showing it off to friends. But we didn’t have any process, like, “Hey, you know, we’re about to go manufacture a thousand, so let’s please make sure there’s no bugs and go through a testing process.” There was nothing like that.

I don’t write this to criticize Garriott; his modus operandi was that of the early industry as a whole, and his early games are much more playable than their development process would seem to imply. I do it rather to point out how unusually sophisticated Greenberg and Woodhead’s approach was, perhaps comparable only to Infocom’s. One could quibble about exactly what level of difficulty should count as “balanced” (as Rob Hall wrote in The Computist #40, “If these games are really balanced, those dungeon monsters sure weigh a lot”), but the effort Greenberg and Woodhead put into getting there was well-nigh unprecedented.

The long-awaited run-time system finally arrived in early 1981, as Greenberg and Woodhead were still obsessively testing and tweaking Wizardry. Without the need to hold the development tools in memory, it allowed an ordinary 48 K Apple II to run most programs written and compiled with Apple Pascal. From a room above his father’s spoon factory, Norman Sirotek began duplicating and packaging Siro-tech’s first two products, the comparatively ancient Info-Tree and Galactic Attack, and selling them directly to customers via a few magazine advertisements. It was a very modest beginning. Info-Tree in particular was already showing its age, and it became obvious as the phone began to ring that the quickly-written documentation was inadequate. In fact, that ringing phone posed something of a problem. “Siro-tech” was awfully close to the family name of the Siroteks, so close that customers in need of support started to look the name up in the phone book and call the Sirotek family home. In Woodhead’s words: “After about the fourth phone call at the Sirotek home around four in the morning, we dropped the ‘o’ to become ‘Sir-tech’ and made sure the company phone number was in prominent places on the manual and packaging.”

About this time Norman’s older brother Robert joined him at the new company. He had been working as a computer programmer for a large company before, “tired of the bureaucracy,” deciding to take a flyer on this new venture. Robert turned out to be a vital ally for Greenberg and Woodhead amongst the other Siroteks, who were not at all thrilled with the idea of publishing games and pressuring the two to just finish with Wizardry already so everyone could move on to some sort of proper business application. Frederick Sirotek, from Softalk‘s August 1982 feature on Sir-tech:

“The boys thought it was a great game,” Sir-tech’s top adviser confirms. “But as far as I was concerned, computers were business machines. They weren’t fun machines. You do things with them that you need. I certainly did not realize that there is such a relatively large segment of the population that has the computer only or mostly for pleasure.”

Robert, on the other hand, was much more familiar with typical uses of computers and “got” Wizardry the first time he played it; he thought it “fantastic,” well worth the time and labor.

To drum up some publicity, Sir-tech took the game to the June 1981 AppleFest in Boston (the same show where Chuck Benton had his fateful meeting with Ken Williams and On-Line Systems). They sold there a demonstration version of the game, which included just the first three dungeon levels. The reception was very positive indeed. Slowly, a buzz was building about the game outside of Sir-tech and Cornell. And then TSR stepped in.

One of the less attractive sides of Gary Gygax and his company was their fondness for using the legal system as a bludgeon. This was, remember, the company that had threatened to sue MIT because an alternate name for Zork, Dungeon, was the same as that of TSR’s Dungeon! board game. It now seemed that Gygax and his company considered the double-Ds of Dungeons of Despair too close to those of Dungeons and Dragons. (One wonders just how TSR, a profoundly un-tech-savvy company almost unbelievably tardy in getting its own products onto computers, kept finding out about all these alleged violations in the first place…) Like the Zork team before them, the Sir-tech folks scoffed a bit at TSR’s chutzpah, but ultimately decided this wasn’t a fight worth having. Dungeons of Despair became Proving Grounds of the Mad Overlord — a better name in my book anyway. (If you’re going to go the purple-prose route, might as well go all out.) In a wonderful display of karmic justice, Gygax himself in the early 1990s was sued by his old company when he tried to market a new game of his own under the name Dangerous Dimensions, and had to change it to Dangerous Journeys.

Sir-tech spent the rest of that summer of 1981 making final preparations to release Wizardry at last. Here Frederick Sirotek made a vital contribution. Realizing from his own business experience how important an appearance of professionalism was and all too aware of the inadequate Info-Tree documentation, he insisted that Sir-tech put together a solid, attractive package for the game and make sure the manual “was readable by people without computer backgrounds.” From the embossed cover to the unusually lengthy, professionally-edited-and-typeset manual found within, Wizardry looked a class act, standing out dramatically from the Ziploc bags and amateurish artwork of the competition. Wizardry looked like something major.

The first pages of the manual reinforced the impression, even if their idea of what constitutes a huge, time-consuming game-development project sounds laughable today:

Wizardry is unlike any other game you have played on your Apple II computer. Using all the power and sophistication of the Pascal language, we have been able to create the most challenging fantasy war game available for any personal computer.

Wizardry is a huge program — in fact, at 14,000 lines of code, it may be the largest single microcomputer game ever created. The entire Wizardry game system, including the programs used to create the extensive Wizardry databases, comprises almost 25,000 lines of code, and is the result of over one man year of intensive effort.

The result is a game that simply could not have been written in BASIC. Wizardry has so many options and is so flexible that the only limits to the game are your imagination and ingenuity.

In something of a coup, they were able to hire one Will McLean, who had done cartoons for Dragon magazine and The Dungeon Master’s Guide, to illustrate the manual.

McLean’s work gave Wizardry more than a whiff of the house style of TSR itself, a quality sure to be attractive to all of the tabletop D&D fans likely to play it. (Remarkably, TSR didn’t try to sue them for that one…)

At the end of September, Sir-tech began shipping Wizardry at last. All of the Siroteks’ doubts were answered almost immediately; Wizardry became a sensation, the biggest release of the year in Apple II gaming. “Two months after Wizardry came out,” said Norman, “I was ready to eat my hat! I’m glad I wasn’t more convincing with my arguments.” We’ll chart its impact in a future post, but before we do that we’ll take a closer look at the game itself.

 
 

Tags: ,