An Interview with Charles Wetherell
and Tom Buckholtz

(September 14, 1999)

Tom Buckholtz Charles Wetherell
Tom Buckholtz Charles Wetherell





CW = Charles Wetherell
TJB = Thomas J. ("Tom") Buckholtz
GAM = George Michael



GAM: We are trying a new approach for remembering things that happened at Livermore. Today we will be talking with Charles Wetherell and Tom Buckholtz who are, together, going to reminisce about their development of a very interesting piece of software that was first used on the SIGMA 7 system which was set up at Livermore for graphics research. Along the way, you guys, just try to remember to say where you came from, when did you get to the Lab, and what was your interest there. Are you a physicist, or a programmer, or a mathematician, and so on?

TJB: For me, this history starts in Palos Verdes, the Southern California peninsula where I grew up, with two people - Mark Dawson and Kelly Booth - who lived there and were friends of mine.

Mark moved to Palos Verdes in 1960. We became friends and were classmates for the three years until we graduated from Palos Verdes High School in 1963 [1]. During that time, he introduced me to Kriegspiel, a game played in the Southern California aerospace community. Other players I remember include Mark's father Reed, who had worked as a mathematician for the National Security Agency and was then employed by Control Data Corporation, and some of my contemporaries including Kelly Booth.

I played Kriegspiel during those three years and, apparently, later introduced it at the California Institute of Technology from which I graduated as a math major in 1967. I recall playing the game occasionally at Caltech and at some of the aerospace companies with which I had summer jobs from 1963 through 1967. Those employers were Douglas Aircraft [2], Hughes Aircraft [3], and A. C. Electronics Division of General Motors [4]. I probably introduced the game to my groups at Hughes and GM.

CW: I've just finished reading the John Nash biography [5] and Kriegspiel was very popular in the late 40's to very early 50's in the Princeton math room. Then many Princeton mathematicians, particularly the game theorists, immigrated to RAND.

TJB: Is that how Kriegspiel arrived in Southern California?

CW: Well, I have a strong suspicion that that's how it got to southern California and to the high school students in Palos Verdes. Obviously we're pretty close, at least physically.

TJB: Mark Dawson's father [6] and some of his colleagues at Control Data and elsewhere played this game, sometimes at lunch and sometimes during evenings. Kriegspiel was a good game for a lunch break. Three people could play a round robin - three games - with each person playing once against each of the other two and serving once as referee. Games progressed adequately quickly, if the people did not take things too seriously.

Another thread that I should describe features my learning to program computers. When I was in the seventh grade, at Malaga Cove School [7] in my hometown of Palos Verdes Estates, my father Joel ("Joe") Buckholtz formed the Palos Verdes Peninsula Science Club [8, 9, 10]. Before I completed high school I had learned some electronics [11], ham radio, mathematics, physics, [12] and computer programming [13].

During my eleventh grade (1961-1962), Jim Ziegler, National Cash Register's manager for its El Segundo plant, served as the Club's first counselor in computing. Three other students and I spent Friday evenings programming an NCR 304 [14]. The NCR 304 was considered a medium scale business computer. At that time, it came with no software. We programmed in absolute code [15].

During the summer of 1962, I took a course at UCLA in programming IBM 7090s using FAP, Fortran Assembly Program. During the twelfth grade, Carl Balke of Computer Sciences Corporation [16] served as a Science Club counselor and I learned to program a Univac computer, possibly an 1106. I do not recall the programming language.

Based on my summer jobs starting in 1963, computing changed for me from a hobby to a tool [17].

During the three summers, 1968 to 1970, between my three and three-quarters years at the University of California, Berkeley, earning my PhD in physics [18], I worked as a Summer Research Appointee in Q Division [19] at the Livermore Laboratory [20].

My first day of Lab employment included a "welcome aboard" orientation. While I waited for that meeting to begin, Kelly Booth entered the room. He had come through the Palos Verdes Schools, one year behind me, and became the fourth Palos Verdes person [21] in four years to enter Caltech as a freshman [22]. He was about to continue to follow me for one more step, having been admitted to Berkeley [23]. So, after a year apart, we, in effect, got reacquainted.

During the summer of 1968 Kelly introduced me to you, George Michael [24], and the two of you introduced me to Charles Wetherell. All three of you worked in Computations Division.

I had had a dream to develop a computerized Kriegspiel referee. When I learned that Kelly and Charles were working with a computer that was destined to support at least three graphics terminals, I proposed that we develop such a referee.

Do you think we should describe the game now, describe it later, or just cite the relevant papers [25]?

GAM: As you wish!

CW: Perhaps I can answer the personal history question first. I didn't know any of these people before I came to LLL for the first time. I went to Harvard as a mathematician but came out a computer type and had gone on to Cornell as a graduate student. A friend from Harvard called me up and said, "Gee, if you want a summer job, there are these great jobs at Livermore". It was in the period during which Livermore was hiring interns by the bushel basket for the summer. I had missed the application deadline, but I sent one anyway. After a rather strange telephone interview with Lowell Wood, I got an offer, packed up the car, and drove across country to a new adventure.

And so I came out to Livermore in the summer of 1968 for internship, met Kelly during that summer, and was assigned to work on the Gordo [26] system, which was then in its beginnings. I don't recall that it was very useful system then because the time sharing software wasn't fully working yet. I went back to grad school, the Vietnam draft became severe, and I came back as a summer intern in 1969 and converted to a full time position in Computations which I held at Livermore until 1972. During that time, I was assigned a number of projects, but eventually got back on the Gordo Project. Kelly was also there and during that time I met Tom. I was doing a great deal of various kinds of systems programming on the Gordo system and I've always been interested in the issue of computer games and games in general. So when Tom and Kelly talked about doing this it was easy to be sucked right into the project. In fact, I think I was the one that found the previous paper on Kriegspiel that we cite in our paper.

TJB: While we are on the subject of papers, permit me to note that Charles found the references and led the way in developing the two papers, which we published in The Computer Journal [27].

CW: So that's how I got into this.

GAM: Great, so at some point the three of you just decided let's do this on the Sigma-7 system? How did you do it?

TJB: I treated this as an "off hours" project. During the summer of 1968, I produced a working referee that I tested and verified using the operator's console which was a Teletype ASR-35 [28].

At the time, I was living in an apartment in Berkeley [29]. From one Friday evening through the end of that weekend, I designed and coded on paper a Kriegspiel referee. My only other activities for that weekend were sleeping, exercising, and eating. The result was approximately 500 lines of FORTRAN code. I believe that shortly thereafter I spent a week in Livermore and Pleasanton sleeping in the detached room behind Kelly's home on Vineyard Road. During the evenings I keypunched the program and tested the code.

The code compiled successfully on the first try. I used the operator's console to enter moves for a brief game of Kriegspiel. The referee worked well including detecting and reporting some illegal moves. On the fourth move, I had White checkmate Black. The program reported the check but not the checkmate. I had discovered a programming error. The program assumed that Black could escape check by having its king capture its own queen. There were a few other minor errors which I found and corrected.

