[COFF] [TUHS] Re: Unix game origins - stories similar to Crowther's Adventure

scj at yaccman.com scj at yaccman.com
Sun Aug 6 04:47:03 AEST 2023


I was responsible for two games on Unix: Ching and GoFish.
Ching was a fortune-telling game: you would type a question or situation 
as a text.  The program would hash the text, convert it into yarrow 
sticks, and use display the "fortune".  I copied the fortunes from a 
book, so I don't think ching actually was ever part of a Unix 
distribution because of the copyright.  Some hand-carried versions got 
out, though, I think.

The other game I wrote for my son: it played the game "Go Fish".  It was 
amazingly hard to win, even for an adult, because it used a simple 
card-counting strategy: if the opponent asked for a 6 and I didn't have 
one I'd remember that the opponent had a 6, and when I drew one I 
immediately asked for it.  A number of my co-workers tried the game out, 
and most of them lost badly.  GoFish was distributed, and I actually was 
accused in public by someone who was sure the game cheated!

A couple of years ago, a co-worker was showing me a "Unix on a chip" 
machine, and I saw that it had the sources for everything.  I looked at 
the source for it, which was in C -- one of the first C programs I 
wrote.  As I read the code, I discovered a bug: a type mismatch when 
calling a function.  It was a bug, but didn't affect the behavior.  The 
other thing I noticed was that the program had three GOTO's in it.  I 
blushed...

Steve
---


On 2023-02-01 15:24, Dan Cross wrote:
> [TUHS to Bcc]
> 
> On Wed, Feb 1, 2023 at 3:23 PM Douglas McIlroy
> <douglas.mcilroy at dartmouth.edu> wrote:
>> > In the annals of UNIX gaming, have there ever been notable games that have operated as multiple processes, perhaps using formal IPC or even just pipes or shared files for communication between separate processes
>> 
>> I don't know any Unix examples, but DTSS (Dartmouth Time Sharing
>> System) "communication files" were used for the purpose. For a fuller
>> story see https://www.cs.dartmouth.edu/~doug/DTSS/commfiles.pdf
> 
> Interesting. This is now being discussed on the Multicians list (which
> had a DTSS emulator! Done for use by SIPB). Warren Montgomery
> discussed communication files under DTSS for precisely this kind of
> thing; apparently he had a chess program he may have run under them.
> Barry Margolin responded that he wrote a multiuser chat program using
> them on the DTSS system at Grumman.
> 
> Margolin suggests a modern Unix-ish analogue may be pseudo-ttys, which
> came up here earlier (I responded pointing to your wonderful note
> linked above).
> 
>> > This is probably a bit more Plan 9-ish than UNIX-ish
>> 
>> So it was with communication files, which allowed IO system calls to
>> be handled in userland. Unfortunately, communication files were
>> complicated and turned out to be an evolutionary dead end. They had
>> had no ancestral connection to successors like pipes and Plan 9.
>> Equally unfortunately, 9P, the very foundation of Plan 9, seems to
>> have met the same fate.
> 
> I wonder if there was an analogy to multiplexed files, which I admit
> to knowing very little about. A cursory glance at mpx(2) on 7th
> Edition at least suggests some surface similarities.
> 
>         - Dan C.


More information about the COFF mailing list