Plato

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

My involvement with the PLATO system covered the entire period that I was a graduate student at the University of Illinois. 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.


An advertising poster for the Simpler system from 1980 (author's collection).
 
 [photo of Simpler terminal]

Porting Tutor to the Modcomp IV Minicomputer

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 is presumably still available from various tech report repositories. I have not found an unbound copy in my files to feed through a scanner.

This thesis documents what became GIST TUTOR, after Global Information Systems Technology was founded in 1980 to market the Modcomp PLATO/TUTOR clone.


HiVolts, the Game of Electric Fences

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.

In short, each round of play 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 has done a decent job of reverse engineering the game I finally produced in order to infer more formal specificaitons of the game. See his web page on the game for details.

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 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.

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

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

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

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.

The output of the instructional lesson I wrote on the use of the Gothic charset and lineset is available, as it existed around 1974 or 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.

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.