PLATO

by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science

WO'-   My involvement with the PLATO system covered the entire period that I was a graduate student at the University of Illinois. From 1973 to 1980, I worked as a research assistant and occasionally as a teaching assistant in the Medical Computing Lab at the School of Basic Medical Sciences in Urbana, where my PLATO user ID was jones of rhrc (the Regional Health Resource Center) and then jones of mcl (the Medical Computing Lab), also sometimes written jones/rhrc and jones/mcl. While I was there, I did several things.

But first: Why are so many of the screen shots shown here in orange on a black background? The answer is simple: Through the 1970's, the dominant terminal used on the PLATO system was the Magnavox PLATO IV student terminal. In an era when all other computer display screens used CRTs, this display used a neon-discharge plasma panel. Yes, this is exactly the same technology used in plasma flat-screen TV screens today, except without the phosphors, so there was only one color, orange.


Early Social Media: Notesfiles

WO"'   The University of Illinois Archives maintains an on-line archive of several early PLATO notesfiles. These were one of the first great experiments in social media, and their archive preserves several of my early notes. The oldest I can find is a complaint about the PLATO text editor from 12/9/1974, when I wrote:

---------- note 614 editing!
  12/09     10.37     jones       rhrc

When reading a lesson,it would be nice to be able
to read directly over lesson block bounds instead
of having to back out to the lesson index and type
the letter of the next block. Mabe the -NEXT1- key
could advance to the beginning of the next block
and save changes in the previous block if not in
inspect only mode?

This takes some translation into modern terms. Since PLATO was intended as a computer aided instruction system, all user files were referred to as lessons, regardless of whether they served an instructional purpose. The text editor operated on fixed-size blocks of disk space, and it was up to the user to organize the text of a program or other document into blocks. All PLATO terminals had function keys, -NEXT- was the name of one of them, and -NEXT1- was the standard way to refer to the shifted version of this key.

Responses to this note indicated that indeed, system programmers on PLATO had exactly this function available to them, but they didn't want to release it to the general user community.

At the time, there were only 3 notesfiles in the world, one for system announcements (world readable), one for help requests (world write only), and one for general use (world read-write). The archive only contains the latter. I've extracted all of my old notesfile postings from this archive and annotated them here.


