Home | FAQ

KMP’s ANIMAL Game

Conceptually, ANIMAL is a simple program, and is quite tiny by today’s standards. But in the context of history, KMP’s ANIMAL Game was quite large compared to the original animal program because was so heavily embellished with features.

History of KMP’s ANIMAL Game

The original version of ANIMAL upon which KMP’s version was conceptually based had approximately the following interaction style:

  Is your animal a dog?
  no
  What animal were you thinking of?
  cat
  What yes/no question distinguishes a/an dog from a/an cat.
  Does it have nine lives?
  Ok.  When I ask that, "yes" implies which answer?
  cat
  And "no" implies which answer?
  dog
  Ok. Thanks for the game. Another Game?
  yes
  Are you thinking of an animal?
  yes
  Does it have nine lives?
  ...etc.

A key feature of KMP’s ANIMAL Game was the "risk taking" that it did. Rather than all those confirmations, it tried to use an interaction style that requested minimal information from the user, so that the interaction would feel more natural, like people really speak. For example, the following (not actual output) is an approximation of the interaction style:

  Is your animal a dog?
  nope
  What animal were you thinking of?
  cat
  What distinguishes a cat from a dog?
  It has nine lives.
  Ok.  Thanks for the game.  Another game?
  shit yes
  Please don't use that kind of language with me.
  Another game?
  sorry
  I accept your apology. Another game?
  yes
  Does your animal have nine lives?
  what if i said yes?
  Then I would guess cat.  Does your animal have nine lives?
  no

Key Characteristics of KMP’s ANIMAL Game

Key characteristics of my game that distinguish it from other animal programs of the time were: