robotfindskitten [ -n number ] [ -s seed ] [ -f filename ]
In this game, you are robot ( # ). Your job is to find kitten. This task is complicated by the existence of various things which are not kitten (collectively known as Non Kitten Items or NKIs). Robot must touch items to determine if they are kitten or not. The game ends when robot finds kitten.
You can move robot with the arrow keys, the EMACS keys (^N, ^P, ^B and ^F for down, up, left and right), the keypad keys (all 8 directions), and the nethack keys (all 8 directions; hjklyubn is left, down, up, right, up-left, up-right, down-left and down-right).
You can press Ctrl-L at any time to redraw the screen. You can press q at any time to quit. A good old-fashioned Ctrl-C quits too.
You can optionally specify the number of Non Kitten Items to use with the -s option. The default is 20.
You can set the random-number seed, normally initialized from the system clock, with the -t option. This may be useful for debugging.
You can supply an arbitrary file from which to draw NKIs using the -f option.
robotfindskitten(6) reads all of the files in the ~/.robotfindskitten and /usr/share/games/robotfindskitten directories. Each line of each file matching *.nki becomes the description of a Non Kitten Item. Lines beginning with '#' or '%' are ignored. This allows comments to be used in nki files and allows fortune(6) files to be used.
robotfindskitten(6) uses the HOME environment variable to find the ~/.robotfindskitten directory.
The exit status is 0 if robot found kitten; 1 if you quit or there was a problem; and the signal number if robotfindskitten(6) exits gracefully due to a signal.
A Final Thought
Day and night I feverishly worked upon the machine, creating both a soul which could desire its goal, and a body with which it could realize it. Many who saw my creation called it an abomination, and denied me grant money. But they could not dissuade me from my impossible task. It was a spectre that tormented me always, a ghost I had to give a form and a life, lest it consume me from the inside. And when at last my task was done, when the grey box on wheels was complete and when it, as well as I, knew what had to be done, I felt deep sympathy for the machine. For I had not destroyed the phantom, but merely exorcized it into another body. The robot knew not why this task had to be performed, for I could not imbue it with knowledge I did not myself posess. And at the same time, I felt a sweeping sense of relief sweep over me, that somehow, the dream that had driven me for my entire life had come one step closer to fruition.
"Gort, Klaatu Verada Nikto"
As I vocally activated the robot, I realized that it was following my instructions, but not out of any desire to obey me. Had I remained silent, it would have performed exactly the same operations. We were two beings controlled by the same force now. And yet, seeking vainly to hold some illusion of control over the machine I thought I had created, I gave my final command.
"GO!" I told the box as it began to roll out of my workshop into the frozen desert beyond. "FIND KITTEN!"
-- The Book of Found Kittens, pages 43-4, author unknown
robotfindskitten web page: http://robotfindskitten.org/
sourceforge page: http://sourceforge.net/projects/rfk/
robotfindskitten was originally written by Leonard Richardson <firstname.lastname@example.org> for DOS in 1997. He rewrote it for Linux in 1999. Since then robotfindskitten has been ported and/or rewritten for countless other platforms. The current POSIX code is based on code originally written by Alexey Toptygin <email@example.com>.
The POSIX development team consists of:
Eric S. Raymond
Peter A. Peterson II
Phil Ulrich (Mac OS X)
Ryan Finnie (Debian Maintainer)