An advertising poster for the Simpler system from 1980 (author's collection). The terminal is a CDC IST-II with the nameplate changed.
 
* photo of a poster, text: MODCOMP SIMPLER
             over an image of a Simpler terminal
             with a stack of various hats on it
             representing various professions.*

Porting Tutor to the Modcomp IV Minicomputer

O-T="   My MS thesis, Run Time Support for the TUTOR Language on a Small Computer System (1976) documents the implementation of PLATO's TUTOR programming language on the Modcomp IV minicomputer. This includes one of the first descriptions of TUTOR's arcane semantics from an outsider's perspective.

The typography of this is rather poor by modern standards. It was printed on a Dataproducts chain printer attached to the Modcomp IV. I had to write both the text editor and the text formatting program needed to print it.

A year later, in May 1977, I revised the thesis slightly, adding an additional 7 pages for release as Technical Report UIUCDCS-R-77-868 UILU-ENG 77 1719. This was digitized by the Internet Archive in 2013, at a resolution higher than necessary for the chain printer text or ballpoint-pen diagrams. They worked from a paper copy in the University of Illinois Library that has circulation stamps indicating that it was checked out by library patrons in 1982, 1995 and 1996.

This thesis documents what became GIST TUTOR, after Global Information Systems Technology was founded in 1980 to market the Modcomp PLATO/TUTOR clone. GIST originally called their clone Simpler, but later, after rewriting my interpreter in C, they called it ACCORD.


HiVolts, the Game of Electric Fences

WO="'   The PLATO system was intended for computer-based instruction, but it was incredibly appealing to develop games on it. Some of those games were instructional. Airfight, the first multi-user 3-d graphical flight simulator, really did teach flying, even though the planes were all jet fighters and you could load them as you desired with fuel or ammunition up to the plane's weight limit. (There are many web pages that give pocket histories of the early development of computer games on PLATO. See, for example, Chapter 6 of The Complete Wargames Handbook.)

The relationship between the system staff and game developers on PLATO was a mixed one. On the one hand, games were a great test of the system. On the other hand, many games were resource hogs. PLATO was designed as a timesharing system. The machine could execute one MIPS (Million Instructions Per Second), this made it a supercomputer, by the terms of the early 1970's. If they wanted to support 200 users, the average user load had to be under 5 TIPS (Thousand Instructions per Second). Most games, particularly first-person shooters like Airfight, ran at well over 10 TIPS.

My job developing a TUTOR implementation for the Modcomp IV computer required that I explore the TUTOR language thoroughly, and it was natural for me to try writing a game. I set out to design a game that had the appeal of an arcade game, and along the way, I decided to make it run in under 5 TIPS.

The Result was HiVolts, the Game of Electric Fences, with the title screen as shown below. My artwork for the title survived unchanged through years of evolutionary development by later authors who worked on the game. The core of the game is not entirely original. Greg Chesson had recently demonstrated Unix on campus -- it is noteworthy that Illinois was the first licensed Unix site outside of Bell Labs; UNIX license number 1 was granted to Illinois in 1974. One of the things Greg demonstrated in passing was the suite of games that came with Unix. My memory of seeing him briefly demonstrte one of those games was the root inspiration for the game I wrote.

This game has been preserved as hivolts on cyber1.org, from which the following screen shot was taken in 2008.

* (big artistic text) Hi-Volts,
      (regular text) The Game of ELECTRIC FENCES.
      Originally by: Douglas Jones & Dirk Pellett.
      Adapted for ACCORD by: Flint & Dirk Pellett.
      RE-Adapted back to PLATO by: Dirk Pellett.
      NEXT to play, LAB for notes, BACK to exit,
      HELP for help, DATA for records, Shift-BACK to return. *

The preservation of HiVolts was not trivial. The credits in the title page are explained by this quote from Dirk Pellett: "The version of the Hi-Volts source I had on Accord (written in GIST's version of TUTOR) ... declares you, Douglas Jones, as the sole source of the game. I used that source to back-translate to PLATO TUTOR so that it would run on cyber1.org."

In short, each round of play in HiVolts involves dropping the player onto a random spot on a randomly created game board, a field surrounded by electric fences and with fences scattered here and there on the field. The field also contains semi-intelligent mhos (inverse ohms, a lame in-joke) that are attracted to the player and will eat the player if they come too close. The player can survive by manuvering in such a way that the mhos blunder into electric fences. You win the round if you survive without being consumed or electrocuted until all of the mhos have been electrocuted.

Josh Paley did a decent job of reverse engineering the game I finally produced. His specificaiton for the game was available on the web at http://charlotte.pausd.org/~jpaley/AP_CS/hivolts/ (now available from the Wayback Machine).

* Screenshot of game graphics *

I believe one of the later authors changed the graphics for the game itself, as illustrated above, replacing the alphabetic symbols I had used with graphics. The original version would have presented the above screen something like this:

# # # # # # # # # # # #
# *     #     # *   * #
#     #   #           #
#       #       *     #
#           #   *   # #
#               *     #
# * # #   *   # *     #
#     *   # #         #
#   #     *   #       #
# #     #         O   #
#     #     *   #     #
# # # # # # # # # # # #
   

# -- An electric fence

* -- A mho, an adversary

O -- The player

The appeal of HiVolts was somewhat of a mystery to me. It isn't a first person shooter where fast twitch reflexes lead to winning. Instead, the game is dominated by carefully and thoughtfully running away from the monsters in the maze. An experienced player has about even odds of surviving one round of play. Each round of the game was short enough that many game sessions involved multiple rounds, and as I realized this, I made the game compute the player's win-loss ratio for the session. Today, we would describe HiVolts as a casual game, and it is fair to say that it was one of the first casual games to achieve success in the PLATO world.

Flint Pellett, one of the authors of the legendary PLATO game DND, one of the first computerized spinoffs of Dungeons and Dragons, worked with me in the Medical Computing Lab. He said that his brother Dirk was interested in HiVolts, so when I moved on to other things, I passed the game to them. The game had already attracted a following, and this grew after Dirk added a record book to the game, so that the game computed (and displayed) a list of the best players, ordered by the win-loss ratios they had achieved.

Apparently, at some point after my involvement with HiVolts ended, someone else modified it. Dirk Pellett remembers "a version of Hi-Volts where the 'mhos' were lightning bolts instead of frowny-faces, there were double-lightning-bolts that could move twice, and the fences were NOT destroyed when a mho walked into it, all of which are different from the version ... re-created on cyber1." This alternative version doesn't ring any bells with me -- the double-mhos idea is particularly alien to my memory, so obviously, the game evolved on PLATO. I'm fairly sure I'd have given a copy of the source to anyone who asked for it back then. Computer games had yet to become important items of commerce at the time.

When Pac-Man came out, I wondered if the developer had ever seen the game of Electric Fences. The relationship between the Pac-Man player and the ghosts of that game has some similarity to the relationship between the player and the mhos of Electric Fences. Pac-Man, however has a static maze, not the random maze of Electric Fences, and Electric Fences has nothing analogous to the "food" dots that Pac-Man consumes.


Dealing with Computer Anxiety

Drawing of a PLATO IV terminal with a piratical figure and
      clawed hand reaching out of the screen

WO"'.   Some students freeze up the first time they find themself in front of a computer keyboard. We had this problem with medical students at the University of Illinois School of Basic Medical Sciences, so in August, 1979, the Medical Computing Lab at the school produced a guide for students on the use of computer assisted instruction using PLATO. I drew this illustration for the guide, showing what the PLATO terminal does not contain. It's a decent drawing of the Magnavox PLATO IV student terminal. That's a flat plasma display panel in front, The bulk of the volume is occupied by the folded light path of the rear-projection microfiche reader in the terminal. The 6-inch wide margin around the screen is because of the electronics around the edge of the flat panel.


Gothic, an Alternative Character Set

* (in an archaic font)  Every computer should have archaic fonts.
      As tjeu are sp very easy to read compared to the fonts common
      on modern computers.
      For every character is a work of art. *

TU"-   PLATO supported user-defined character sets. I knew a bit of calligraphy, so I decided to go out on a limb and try creating a character set that was emphatically not the usual computer-style character set. I called it gothic, not after the modern font, but in the older sense of the word, because it was very much the barbaric font, very unlike the humanist fonts from which most modern typography springs.

The writable character set of the PLATO terminal had only room for so-many capitals, so I put in only 3, made of 6 characters each, where characters on PLATO were 8 by 16 pixels.

You'll notice that the 8 by 16 matrix forced the M to be cramped side to side, and it forced the P to slip up a pixel or two. Those defects were fixed in the later scalable and rotatable lineset version of the character set.

* (in an archaic font) 01234567890
      abcdefghijklmnopqurstuvwxyz
      .,?
      AFE *

The output of the instructional lesson I wrote on the use of the Gothic charset and lineset is available, as it existed in late 1976. According to the Public notes archive for 1975 I announced the availability of Gothic on Dec. 16, 1975. The content of that lesson, in addition to explaining the use of the character sets, also makes it clear that this character set had already made it into the standard character-set library of PLATO by the time I wrote this lesson, but note also that the game of Hangman is not mentioned. Unfortunately, no machine-readable copy of this material appears to survive.

The output mentioned above was printed on paper using a PLATO graphics printer. This was a remarkable impact printer using a "wobble bar" that scanned a horizontal row of on the order of 8 print hammers rapidly back and forth across the page, allowing it to print each of the 512 lines of the screen in under a minute. I do remember this printer being loud. Craig Burson wrote on Nov. 5, 2010 to remind me that Art Carroll of the PLATO Project built the prototype of this printer using an OEM shuttle-bar print mechanism (was it from Genicom?). It was later marketed by CDC at the 726-10 printer. We had one in the school of Basic Medical Sciences in Urbana.

* (in an archaic font) Ordeal of the Hangman.
        (back to normal text) Press LAB for introduction,
	Press DATA for statistics,
        Press NEXT to start playing,
        Shift-DATA for credits, 
        Press HELP for wordlist editor,
        Script: Gary Michael,
        Program: Michael Berger,
        Artwork: David Dennis,
        Typeface: Douglas Jones.
        Revised: 1993, Control Data Systems Inc.
        Copyright: 1976 Board of Trustees University of Illinois. *

The gothic character set was used in the educational game of Hangman (preserved as 0hangman on cyber1.org) to support a rather silly back story explaining why a man was being hung for not being able to spell. (Hangman is preserved as 0hangman on cyber1.org, from which the above screen shot was taken.) to support a rather silly back story explaining why a man was being hung Over a decade or so, I earned about the price of a pizza every year for this contribution to PLATO, through the micropayment scheme PLATO supported. Hangman is copyrighted 1976 and credits me as the designer of the typeface.


Roman, a Useful Character Set

* Roman: A useful lineset.
        ABCDEFGHIJKLMNOPQRSTUVWXYZ
        abcdefghijklmnopqrstuvwxyz *

WOU"-   After I designed the Gothic lineset, someone asked me if I couldn't do something more useful -- design a legible character set that people would actually want to use. So, I designed a classical Roman lineset, with decent proportional spacing. The geometry is still basically octagonal, not round, but in the smaller sizes, it looks pretty good, and in the larger sizes, it is far more ligible than the standard PLATO dot matrix fonts.

The illustration here is a screen shot from cyber1.org, where my font is preserved in lesson linesets. I found two printed screenshots in my files that I made using the old PLATO graphics printer some time in the late 1970's. The paper is a bit yellow, but the scanner fixed that. If you zoom in on the PDF, you can see the impact marks of the print hammer for each pixel of the display. The second page of the old screenshot is a manual for the using the lineset.

One trick I used was to define backspace (shift space on PLATO) to be just the right size to kern lower case letters under upper case letters such as Y and T, so typing T(backspace)o or Y(backspace)es would print To or Yes with appropriate kerning.


Tiling the Plane with Character Sets

* Tiling the plane with Escheresque lizards

+oU"-   I had (and still have) several books of M. C. Escher prints. Several of his prints explore tiling the plane with various objects. In the case of Development 1, Reptiles, and Metamorphose, he used lizards. The most fully developed of the lizard tilings, in Reptiles, has a hexagonal tiling involving 3 lizard colors. Two-color square tilings are developed briefly in the other two, and at the start of the book is a little woodcut exercise in square lizard tiling.

I was taken by what Escher did and tried my hand at tiling the PLATO terminal with lizards. Escher's lizards, both lithographic and woodcut, were designed without regard to pixels, while I had to make do with the the 8 by 16 tiles of the PLATO writable character set. I opted to use a period of 48 pixels, 6 characters wide by 3 characters tall, so my tiling used 18 characters. Facial expressions or even the details of mouths and claws were out.

These were definitely inspired by the lizards in Escher's woodcut exercise, if someone wants to make any commercial use of this image, they'd better clear the copyright with the M. C. Escher company. It would make an interesting textile design for weaving in silk on a Jacquard loom.

I had to solve some new problems in the move to a low resolution pixelized design. It took several tries before I realized that I couldn't make the lizards meet nose to nose. Rather, the midlines of the face-to-face lizards had to be offset by one pixel. I was just barely able to give them nostrils, and the midline of the back is more like a row of stitches than a sharply defined line. There was no hope to divide the toes, and I could only hint at a crease to divide the upper arms from the bodies.

At the time, the best graphics printer available for printing a display from a PLATO IV terminal used a wet process, with results much worse than the later impact printer they developed. I think the actual print engine was a Tektronics graphics printer. The output was on flimsy paper and tended to have both drop-outs and smudges. The fragment shown here was scanned in 2022 from the original printed copy made in the 1970s, and then massaged in GIMP to make black truly black and white (sort of a pale grey in the original printout) truly white. The detail is degraded from the original on-screen image in black and neon-discharge orange. On screen, the black and orange lizards were exact color inverses of each other.


The Problem of Printing

-OM"-   PLATO was designed with a focus on interactive computing using graphics terminals, with very limited options for creating any kind of hard copy. The PLATO project offered the following printing solutions:

We weren't happy with PLATO's printing options, so our lab developed several solutions allowing local printing:


When PLATO and Xerox PARC Interacted

pbdq   In the 1970s, there were just two research groups in the world with extensive experience exploring the use of bitmap display technology. One was the PLATO project. The other was based at the Xerox Palo Alto Research Center. In the mid to late 1970s, these two groups traded visits, and I attended at least one lecture sponsored by the PLATO project where visitors from Xerox PARC spoke about what they'd learnd. Later, in 1980, I interviewed with Xexox Rochester Research Labs and gave a talk about some of what I'd learned working with PLATO. If you wonder, yes, they offered me a job that I turned down.

As the Computer History Association of Caifornia was getting off the ground, I wrote "PLATO and Smalltalk" a short piece about this interaction for their newsletter The Analytical Engine (Volume 1, Number 3, January 1994, page 41).