What is Linux Snipes? A single-player text-mode action game in which the object is to kill a number of evil smiley face characters (the "snipes") and the hives which create them. Of course, the snipes try to kill you at the same time. How do you play? The gray arrow keys move your player around in the maze. The keys a, s, d, and w fire in various directions. You can move and fire diagonally using combinations of vertical and horizontal keys. You can also move and fire at the same time. Levels are specified by a single letter and a single digit. The letter determines certain properties such as whether it is safe to touch the walls, whether snipes can turn into ghosts when shot, and whether diagonal shots bounce. The digit specifies a degree of difficulty with 1 being the lowest and 9 the highest. What platforms are supported? The game was originally written for the Linux console. An X window version has been added recently. It should be fairly easy to change the program to run on other Unix consoles. How do I run in an Xterm? Be warned, you can't press multiple keys at once in a Xterm, but it is probably faster than using the native X support at the moment. Anyway, if you want to run snipes this way, you can use a script such as the following: #!/bin/sh exec xterm-color -font vga -tn xterm-color -e snipes What is the glorious ancestry of Linux Snipes? Novell NetWare 2.x came with a pair of "network testing utility" programs (games) called (if I remember correctly) nsnipes and ncsnipes. I assume that the N was for "networked" and the C for "color": In my memory, you used ncsnipes if you had a color display. I played these as a freshman and sophomore in high school. At some point, I ran across a single player (non-networked) version called hsnipes which I could play on my computer. It had a few quirks including the fact that it required you to type "mode mono" before running it on a color display and was extremely difficult to quit (Ctrl-C many many times and it would finally notice). For some reason, I felt like I should reimplement it and made an abortive attempt sometime in high school. In college, I started running Linux. I could still run hsnipes (under DOSemu) but game play was less satisfactory. It became clear that a Linux version was necessary, so I resumed my efforts, working in spurts as motivation came. What will be the future of Linux Snipes? My intent is first to make it a near-perfect replica of hsnipes and then to add network support so that it can also function nearly identically to n[c]snipes. Now that it runs under X, it is not Linux specific so I need to pick a new name. Suggestions are welcome. See the 'TODO' file for a description of features that remain to be implemented, as well as a list of known bugs. While running this program, you will be unable to switch VTs. Pressing CTRL-Z will suspend the raw keyboard mode (re-enabling VT switching) until you press Enter. Use the grey arrow keys to move. You can move diagonally by pressing a combination of one vertical movement key with one horizontal movement key simultaneously. CTRL-C is quit. Jenny scrolling is named after a friend who suggested it. While it makes the screen less flickery, it's a little hard to deal with IMHO. Linux Snipes Home Page: http://www.ugcs.caltech.edu/~boultonj/snipes.html NOTE: This program is not guaranteed to be 100% bug free. Sorry, but that's life. The fact that it uses raw keyboard mode makes bugs somewhat more problematic than they would be otherwise. This section describes how to minimize problems. If the program crashes, the keyboard may be left in raw mode. In that case, the console will be unusable: you will not be able to switch VTs and when you type, garbage will probably appear on the screen. Recent versions of the program try to prevent this from happening but you can be extra safe by running it like so: snipes; kbd_mode -a; stty sane; reset After snipes runs, even if it terminates by crashing, the subsequent three commands will run. Note that the last two restore some screen settings which may also be incorrect. If the program hangs for some reason, it's harder to get things fixed. If you're on a network, you can always log in remotely and kill the snipes processes ("killall snipes" should do.) There are other things you can do without having to log in remotely, however. One is to set up gpm (the text-mode mouse control program which lets you copy and paste text on the console) to be able to execute commands for you when you use certain combinations of mouse clicks. The command I use in my startup scripts looks like: gpm -t $MOUSETYPE \ -S '/usr/bin/killall -9 snipes;/usr/bin/kbd_mode -a::' See the man page for gpm for more information on how this works. In short, it lets you kill snipes and restore the keyboard using a special sequence of mouse button clicks. If you use this method, you will want to make sure you use whatever path is appropriate on your system for the killall and kbd_mode programs. Finally, recent versions of the Linux kernel have support for some "magic" SysRq key commands. If you have compiled your kernel with this enabled, pressing Alt-SysRq-R will change the keyboard translation mode back to "cooked".