Did we do anything else that first summer?

CW: I don't recall much of that except helping Tom maybe get on and off the machine and showing him how to use the basic system. The machine was pretty primitive at that time. The Gordo OS wasn't complete yet. To do interesting graphics things with FORTRAN, you had to drive the graphics workstations through the operator's console. I did a project around that time which involved drawing pretty pictures, but to do it I had to sit at the operator's console and run the program from the operator's console although the graphics would come out on the graphics consoles. We didn't have the timesharing system hooked up well enough so we could use those as full work stations yet. So outside of seeing Tom when I got there in the morning there wasn't much interaction at that point. We certainly weren't at the stage of writing the referee.

GAM: Did you get anyone else to, shall we say, battle test it?

CW: No, not at that stage. Because there wasn't anything to battle test in some sense. At that point, what Tom has described is really a chess playing referee, because chess and Kriegspiel are so close together that the Kriegspiel part only comes together when you can hide one player from the other. At the stage when you are driving from the operator's console you really couldn't do that. So you had to use your imagination to think it was Kriegspiel at that stage.

TJB: I believe that, after each successful move, the computer printed the two players' positions via the operator's console. The printout showed both the official White and Black pieces, as digits or characters (e.g., "K" for white's king or "k" for Black's king) on one board. Although all the rules of Kriegspiel that were be included in later versions were present, the program lacked the abilities to show White's and Black's boards separately and to track each players' use of opposing pieces (for example, White's positioning of black pieces on White's board).

CW: In any case, Tom should continue the narrative because at that point Tom had a code for the logic of the referee function, but we didn't have anything to use it on yet.

TJB: Actually, my part of the story can be told rather quickly at this point and you, Charles, can fill in considerable information about the overall endeavor.

As far as I recall, no progress was made between summers. Eventually - certainly by the summer of 1970 - we had a complete system. Three graphics terminals were used. For each game, the person or persons at one terminal could play against those at another terminal, while the "kibitzers" at the third terminal saw a chess board with the official White and Black pieces but not the unofficial pieces (White's placement of black chessmen on White's screen and Black's placement of white pieces on Black's screen).

One or only a very few games were ever played using the system. An actual game played on the system is reported in one of the papers we published in The Computer Journal.

CW: There were certainly many test efforts, but only a few complete games.

TJB: Let me say a little more. Then Charles and Kelly can fill in the rest, because you know best what you did. In particular, let me discuss the published game.

I was one of five or six people who entered graduate school in September 1967 in the Physics Department at Berkeley after graduating that June from Caltech [30, 31]. At least three of these people worked at the Lab [32].

We drafted Doug Eardley to play White for this game. I am not certain whether he had played Kriegspiel before. I assisted him. According to the transcript of that game [33], Black's first name is "David." David's last name contains four or five letters, the first four of which are "Book."

In any event, the game turned out to be suitable for publishing as part of the 1972 The Computer Journal article. Black moved his king into the middle of the board. I recall that, on move 9, Doug and I had enough information to believe we had a choice between capturing Black's queen and checkmating Black.

CW: Yes, it's very hard to read in the paper because of a silly mistake the publishers made, but in move 9 the comment is "White thinks I could possibly take his queen, but I think there's a mate". Then White moved and made a checkmate.

TJB: A photograph of a computer screen, reproduced in the article, shows the final position. When you, Charles, arranged for the cameraman, you replayed the game based on the printout from the actual game.

It was wonderful that this game had such a good ending and was short. The game definitely was suitable for publication in that paper. We owe much to David for moving his king toward the middle of the board.

CW: I also remember at the time that it struck us all that this was a particularly fortuitous game and it was nice to be able to publish it as is, no editing of the game. I think that two or three other games were played, but in fact the system was still so clunky in some ways, partly because of the early stage of the hardware and it was an awkward game to play. We must remember the hardware on which the program ran had an instruction cycle rate of 1.2 microseconds per instruction and a memory rate of 0.85 microseconds per word fetch. We are sitting in a room that has an Apple IMac in it that has roughly 300 to 400 times the speed of the Sigma-7 instruction cycle and certainly 50 times the speed on the memory cycle.

GAM: Well, it's been thirty years Charles.

CW: I don't disagree that it was a long time ago, but still it made actual play awkward. It was a calligraphic display with light pens rather than a pixel- based display with mice.

TJB: Much could be accomplished using just a light pen. To move, a player poked "Move", a chessman, the destination square, and then "Complete" [34]. I thought that was reasonably easy.

CW: If you look at the pictures you'll see there are little white dots in the centers of the squares and the little white dots are where you had to poke the light pen to tell which square to move to.

TJB: Yes. I am not certain that those pokes were much more difficult to accomplish than are specifying a point or selecting a small icon using a touch-pad mouse with some of today's laptops [35].

CW: As I recall, the hardware was slow.

TJB: Perhaps. I do not recall that. Players were happy.

CW: Tom hasn't actually told all of his part of the narrative because for publication, we published the director in two papers. One paper was called the director of Kriegspiel and it covers the program which manages the whole process, so one should think of it like a chess tournament director who manages the players and the play of the game, not just the individual moves. The other paper was published as an algorithm and it's the referee, the part of the program that actually knows the rules. Tom mostly worked on that. Tom had written the FORTRAN. To prepare it for publication, he and I spent something like a week of nights spread over two or three weeks putting comments in, very carefully aligning the code, and on. We would have liked to use an modern text editor, but we did all our work on paper and coding sheets and then keypunched the changes.

We also simplified the code in the sense that any code anybody has ever written always has things that in retrospect you wish you hadn't done. We spent a lot of time organizing the logic, time where I primarily was editor and critic for Tom and Tom provided the entire original program and most of the thinking about it. It's interesting to look at it now. We also did a little formatting and structuring. I realized the other day that it might be interesting to go back as an exercise and both understand how good we were at that in 1969 and also rewrite it in a more modern language and see if it really needed a lot of change.

The one thing I noticed we did when I was looking at it was we put all the argument passage in equivalence blocks because passing many arguments was (a) not the style in FORTRAN and (b) very expensive. But nowadays we would probably encapsulate some of this stuff in objects and it would work better. But actually it's a fairly tight routine and I've looked at a lot of the games literature and I've never seen a chess referee that catches all the rules that's any better than this.

GAM: That would be an interesting to invent something like that, I'll grant you that.

CW: Maybe there's no interest in such an algorithm. Apparently everybody who writes chess programs always writes their own and my suspicion is there are some that don't get all the rules right. I think Tom did get all the rules right actually.

So the other part of the story is that we had to have a director and the director is a family of programs, actually more than one, which had to be used to run this. If two players wanted to sit down, how would they actually be able to play the game.? The director had to do things like put boards up on the screen, record the moves, transmit the moves to the other player, transmit the move to the referee for legality checking, and we decided in our humorous way that there ought to be a kibitzer as well. So there was a third console active where somebody could sit and watch both sides of the game and who, we presume, would want to make sarcastic comments to both of the players.

