Computer Old Farts Forum
 help / color / mirror / Atom feed
From: scj@yaccman.com
To: Dan Cross <crossd@gmail.com>
Cc: Douglas McIlroy <douglas.mcilroy@dartmouth.edu>, COFF <coff@tuhs.org>
Subject: [COFF] Re: [TUHS] Re: Unix game origins - stories similar to Crowther's Adventure
Date: Sat, 05 Aug 2023 11:47:03 -0700	[thread overview]
Message-ID: <0229665988f70d07b4e73381118efc6c@yaccman.com> (raw)
In-Reply-To: <CAEoi9W48Xn5hgGqdVQdRv7JWY4poosrW46_akBOSc8W8ksENdg@mail.gmail.com>

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

  reply	other threads:[~2023-08-05 18:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAKH6PiU1aLmUq585mBMmMmZfpuwSAE3sx-UQoj=dn5-pb-w5DA@mail.gmail.com>
2023-02-01 23:24 ` Dan Cross
2023-08-05 18:47   ` scj [this message]
     [not found] <d0c009d0-bfb8-40b8-a1ac-9b557932ae94@gmail.com>
     [not found] ` <CAEdTPBertjtWMaCA5gDbUDjPMgvHwdqHbsxJ9dnw6t2oSWxnWA@mail.gmail.com>
     [not found]   ` <9rlsK1lcp2ffNj2lkBadLwVDPzGlSjgLbwwByJXMv4FDhSsmezMSUlcXw4jZjc0rM8XtULgrAv6I2g-nurUzaS_fZicDHORQVLSU0fzEydY=@protonmail.com>
2023-02-01 19:02     ` Clem Cole
     [not found]     ` <CAFH29tpp+kxcCTkFykuUW+dtcU=na8btAMmFCaLk=O8VA_GV-A@mail.gmail.com>
2023-02-01 19:16       ` Dan Cross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0229665988f70d07b4e73381118efc6c@yaccman.com \
    --to=scj@yaccman.com \
    --cc=coff@tuhs.org \
    --cc=crossd@gmail.com \
    --cc=douglas.mcilroy@dartmouth.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).