SNIPES(6)

πŸ“¦ version 0.9.4, in fedora 43, fedora 44

πŸŽ€ SNIPES πŸŽ€

okay bestie, welcome to the snipes page β€” section 6, the Games Manual, and yes it's giving retro arcade chaos in a terminal πŸ’…


✨ NAME ✨

snipes β€” a text maze game. that's the whole name. short, iconic, no notes.


πŸ¦‹ SYNOPSIS πŸ¦‹

snipes [-cdsx] [-jkqv] [level]

πŸ’– DESCRIPTION πŸ’–

okay so snipes is a single-player text-mode action game, and the whole object of it is that you wander around a maze killing evil smiley face characters (these are the "snipes", obvi) and also the hives that create them. sounds simple right? wrong. because the snipes are simultaneously trying to kill you. it's mutual. it's a whole thing. 😭

the level argument looks like [A-Z][1-9]. the alphabetic character sets characteristics of the level β€” stuff like whether or not diagonal shots bounce off the walls. the numeric character sets the level of difficulty. more deets are in the LEVELS section down below, keep scrolling bestie πŸ‘‡

you move with the grey arrow keys, and you fire with the keys a, s, d, and w. (this works best with a QWERTY layout, of course.) wanna go diagonal? press one vertical movement key and one horizontal movement key simultaneously and you'll slide diagonally, and a similar approach will let you fire diagonally. holding the space bar makes you move faster β€” speedrun strats fr fr. CTRL-C is quit.

while running snipes on the console (not in X) you will be unable to switch VTs. not a drill.

pressing CTRL-Z will suspend the raw keyboard mode (which re-enables VT switching) until you press Enter. so that's your escape hatch 🫢

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.

🌈 DISPLAY TARGET OPTIONS 🌈

  • -c β€” use ncurses(3X).
  • -d β€” use the doublewide font hack with ncurses(3X).
  • -s β€” use svgalib(7).
  • -x β€” use the X Window System.

⭐ GENERAL OPTIONS ⭐

  • -j β€” use Jenny scrolling mode.
  • -k β€” force the keyboard to use safe (non-raw) mode. this one only works with the ncurses(3X) display target, no cap.
  • -q β€” quiet mode: do not play sound effects. (silent but deadly, love that for you 🀫)
  • -v β€” display version number and exit. the "hi and bye" option, honestly iconic.

πŸ‘‘ LEVELS πŸ‘‘

so here's the hive math: there are three hives for levels 1->4, four hives for 5->8, and 5 hives for level 9. and the maximum number of sprites for each difficulty level is 10, 25, 40, 55, 70, 90, 110, 130 and 150. yeah. it escalates. fast. πŸ’€

the level letter determines which features are enabled:

       ABCDEFGHIJKLMNOPQRSTUVWXYZ
           ****    ****    ****** walls deadly
               ********        ** walls can be destroyed
        * * * * * * * * * * * *** ghosts
         **  **  **  **  **  **** bouncy shots

🌸 HISTORY 🌸

okay storytime bestie πŸ“

Novell NetWare 2.x came with a pair of "network testing utility" programs (games) called nsnipes and ncsnipes. nsnipes worked on monochrome displays while ncsnipes worked on color displays. the networked Novell version was based on a single player version made by SuperSet Software, called either hsnipes or just snipe. and snipes? it's a from-scratch reimplementation and shares no code with the Novell or SuperSet games. completely original. main character energy only. ✨


πŸ’€ BUGS πŸ’€

ngl, there are a few. let's get into it:

  • the snipes are pretty stupid about where they go and when and where they shoot. (honestly relatable but still a bug πŸ™ˆ)
  • in the DOS version, vertical movement is slowed down so that it seems to be about the same speed as horizontal movement. this program currently does not do that.
  • in the DOS version, diagonal shots don't travel exactly diagonally. the deltaX values change in the pattern {2, 2, 3, 2, 3}. see weapons.c for more detail. this program currently uses deltaX=1.
  • the X Window version of snipes is extremely slow. 😭

the fact that snipes uses raw keyboard mode makes bugs somewhat more problematic than they would be otherwise. the remainder of this section describes how to minimize problems. note that this section does not apply if you use the X Window System display target because that target does not have these problems.

different types of computers have different keyboard scancode mappings. in order to deal with this, the dumpkeys program is used to determine the keyboard mapping at run-time. if the mapping can not be loaded from dumpkeys for any reason, raw keyboard mode will be unavailable.

if snipes 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 snipes should be good at preventing this, 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 snipes 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 process ("killall snipes" should do.) there are other things you can do without having to log in remotely, however. one is to set up gpm(1) (the cut and paste utility for virtual consoles) 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(1) 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(1) and kbd_mode(1) 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".


🧚 FILES 🧚

  • /usr/X11R6/lib/X11/fonts/misc/vga.pcf β€” screen font for X display. provided with dos(1).
  • /usr/lib/kbd/consolefonts/snipes.psf β€” screen font for the doublewide font hack.

🫢 SEE ALSO 🫢

ncurses(3X), svgalib(7), dumpkeys(1), dos(1).


πŸ’œ AUTHOR πŸ’œ

snipes was written by Jeremy Boulton, with some help from John Meacham on the X Window System programming. legends only. πŸ‘‘


and that's the whole page bestie!! this one's dated 3 June 1999, and it's the SNIPES(6) page from the Games Manual β€” so go forth, dodge the snipes, and remember: CTRL-C is quit πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from