We also put in a facility with which you could make comments directly to the file, which nobody else could see, so in the record of the game you could record your thinking about what you were doing without the other player knowing and it would be there for later. I think that was my idea. DeGroot had published a book about the psychology of chess players and I thought we might have a publication about the psychology of Kriegspiel players. Unfortunately, there was only one game published so it would have been a very short book. But that was the idea.

TJB: Is ours the only published Kriegspiel game?

CW: That's an interesting question, I actually have been reading several places lately about Kriegspiel and I don't recall having seen another game right off hand.

TJB: Is Kriegspiel still played?

CW: Oh, Kriegspiel is still played. It's still an interesting game [36].

TJB: No one of the three of us had reason to continue to use the automated referee we had built.

CW: There was no community of Kriegspiel players there at the Lab. It was always available, I think we would occasionally demo it to people.

GAM: Well, let's just jog then a little bit here. I think you speculated once before about the other uses of this technology.

CW: What I'm seeing when I go back and reread the paper is we cooperating sequential processes although I'm not sure that any of us knew them formally by that name at the time. I know we knew about semaphores because we explicitly coded semaphores in the communication mechanism. We also used the term "monitor" in there but its not in the sense of C. A. R. Hoare monitors. But we very definitely thought of this as a network of cooperating programs that signaled each other through message passing bumpers and semaphores. This is a very early instance of a network of that sort and it was in principle indefinitely expandable. Although in practice, because we had to write almost entirely in FORTRAN for convenience, it was difficult to code and the limitations of FORTRAN were such that it was not a particularly nice implementation in terms of its character.

GAM: I think it is not correct to call it early FORTRAN. By 1969, FORTRAN had been in use for about 13 years. It's probably more accurate to call it Primitive FORTRAN.

CW: Well, it was the FORTRAN on that system. We intentionally restricted ourselves to what is now called FORTRAN 66. We might have inadvertently used some extensions, but that was not our intention.

GAM: Was it the Digitech FORTRAN?

CW: I think that the Sigma-7 compiler may have been the Digitech compiler.

CW: FORTRAN in general is not the language one would choose to do this kind of implementation, even nowadays. So, for example, message-passing buffers were basically in fixed locations. Whereas they ought to be in allocated locations in the modern terms so you could allocate as many of them as you needed. That, however, I see as unessential to the logic of the problem. We had the logic of a cooperating network of programs. Indeed, you actually started a master program which, in turn, started the slave programs to run the thing and then put itself away in the background and, sort of like a spider on its web, managed the network from the background.

TJB: As I mentioned before you (George) turned on the tape recorder, I recommend you discuss the overall impact of the Kriegspiel project with Kelly. A few years ago, when I was discussing the project with Kelly, he suggested that what Charles and he learned from this project became the key ingredients for many, if not most, of the war games that were developed at Livermore.

CW: I should say Kelly and I did all of the director, Tom didn't do much with the director outside of maybe sit there and throw stones at us when it didn't work. Kelly did most of the implementation of the cooperating processes and I did most of the implementation of the game board, the user interface, and connecting to the referee. I also did most of the testing. Then Kelly and I probably shared equally in the logic and design of the message passage system and whether particular functionality was going to belong to a user interface, to the message passing system, or to the central director master program. We thought explicitly about things like race conditions and so on. We were aware of that kind of logic. I recall very clearly that we solved some race condition problems. I don't know that we solved them all and since the code has long since been lost, as far as I know, it would be unlikely we'd be able to find out. But we definitely thought about all the problems that people think about in modern multi-processing. The other interesting thing about this was these were independent programs. Although they ran on one machine, there was no logical reason they couldn't have been run across a network. They didn't, but we were actually treating them as if they had.

GAM: You can assume certain scenarios in which the behavior of the referee will reveal more to the players than it should. So how did you communicate to the referee a possible move? Just let him see it or tell him about it or what?

TJB: The referee was designed not to provide more information than the conventions of Kriegspiel dictated. And, it was a program, not a person. So, it did not do something unintended.

GAM: I understand that, but you've still got to indicate your proposed moves!

TJB: A player specified an intended move through light pen pokes. Charles' and Kelly's code conveyed that information to the coding that served as the referee. Neither the other player nor the kibitzer knew, at this instant, that a move had been attempted. If the referee decided that the move was acceptable within the rules of chess, the kibitzer would see an updated board and the opposing player would receive information dictated by the conventions of Kriegspiel. All this is true until the end of the game, when anyone could request and receive a complete printout of all moves attempted.

GAM: And what if it comes back and says "That's illegal?"

CW: This is probably the appropriate time to define the essential features of the game Kriegspiel.

TJB: You are right. We have discussed some aspects so far. You, Charles, did a wonderful job on this when you wrote the papers. That explanation is doubtless more concise that what I say here.

A Kriegspiel game features two people playing chess against each other. All the rules of chess (with the exception of conventions about forced draws) apply, but each player has his own board and cannot see the opponent's position on the other board.

Indeed, a player can place chessmen of the opponent's color, coins, or other objects on the board to indicate the player's guesses about the opponent's position. Such memory aids are not part of the official game.

With our Kriegspiel monitor, a player was allowed to put any number of opponent's pieces of any type on his own board, subject to two limitations. One could not put an opponent's man on a square occupied by one's own chessman. One could not put more than one opponent's piece on any one square. Also, I should note that we did not provide an analog of "coins."

As I had seen the game played, only two boards were used, with the White pieces being official on one board and the Black pieces on the other. Usually, the players sat facing each other with their boards between them and an adequately tall, wide, and opaque "divider" standing between the two boards [37]. The referee positioned himself at one end of the divider and mentally superimposed the official positions of the two players. (I recall rumors that some referees used third boards, maintaining the actual chess positions thereon as aids to themselves.)

I was proficient at refereeing two games simultaneously. This required four chess boards and one long divider. I stood at one end of the divider. The two players nearest me faced and played against each other. The other two players faced and played against each other. My main challenge was to maintain a normal degree of referee-generated "banter" and convey the required information without slowing down either the "near board" or "far board" game. Accuracy in refereeing did not prove a challenge.

Because all the rules of chess (except conventions about forced draws) apply, the two opponents know each others starting positions. Such "complete knowledge" usually dissipates starting with the first or second pair of moves.

Let's say it is now White's turn to move. White attempts a move.

If the move is legal, based on the rules of chess as applied to the situation defined by White's chessmen on White's board and Black's chessmen on Black's board, the moved man remains at its destination square on White's board. The referee removes from Black's board any pawn or piece that was captured (without showing that chessman to White), may make some announcements I will discuss later, and announces that it is now Black's move.

Instead, had the move proven illegal for reasons White could not have known, the referee would have announced "No" to both players, White returns the chessman to the square on which it resided just prior to the attempted move. White has the opportunity and obligation (unless, for example, White chooses to resign) to attempt another move.

Typical reasons for receiving a "No" include moving through an opponent's chessman or moving into check.

So as to be fair to Black, the referee has the discretion of announcing a different type of "No," sometimes stated as "Heck-No," if White attempts an obviously illegal move. Referees use the "alternative No" in situations such as White's attempting to move a bishop like a knight, making a move that cannot possibly (under any possible configuration of Black pieces) get White out of a known check, or repeating a "No" move on the same turn. These "alternative no's" were included in our automated Kriegspiel monitor.

More subtle forms of potential Heck-No's exist. This type of announcement can be used for attempted moves that a player could have deduced, from his knowledge of the opponent's position, to be illegal. Our automated Kriegspiel monitor was not programmed to do this.

Having explored the realm of No's and Heck-No's, I need to return to the realm of a legal move by White and the topic of the announcements a referee might make before announcing "Black," meaning "it is now Black's move."

These announcements depend on the Kriegspiel rule set being used. I know of two rule sets, "Western Rules" and "Eastern Rules." Under Western Rules, these referee announcements contain more information than under Eastern Rules. Both rule sets are described in the 1972 paper in The Computer Journal. Charles, Kelly, and I built our system so that the players could choose which rule set they wanted to use [38].

The Southern California aerospace Kriegspiel community used Western Rules, so let me describe them.

For a capture, the referee announces that the captured chessman is either a "pawn" or a "piece," but in the latter case does not specify the type of piece.

If the move leaves the other player in check, the referee announces the number of checks - "single check" or "double check" - and specifies the nature of each check - "horizontal," "vertical," "long diagonal," "short diagonal," or "by a knight." The directions and lengths of the diagonals are determined with respect to square on which the now-in-check king resides.

If the move leaves the other player with the opportunity to make a capture by moving a pawn, the referee points on both boards to the square to which the pawn would move to make the capture and announces "pawn try." When either of two pawns can make a capture on one square the referee points as previously described and, instead, announces "double try." For situations in which there is a potential for an en passant capture, the referee points to the empty square over which the pawn that can be captured passed during its just-completed move.

Under either rule set, a player may resign at any time. The players can confer and agree to declare a draw. We implemented these features in our automated Kriegspiel referee.

Human referees have discretion to encourage a resignation or a draw. We did not implement automation for this.

Charles, is there anything else to Western Rules?

CW: I don't recall. The comment I would make that isn't so obvious. Kriegspiel was originally developed as a variation of chess for the purpose of adding the fog of war to what is otherwise a game of complete information and it is a way to remove information from the game. Unfortunately, I don't think it's a very successful game of incomplete information in some ways, but it is interesting.

GAM: I have a memory of playing it as an amateur and I would move a piece and the referee would say "no good" and I'd take it back and try another one and was able to build up via a number of moves before I got done, a fairly good idea of where my opponent was located.

CW: That's right and that's the point in the military sense. You sent out a patrol and if they didn't come back, "well, there was somebody there". It's sort of the image you're supposed to have. Unfortunately, it's one of the reasons it's not been as popular as it could be, not only does it take three people but because it's clearly not as good as some other games of incomplete information.

TJB: But Kriegspiel does have some nice features.

There is no external element of chance such as occurs in games that use dice.

While a group of players do, over time, find out which players are generally better than other players, there is still potential for meaningful games between players of unequal skill and experience. A lesser player can have a reasonable opportunity to win against or tie a more experienced player. It is my obviously unverified opinion that the "breadth of reasonable competition" spans a wider range of skills than is found for chess or tennis.

CW: Now, lets go back and answer George's question of how does the referee in the Kriegspiel system know what's going on and how do we keep the information separated from the users.

In a real game, the way is to imagine how the opponent sees it. I always imagine it as the two players separated by the screen. In human terms the same person is both the director and the referee, sitting in a tennis umpires chair with the full board laid out in front of him where neither of the players can see it and saying no, or yes, or capture, or foot-fault, or whatever the appropriate ruling is to the players. Tom actually describes something fairly similar to that when he was an active player.

In the case of the computer version, again there is a master program controlling all the user interface programs. The user interface programs are either the players or kibitzers. Now the kibitzers always get to see the whole board and everybody gets to see the public log. The players and kibitzers both get to see a private log of their own as well. The master program merges all of these logs together in the final game record. If you look at the photographs in the paper you can see that each player and the kibitzers have a variety of things they can do at any moment.

Now let's consider how a move is made. When a player moves, that becomes a communication request to the master. The master receives the communication and, without doing anything to the other players and kibitzers, examines it and passes it on to the referee's subsystem and then gets back a response from the referee. Notice the referee could be thought of as either another part of the psyche of the master, if you would, or as a subordinate wholly controlled by the master and locked in a closet where nobody else can see. You can think of it either way.

In any case, the referee passes on the legality of the move. In Tom's implementation, the referee passes back a great deal of information about the move such as long or short diagonal for a check, whether the move was legal, and if it was illegal, how it was illegal. The director takes that information and makes up a response to the moving player, for example, "no you can't" and also, if appropriate, makes up a response to the other player and to the kibitzers.

That's how we isolate the director's chore of processing a move and make sure the other players see only what is appropriate. The director mediates all communications. By the way, the other player and the kibitzers might be making simultaneous requests and the director knows that. Tom might be making a move while I simultaneously am hitting my resign button and in fact what will happen is he might be allowed to make his move or I may manage to resign before he gets it made. In any case, I will certainly be allowed to resign after he gets it made and one way or the other both of these things will get done. But he won't know that I am resigning while he is making his move and I won't know whether he is actually making his move or if he's gone out for a drink while he's thinking about his move, because the director will mediate the communication between us.

GAM: That's somewhat extreme but, all right, I understand what you mean.

CW: That was the whole reason for separating the two papers. One is about the director and one is about the referee because they solve different problems. One solves the problem of "what's a legal move" and the other solves the problem of "how do we mediate communication?" where there are different patterns in communication between different people and the messages may need to be filtered and transformed as they go from one person to another. You may not get the message that was sent; instead, you might get a transformed message.

TJB: Do you think we can claim we built the first, or at least an early, "chat room?" Perhaps we cannot claim to have facilitated the first e-mail-like messages, but we did provide for communications between the parties.

CW: Exactly right, this is very similar to a chat room. Because of the kibitzers and the messages between players,

TJB: We facilitated up to [39] three parties' communicating with each other. And they had a topic of mutual interest - a Kriegspiel game - to discuss.

CW: That's right. This is exactly chat room software. Whether it's the first or not, it certainly is very early. But the issue of the design was very conscious of these issues of mediation and serialization and appropriate forwarding of messages. There was real development and ideas there. Whether or not we were the first in the world, I don't know.

TJB: Well, let's leave these thoughts in this oral history. Perhaps some day someone will provide us feedback. How do you feel about similarities to e-mail?

CW: This is not really an e-mail system. The intention was to provide conversation, not memos. I think that we did succeed, if clumsily, in our intention.

TJB: OK.

CW: But what I'm pointing out is that I think it might have been before the Plato chat rooms. So I think it might conceivably be the first ever chat room. That is a possibility.

GAM: Beyond that, without much effort, one can think of an enormous number of applications for such a capability, in an ordinary human situation.

CW: Absolutely, one can and we thought of it this way. We actually say in the conclusion that there are a few of the applications. We weren't inspired enough to push it further than that unfortunately. We did mention a business-oriented game and access to a database, which was interesting. But you are absolutely right in saying what you say and I think it's exactly the sociology of Livermore and of the computing environment there that kept this from having more influence. Before I go much further, it isn't that the ideas weren't sound and that there wasn't a sound implementation. On the contrary, I think it was.

GAM: If there hadn't been sound commentary, you wouldn't have been able to do what you did if you were working today.

CW: At Livermore?

GAM: Yes.

CW: No, but I could do it at home. Actually, this is a side comment, but I think it is important to the history. The Gordo terminals which were full graphic terminals, although their full implementation was much different from modern workstations, the effect of using one once we got it entirely working, was very similar to what we do nowadays. It was very similar to the UNIX system in some ways in terms of being a binary command system. It had a good editor, it had compilers, it had graphics, you could run independent programs, we could run sets of background programs. In practice, I think this was the only case where we ran a background program, but the capability existed. Actually, except for the fact that the monitors were themselves physically gigantic, it really wasn't much different from using a workstation nowadays. I was always very unhappy there were only four of them and they were all down in the computer room and we had to hike down there; they should have been in our offices on our desks. But that was physically impossible. Simply the size of the cables that connected it in those days was huge.

GAM: Yes, I remember there was some consideration about using storage tubes for this game. I don't know if it ever happened or not. You know the Tektronix storage tubes.

CW: I remember the Tektronix tubes.

GAM: It saved the refresh bandwidth of the main computer.

CW: Yes, but there actually was none available for Gordo. It's interesting; if you were sitting quiescent there was nothing going on. The programs didn't sit and poll; they waited for an event from the graphics terminals or from the keyboard. It was a very modern implementation.

You were not sitting there polling. Most systems in those days did sit and poll. For example, CMTS had a lot of polling in it. Gordo had no polling The systems were not interchangeable. So to have tried it out elsewhere would have required us to completely redo the graphics, the user interfaces. And, indeed, we would have had to largely redo the director's I/O communication because that also had some special characteristics like that were not available on other systems. So no, we did not imagine doing that.

Later on, Livermore provided an early graphics facility with TV monitors to most users. We might have been able to move Kriegspiel then to other systems, but by that time Tom was a physicist and the rest of us were off doing other things. This was not very portable code for a variety of reasons, except for the Kriegspiel referee itself, which could have been easily ported.

GAM: Well, I can't testify to that, but I think it's a fascinating idea and I must admit that I look beyond tests for some of its inspiration.

CW: We should have, too.

GAM: So, not in summary, but to pick up loose ends, the implementation language here was FORTRAN?

CW: The referee was FORTRAN and almost all the rest of it was FORTRAN. We had to do a little assembly language for the semaphores in the communications interface. It wasn't much.

GAM: If you can remember, when you were running, was it powerful enough for other people to be using the machine for their purposes?

CW: Absolutely. It was a full time-sharing implementation.

GAM: So it was a good time-sharing implementation?

CW: The whole point was, as a matter of fact, the kibitzer could log on and log off while the game was going on. That's an excellent question. The way you started it was one person started and the other person came along and hooked in and then the kibitzer could hook in later. When you hooked in you chose your role, you said what kind of person you wanted to be. Now, again, we only implemented one kibitzer, The system only had four terminals so more than two kibitzers would have been sort of irrelevant. But in theory, you could have as many as you want. In practice, you could have one or not and they could come into and leave the system as the game is going on; there is no reason why somebody couldn't have been on the other consoles doing whatever they wanted at the same time. I suppose, in theory, there could have been two Kriegspiel's running simultaneously, but I don't recall that ever happened.

GAM: Well that's very good. I can't think of any other questions to ask you.

CW: I have two more comments to make. This is just a comment about Kriegspiel. I had noticed this before, in our bibliography and I'll bet we got this from Tom. We have, J. D. Williams, "Kriegspiel rules at Rand" from 1950, and is just about exactly the time that Nash showed up and when Williams was running the Math Department and, in particular, was importing all the game theorists.

TJB: Someone other than me must have found that document. I cannot recall having had knowledge of any literature about Kriegspiel. Nor can I recall meeting any of those people.

CW: All right, that means I probably have it someplace, I wish I knew where it was. It's interesting that J.D.Williams is the author also of The Complete Strategist. One of the funniest books about mathematics, anyway.

GAM: I think I have that book at home.

CW: Yes, it's the one in which they study the probability that a Prussian officer will kick a cavalry horse to death knowing the probability of cavalry officers being kicked to death by Prussian army horses.

Anyway, perhaps a few words about the Gordo operating system that made this possible. The operating system was implemented on the SDS Sigma-7, which eventually became the Xerox Sigma-7 System. The Sigma-7 was a 32-bit general-purpose computer similar to, but not identical with, the IBM 360. The things that it carried across were the 32-bit memory and EBCDIC numbers. That was long before the IEEE thought about floating point. It carried across very useful character smashing instructions. What it didn't carry across was the rather complicated addressing and variable length instruction formats of the 360 and that made it a much simpler machine to compile for and to program. It was quite a nice machine in some of its architectural details, but unfortunately they've been lost.

It also had built in hardware support for virtual memory. Just to prove that people should remember what all that means, the virtual memory could be no larger than the physical memory, but the provision for virtual memory allowed you to have different memory spaces easily for different users so that you could memory protect one running user from another. This was a feature that was not available on most hardware systems and, for example, which bedeviled the CTSS time-sharing systems at MIT for a long time because the earlier IBM systems hadn't supported that. It was hard to do, although possible, on the 360's; on the Sigma-7 it was very easy.

So the two designers, Ken Bertram and Gary Anderson with the help of Dick Conn and a consultant, Butler Lampson, came up with a paged time- shared, fully protected operating system and, since it was to be used for graphics, we developed a graphics subsystem that also was, interestingly hardware time-shared itself. In fact, there was only one display list for all the consoles, so we had to figure out a way that your graphics didn't appear on my screen and vice versa. That was done actually by the support hardware and device controllers; it had essentially a tiny little resource sharing implementation of its own. It was rather clever. The whole system was rather slow hardware by modern standards, but relatively quick by the standards of its day. It was quite fast actually for things like floating point.

GAM: It was comfortably fast. I attributed that to the fact that there weren't very many users.

CW: Well, it wasn't just that, it actually was a quite a comfortable machine. Because the O/S was easy to program. The innovative O/S that was similar to the O/S's in some ways that had been done for Manchester for the ATLAS machines made it very easy to program lots of things. In particular, for example, we had shared libraries for FORTRAN long before that was common. That was something I implemented actually. We had shared system calls for all programs. Again, that was long before most systems had things like that. We had no I/O subsystem because memory and disks were made all one system and it meant that I/O was just writing the memory. A very straightforward operation, very pleasant. It also allowed many sub- processes, again, a modern idea. All that meant the implementation of the director was much easier than it might have been.

GAM: See, I attributed all that good stuff to the fact that people had learned from the 940 system at Berkeley. They had the advice of Butler Lampson and their own good sense and there were just a few of them instead of the Mongolian hoards.

CW: I think there are a number of useful issues there. I think the 940 is probably right and I think that Butler Lampson helped with basic ideas a lot (although that was before my time on the project). I think part of it was the hardware. The hardware made a couple of these things, like the virtual memory system, very easy to do. It made the process swapping very easy to do compared to a lot of other systems of its day or maybe even of today.

GAM: I certainly don't wish to start an argument but I'm not convinced you need virtual memory systems.

CW: The virtual memory sharing between users �

GAM: made it very useful.

CW: Yes, what's interesting is the feature of the virtual memory that we used primarily was the fact that it could memory map pages. In fact, a particular user's memory space was mapped into different files. Files included ordinary data files, but they also included the system software and the dynamic memory for a particular process. So, for example, the system resided at the upper end of every process (that is, it was mapped there), but there was only one copy of it and it was memory protected from the user under normal operating conditions. It meant, for example, interrupt switching was very straight forward; all you did was swap the memory map and suddenly the program could actually execute instructions when previously it couldn't. The instructions were suddenly mapped them in supervisor mode; those instructions were already in your memory space. That aspect of the hardware made life much easier compared to the contortions you'd have to go through on the 360 to provide the same level of security and speed of switching simultaneously.

GAM: All these features you're talking about were available on all the PDP 10's.

CW: PDP 10's were later.

GAM: No.

CW: Certainly not earlier.

GAM: PDP 6's then if you will.

CW: Perhaps, but they certainly were not made use of in as elegant a manner. This was a very elegant system; elegance and simplicity was a big deal here.

GAM: That's right but that's because you were few in number and you knew what you were doing.

CW: I think it did have something to do with the fact that we were few in number; I don't necessarily think it was because we knew what we were doing. Because some of the things we developed were definitely serendipitous. There was no question about that. There were some things that came along because we didn't know what somebody said or they said "what if we?" There were certainly a few bright people working hard. I think a comparable operating system of all the ones that were around at the time and the one that had actually more, Gordo should have had an equal influence with this one, but didn't, and that's the Burroughs 5000/5500 operating systems. These were comparable in simplicity and style and had much more influence even if they weren't commercially successful. People learned from them and applied the ideas in many other places.

GAM: Burroughs made the mistake of having some really smart guys running their computer planning stuff initially. They were very good.

CW: So those are my comments on Gordo and the elegance and simplicity that made this project possible. I would not have been willing to attempt this on the Laboratories main computer systems. I don't think it would have been possible; the mechanism would have just been too cumbersome.

GAM: That's a very good point, a very good point.

CW: And actually I would not have been willing to attempt this probably on a UNIX system until at least the mid-80's for similar reasons. Because, in particular, the process communications and graphics controls were not really available until somewhere around the mid-80's on most UNIX systems. I'd have been ready to do a text-oriented version of it, but not one with a graphic user interface. It would have been very difficult, unless I could have had my friend the wizard Emacs programmer do the user interface.

TJB: Speaking of graphics, I was looking at our first article's pictures of screens. I find the screens useful, simple, and well designed from a player's perspective. Did you learn anything in terms of graphics techniques while building the Kriegspiel referee?

CW: No, I don't think that we did.

TJB: The underlying system was based on vector graphics, as I recall.

CW: Yes, the displays on the Gordo system were calligraphic and required subroutines to do things; standardized subroutines were available in a standard library that everybody used to put text at a particular point, to change it, to draw lines. So it is quite simple, notice we do not try to draw chess characters. One of the problems with the calligraphic system was when you started to overload the calligraphic display, it slowed down and also had a tendency to overshoot on tight curves. But it did have hardware to do characters that was more accurate and so everything was sort of a chessboard with letters for the pieces rather than little drawn chess pieces. It was natural and easy.

The rest of it was just sort of a natural layout on the screen. I recall thinking, and this is the part where Tom was a help, about what kind actions we needed, trying out this and that and then coming down to the set we had. For example, over to the right on the screen, one of the actions allows you to create an opponent's piece. The idea is you might want to say, "Oh, he has another queen now, I better put that on the board. I've just figured that out." So you could click on the Kriegspiel opponent and then there was a list of the kinds of pieces he could have. It's interesting that your pieces were always in capital letters and his were always in lower case, so you could click on one of them and put a queen or something someplace on the board. You could also kill them and so on. At the end of the game it shows the real positions of everybody, the real board.

GAM: One board?

TJB: At the end of the game, the position of both players was displayed on all three screens, whereas before then only the kibitzer saw the combined official positions of the two players.

At no time were one player's estimates about his opponent visible on a screen used by the other player or the kibitzer.

The printout - available to anyone after the end of the game - documented all attempted moves, all changes recorded by players of their estimates of their opponents' positions [40], all messages sent by the participants to each other, all attempts to ask an opponent to agree to a draw, all "thoughts" sent by participants to the "game summary" (that is, the file that would become the basis for the printout), and any voluntary resignation ending the game.

Participants typed their "messages" and "thoughts." Messages were delivered immediately to all parties, paralleling the concept that they would have been spoken aloud if the referee were human. Thoughts were sent only to the transcript file.

CW: That's right. And all this is where Tom helped us understand what needed to be in the commands.

GAM: Thanks for a most interesting chat.



[1] Mark went to college at UC Berkeley. I took over his half of an apartment when I arrived at Berkeley for graduate school. Later, he received a law degree from Hastings, served 20 years as a lawyer in the U.S. Navy (retiring as a Commander), and subsequently became an administrative law judge and supervising judge for the Social Security Administration.

[2] During the summer of 1963, I was Douglas Aircraft's second-ever employee ever under the age of 18. I wrote payroll programs in SPS assembly language for use on the IBM 1401 and project management software in COBOL for use on the IBM 7094.

[3] During three summers with Hughes, I did a variety of work within one department. In 1964, I helped pioneer downward-looking radar by writing programs for the guidance and control computer in F-106 aircraft. The computer was the Hughes MA-1, an early 1950's drum-based computer with a total of 13 magnetic cores. In 1965, I programmed the replacement for the MA-1 and helped design the instruction set for a proposed airborne computer. In 1967, I developed routing algorithms and graphical plotting techniques for circuits on printed circuit boards.

[4] I improved a satellite re-entry trajectory simulation software system and added, for example, graphical output. General Motors delivered the new system to NASA during 1966.

[5] A Beautiful Mind. Sylvia Nasar, Touchstone, 1998.

[6] I recall later writing a program for him to use on a CDC 160-A which he used for some of his work.

[7] Malaga Cove included grades one through eight.

[8] The first meeting to explore the concept was held in my family's living room and included Peninsula parents and at least one Malaga Cove teacher. At the beginning of each school year (for about a decade), the Club held a meeting in a school auditorium. Students met the adults who would serve as counselors for that school year. Students signed up the counselor or counselors of their choice. Each counselor represented an area of science or technology. Then, each counselor (occasionally, two adults teamed up to teach one subject) and the counselor's group of students would meet as frequently as they chose. The main function of the Club itself, after each year's initial meeting, was to carry insurance in case of an accident.

[9] The Science Club proved to be the model for the founding and operations of the Palos Verdes Peninsula Arts and Humanities Club. To the best of my knowledge, neither organization made much use of school facilities, other than for their annual kick-off meetings and � at least in the case of the Arts and Humanities Club � for end-of-the-school-year meetings at which people demonstrated to each other what they had accomplished.

[10] My home, at 2729 Palos Verdes Drive North, proved a creative place. When I was about 12 years old, I proposed to my father the concept that was later implemented as the Palos Verdes Estates Shoreline Preserve. At the time, he and his colleagues were defensively countering proposals to develop Palos Verdes Estates' four miles of virtually untouched coastline and 700 acres of parkland. Proposals included marinas for Malaga Cove and Lunada Bay, a building for an "oceanographic society," tennis clubs, parking for the Malaga Cove plaza, a city hall, and a city yard. I suggested proactively developing and implementing a different agenda, namely a wildlife preserve. My idea was eventually implemented as the Palos Verdes Estates Shoreline Preserve (before the creation of the California Coastal Commission) and remains alive and natural today.

[11] The counselor was Milton Clauser, who was then or had been Vice President for Research and Development of Space Technology Laboratories (later a part of TRW). After his work at STL, he founded a company that made atomic clocks, led MIT's Lincoln Laboratories, and served as Academic Dean for the Naval Postgraduate School in Monterey, California. Milton and his family had been next-to-next-door neighbors of my family (my parents Joe and Sylvia Buckholtz and myself) around 1954 and then moved to Rolling Hills, another city on the Palos Verdes Peninsula. In the early 1970's, I recall spending one or two nights in Milton's and Virginia's home, which was the Naval Postgraduate School's Dean's on-campus residence. They later built a home in the hills above Monterey. My wife Helen and I spent at least one night there and visited them at least one other time. Milton and his twin brother Francis were Caltech PhD's. Helen and I met Francis first in the 1970's or 1980's in the course of his being a faculty member at Caltech.

[12] Work I did with guidance from an industrial physicist, Art Wannlund, became the science fair project, "The Effects of Temperature and Concentration on the Electrical Conductivity of Chloride Salt Solutions," with which I won first prize in Physical Sciences for the Junior Division (seventh through ninth grade) of the 1960 Southern California Science Fair.

[13] Few pre-college students had access to computers in 1961.

[14] Jim drove us to and from the plant.

[15] I wrote a software program for factoring numbers. Jim typed 9876543211 into my program, which determined it to be prime. The numbers 2 greater and 2 less proved to have very few factors.

[16] The computer was located in CSC's headquarters building on Pacific Coast Highway in a city (possibly El Segundo) north of Palos Verdes. I recall that previously, CSC's entire corporate office space had consisted of two suites in the Malaga Cove plaza.

[17] In the mid 1970's, computing would become a focus for my work.

[18] The theoretical research and the computational proof that the results of my theory meshed well with existing theories at the limits of their applicability were done at the Lawrence Radiation Laboratory, Livermore. My thesis, "Statistical Mechanics of Two-Species Plasmas, with Applications to White Dwarf Stars and Metallic Hydrogen," was reprinted as Lab report UCRL 51055.

[19] Q Division emphasized theoretical laser physics. I worked with Hugh DeWitt, a theoretical statistical mechanician who was employed in that division and guided several Berkeley students to their doctorates. Many of those students had no relationship with the Lab. I did not work on laser physics.

[20] Toward the end of the second summer, I returned home and worked for 6 weeks at TRW.

[21] Lee Neidengard, John Tucker, I, and Kelly Booth graduated from Caltech in 1965, 1966, 1967, and 1968, respectively. We probably had one teacher in common � Francis Lowery � who taught calculus, first at Narbonne High School and then at Palos Verdes High School. Narbonne is a Los Angeles School System school to which the Palos Verdes School District sent its tenth through twelfth graders for a few years. (I attended Los Angeles district's Alexander Fleming Junior High School for my ninth grade and Narbonne for my tenth grade.) Then, Palos Verdes "unified" under the name Palos Verdes Peninsula Unified School District. The facility that became Palos Verdes High School was built by the Los Angeles district to be a junior high school. It was not so used. In 1961 Palos Verdes opened the facility as Palos Verdes High School. Francis Lowery's teaching allowed me to qualify for and take sophomore calculus as a freshman at Caltech. I took junior year analysis in my sophomore year. The professor was Don Knuth. We published two papers � "Computation of Tangent, Euler, and Bernoulli Numbers" and "Tables of Tangent, Euler, and Bernoulli Numbers" in Mathematics of Computation (1967) based on a term paper I did for that class. Later, Kelly and I attended seminars in Don's home on the Stanford campus.

[22] K. Martin Stevenson III lived in Palos Verdes and graduated in Caltech's class of 1969. I do not know whether he had been associated with Francis Lowery. K. Martin Stevenson Jr., a 1945 graduate of Caltech, was the manager of the A.C. Electronics plant, on Pacific Coast Highway just south of the Los Angeles Airport, at which I worked during the summer of 1966.

[23] He earned his PhD from the Electrical Engineering/Computer Science Department.

[24] Meeting George Michael was fortunate for me for more than just my launching the Kriegspiel project and our doing this oral history.

A. In 1976, George introduced me to Tom Follett. That year, I left my employment as a Physicist in T Division at the Lab to join Tom at Insurance Technology Company (a Teknekron company) in Berkeley. Actually, I worked at both jobs for some time and then served as a consultant to the Lab through January 1, 1977. Some of my Lab work produced what may have been the first paper announcing the observation of neutrons from a controlled fusion experiment ("Simulation of Neutron-producing Plasma Focus Targets", co-authored with H.L. Sahlin and R.H. White, UCRL 77707, 1976). Together, Tom Follett and I had key roles in building Teknekron's (and probably the world's) first automated document library that stored document images for more than a few days. That system is discussed in my paper "Large-Scale, Real-Time Document Distribution", in 3rd USA-JAPAN Computer Conference Proceedings, AFIPS and IPSJ, 1978. Technologies created for that project carried over into Teknekron's later company Integration Automation (which was eventually acquired by Litton) and, I suppose, the company that is now TIBCO. I left Teknekron to become the only other person in Tom's own company, Berkeley Technical Associates.

B. While I was with Insurance Technology, George introduced me to Henry Laxen. I hired Henry. Later, Henry offered me the opportunity to replace himself in his position as Software Manager at Friends Amis near Fisherman's Wharf in San Francisco. I accepted. Henry's and my work there contributed to one of the first general-purpose hand-held computers. After buying Friends Amis, Matsushita sold (I was later told) 70,000 of these computers, under the name Panasonic HHC.

C. Sometime around 1969, George recommended that, if I ever visited the Pentagon, I should meet his in-law David O. ("Doc") Cooke. In September 1989, between my job interviews with the Administrator of the General Services Administration and a staff member in Presidential Personnel, I went to the Pentagon and met Doc. He provided much appreciated advice while I served (1989�1993) as GSA's Commissioner for its Information Resources Management Service. My wife Helen and I enjoyed 1998 Thanksgiving dinner in Doc's home, with many members of his family. Subsequently, Doc arranged for General Colin Powell to autograph a picture, taken in 1991, of Gen. and Mrs. Powell and Helen and me. Gen. Powell also autographed my copy of his book My American Journey, and Doc placed his own initials near mention of himself on page 300.

[25] "A Director for Kriegspiel, A Variant of Chess", by C.S. Wetherell, T.J. Buckholtz, and K.S. Booth, The Computer Journal, vol. 15, No. 1 (1972); "A Program to Referee Kriegspiel and Chess', by T.J. Buckholtz and C.S. Wetherell, The Computer Journal, 1975.

[26] Gordo was the time sharing operating system, developed at the Laboratory for use on the Sigma-7 Graphics Research Computer System.

[27] I recall working evenings (and probably sleeping some nights on a sofa) in Charles' apartment. He took the lead in writing the papers and preparing a version of the core software of the referee for publication. I assisted.

[28] The Sigma-7 could be operated either under the Gordo system or under a system supplied by the manufacturer. The manufacturer's system was a kind of single-user setup a lot like running a PC under a simple DOS system.

[29] This was the apartment in which Mark Dawson had lived. I lived there at 2206 Dwight Way, Apartment 5, for 3 years, including those first three summers during which I worked at the Lab and co-developed the Kriegspiel referee.

[30] The others, undergraduate physics majors, included Doug Eardley, Andy Mackay, Mike Robel, and Duke Sun. Permit me to mention aspects of the careers of two other 1967 Caltech physics graduates. Doug Osheroff (a housemate of mine in Lloyd House) is now a physics professor at Stanford and has won a Nobel Prize. Ron Peterson (a roommate of mine) served as Chief Technology Officer for Honeywell.

[31] Permit me also to mention two other people I met in the Physics Department at Berkeley. Helen Chu entered the graduate program at the same time as did I. She had graduated from Berkeley and had been admitted (as had I) for graduate study at Caltech. We married in my family home in Palos Verdes Estates on November 22, 1973. We chose the day because it was Thanksgiving and because of the numbers 11-22-73. Kelly Booth suggested to us the judge who officiated at our wedding. Steve Chu (not related to Helen) entered Berkeley a few years after Helen and me. He and I met in 1970 when we both played on the department's intramural tennis team. We were housemates after I received my doctorate � from 1971 to 1973. He is now a physics professor at Stanford and won a Nobel Prize the year after Doug Osheroff.

[32] Doug Eardley, Andy Mackay, and myself. Andy provided the link to my first job after I received my doctorate. He brought me into a startup company that wanted to perfect controlled fusion via confinement and heating of plasma using a dynamic electromagnetic field inside a torus. He had met the founder of the company at the Lab. The two of them invited me to join. My main contribution was raising enough venture capital to sustain the company for a year although I did not stay there much after the money was secured. That amount turned out to be one-half of one percent of the total 1972 U.S. venture capital pool.

[33] The transcript was reprinted in the 1972 paper.

[34] When promoting a pawn, the player poked the type of piece to be added, before poking "Complete." At any time before poking "Complete," the player could poke "Abort" and then choose another move.

[35] CW: The user interface had most of the features expected in modern user interfaces. Although we had neither drop down menus nor windows, the program did display its output graphically. There were buttons to select actions, there were clear state indicators (such as "It is White's move"), there was a separate area which showed the conversation flowing between the parties (including the director), and there was the board, of course.

There were, however, two difficulties. First, none of the hardware was very fast. Delays were common as the programs managed the communication and the graphics. Of course, this still happens in multi-threaded graphics programs, but the hesitations sometimes led to confusion when a player thought that a move or other command had not been noticed by the system. We might have been more clever about installing some mechanism to respond quickly that an input had been received.

Second, the calligraphic display made the board display and the movement of pieces less nice than they would be in a more modern system. If we had tried to draw real chess pieces, the drawings themselves would have been muddy, there very likely would have been noticeable overshoot, and there probably would have been noticeable flicker as the display units tried to draw all the tiny lines. Similarly, the board squares are all the same color (not even light and dark) because light colored squares would have been difficult for the display technology.

Because the light pen could sense movement only where there was light, we were forced to the expedient of putting little dots in the middle of the unoccupied squares. On modern equipment, a mouse always "knows" where it is in the display geometry; however, the light pen had to sense the pulse of the display beam actually going under the light pen's sensor. Whether one prefers using a pen-like device to a mouse-like device is a kind of physiological (and psychological!) choice; however, there is no question that the technology behind the bitmap graphics of modern computers makes it easier to program natural graphics controls without artifacts like the dots.

There is one more point to be made. Modern bitmap displays with full color allow graphics which are more attractive, more realistic, and more satisfying to the user. It is hard to measure this exactly, but even when we were programming Kriegspiel, I wished that we could make the whole display much more natural. Of course, we were using state of the art equipment at the time. Still, a modern display would have made Kriegspiel a lot flashier.

[36] While revising this section, I was out shopping and ran across a game called Stealth Chess, a combination of Kriegspiel and Stratego � a patented board game. Stealth Chess is played with pieces which have two sides. A player can see his own pieces from his side of the board, but the opponent's pieces show only blank faces. Of course, this is just an easy kind of blindfold chess so far; in effect, you have to remember where every (to you, blank) opponent's piece came from. If you can remember that, then you can play the game as if it were ordinary chess.

Stratego adds another dimension to this idea. A player starts all the pieces in a particular area of the board (like chess), but a player can put his pieces in any order in that area. If Stealth Chess allowed a player to set up his pieces in some order other than the ordinary chess order, then the opponent would have to observe movement to deduce which piece was which. In other words, Stealth Chess could have some of the mystery of Kriegspiel without the necessity for a referee (although it's not clear how the en passant rule could reasonably be enforced).

[37] If a divider was not available, the players sat back-to-back. The boards were separated considerably adding some challenge for the referee.

[38] The players could also choose colors � White or Black. If both players chose the same color or if one player requested a random assignment of colors, the system made a random assignment.

[39] There was no requirement to have a "kibitzers' terminal." The system worked if only two terminals were used � one for each player.

[40] At the beginning of each game, the system put a set of opponents' pieces on each board, in their then-correct starting positions, as dictated by the rules of chess.