Man Linux: Main Page and Category List


       netgame - tile manipulation puzzle game based on FreeNet


       netgame  [--generate  n]  [--print  wxh  [--with-solutions] [--scale n]
       [--colour]] [game-parameters|game-ID|random-seed]

       netgame --version


       (Note: the Windows version of this game is called NETGAME.EXE to  avoid
       clashing  with  Windows's  own NET.EXE. Similarly the Debian version is
       called netgame to avoid clashing with Samba's net.)

       I originally saw this in the  form  of  a  Flash  game  called  FreeNet
       (,    written   by   Pavils
       Jurjans;  there  are  several  other  implementations  under  the  name
       NetWalk.  The  computer prepares a network by connecting up the centres
       of squares in a grid, and then shuffles the network by  rotating  every
       tile  randomly.  Your  job  is  to  rotate  it all back into place. The
       successful solution will be an  entirely  connected  network,  with  no
       closed loops. As a visual aid, all tiles which are connected to the one
       in the middle are highlighted.

Net controls

       This game can be played with either the  keyboard  or  the  mouse.  The
       controls are:

       Select tile: mouse pointer, arrow keys

       Aâ key
       Rotate tile anticlockwise: left mouse button, â.

       Dâ key
       Rotate tile clockwise: right mouse button, â.

       Fâ key
       Rotate tile by 180 degrees: â.

       Sâ key                                                             Lock
       (or unlock) tile: middle mouse button, shift-click, â.
              You can lock a tile once you’re sure of its orientation. You can
              also  unlock  it  again,  but  while  it’s  locked   you   can’t
              accidentally turn it.

       The  following controls are not necessary to complete the game, but may
       be useful:

       Shift grid: Shift + arrow keys
              On grids that wrap, you can move the origin of the grid, so that
              tiles  that  were  on  opposite  sides  of  the grid can be seen

       Move centre: Ctrl + arrow keys
              You can change which tile is used as the source of highlighting.
              (It  doesn’t ultimately matter which tile this is, as every tile
              will be connected to every other tile in a correct solution, but
              it  may  be  helpful  in  the intermediate stages of solving the

       Jâ key
       Jumble tiles: â.
              This  key  turns  all  tiles  that  are  not  locked  to  random

       (All the actions described below are also available.)

Net parameters

       These parameters are available from the â.IP "Width,  Height"  Size  of
       grid in tiles.

       Walls wrap around
              If  checked, flow can pass from the left edge to the right edge,
              and from top to bottom, and vice versa.

       Barrier probability
              A number between 0.0 and 1.0 controlling  whether  an  immovable
              barrier is placed between two tiles to prevent flow between them
              (a higher  number  gives  more  barriers).  Since  barriers  are
              immovable,  they  act  as  constraints  on  the  solution (i.e.,

              The grid generation in Net has been carefully arranged  so  that
              the barriers are independent of the rest of the grid. This means
              that if you note down the  random  seed  used  to  generate  the
              current  puzzle  (see  below),  change  the  Barrier probability
              parameter, and then re-enter the same random  seed,  you  should
              see  exactly  the same starting grid, with the only change being
              the number of barriers. So if you’re stuck on a particular  grid
              and need a hint, you could start up another instance of Net, set
              up the same parameters but a  higher  barrier  probability,  and
              enter the game seed from the original Net window.

       Ensure unique solution
              Normally,  Net  will make sure that the puzzles it presents have
              only one solution. Puzzles with ambiguous sections can  be  more
              difficult  and more subtle, so if you like you can turn off this
              feature and risk having ambiguous puzzles.  (Also,  finding  all
              the  possible  solutions  can  be an additional challenge for an
              advanced player.)

Common actions

       These actions are all available from the â.PP (On Mac OS X, to  conform
       with  local user interface standards, these actions are situated on the
       â.IP "New game (âStarts a new game, with a random initial state.

       Restart game
              Resets the current game to  its  initial  state.  (This  can  be

       Load   Loads a saved game from a file on disk.

       Save   Saves the current state of your game to a file on disk.

              The  Load  and Save operations preserve your entire game history
              (so you can save, reload, and still Undo and Redo things you had
              done before saving).

       Print  Where  supported (currently only on Windows), brings up a dialog
              allowing you to print an arbitrary number  of  puzzles  randomly
              generated  from the current parameters, optionally including the
              current puzzle. (Only for puzzles which make sense to print,  of
 it’s hard to think of a sensible printable representation of Fifteen!)
              course  â.IP  "Undo  (âUndoes a single move. (You can undo moves
              back to the start of the session.)

       Râ, Ctrl+âRâ)                                                      Redo
              Redoes a previously undone move.

       Copy   Copies  the  current state of your game to the clipboard in text
              format, so that you can paste it into (say) an e-mail client  or
              a  web  message board if you’re discussing the game with someone
              else. (Not all games support this feature.)

       Solve  Transforms the puzzle instantly into its solved state. For  some
              games  (Cube) this feature is not supported at all because it is
              of no particular use. For other games  (such  as  Pattern),  the
              solved  state  can be used to give you information, if you can’t
              see how a solution can exist at all or you want  to  know  where
              you  made  a  mistake.  For still other games (such as Sixteen),
              automatic solution tells you nothing about how  to  get  to  the
              solution,  but it does provide a useful way to get there quickly
              so  that  you  can   experiment   with   set-piece   moves   and

              Some  games  (such as Solo) are capable of solving a game ID you
              have typed in from elsewhere. Other games (such  as  Rectangles)
              cannot  solve  a  game  ID they didn’t invent themself, but when
              they did invent the game ID  they  know  what  the  solution  is
              already.  Still  other  games  (Pattern) can solve some external
              game IDs, but only if they aren’t too difficult.
              The â.RE

              Quit (â.
                     Closes the application entirely.

Specifying games with the game ID

       There are two ways to save a game specification out  of  a  puzzle  and
       recreate  it  later, or recreate it in somebody else’s copy of the same
       The â.PP You can enter either of these pieces of  text  back  into  the
       program (via the same â.PP The difference between the two forms is that
       a descriptive game ID is a literal description of the initial state  of
       the game, whereas a random seed is just a piece of arbitrary text which
       was provided as input to the random number generator used to create the
       puzzle. This means that:

              Descriptive game IDs tend to be longer in many puzzles (although
              some,  such  as   Cube   (cube(6)),   only   need   very   short
              descriptions).  So  a random seed is often a quicker way to note
              down the puzzle you’re currently  playing,  or  to  tell  it  to
              somebody else so they can play the same one as you.

              Any  text  at  all  is  a  valid  random seed. The automatically
              generated ones are fifteen-digit numbers, but anything will  do;
              you  can type in your full name, or a word you just made up, and
              a valid puzzle will be generated from it. This  provides  a  way
              for  two or more people to race to complete the same puzzle: you
              think of a random seed, then everybody types it in at  the  same
              time,  and  nobody  has  an  advantage  due  to  having seen the
              generated puzzle before anybody else.

              It is often possible to convert puzzles from other sources (such
              as  â.IP  "âRandom  seeds are not guaranteed to produce the same
              result if you use them with a different version  of  the  puzzle
              program.  This  is  because  the generation algorithm might have
              been improved or modified in later versions  of  the  code,  and
              will  therefore  produce  a different result when given the same
              sequence of random numbers. Use a descriptive  game  ID  if  you
              aren’t  sure  that  it  will  be used on the same version of the
              program as yours.
              (Use the â.RE

              A descriptive game ID starts with a piece of text which  encodes
              the  parameters  of  the  current game (such as grid size). Then
              there is a colon, and after  that  is  the  description  of  the
              game’s initial state. A random seed starts with a similar string
              of parameters, but then it contains  a  hash  sign  followed  by
              arbitrary data.

              If you enter a descriptive game ID, the program will not be able
              to show you the random seed which generated it, since it  wasn’t
              generated  from  a  random  seed.  If  you  enter a random seed,
              however, the program will be able to show  you  the  descriptive
              game ID derived from that random seed.

              Note  that  the  game parameter strings are not always identical
              between the two forms. For some games, there will  be  parameter
              data  provided with the random seed which is not included in the
              descriptive game ID. This is because that parameter  information
              is  only  relevant  when  generating  puzzle  grids,  and is not
              important when playing them. Thus, for example,  the  difficulty
              level in Solo (solo(6)) is not mentioned in the descriptive game

              These additional parameters are also not set permanently if  you
              type  in  a  game  ID. For example, suppose you have Solo set to
              â.SH "The â.PP The â.PP The â.SH "Specifying game parameters  on
              the command line"

              (This section does not apply to the Mac OS X version.)

              The  games  in  this  collection  deliberately  do not ever save
              information on to the computer they run on: they  have  no  high
              score tables and no saved preferences. (This is because I expect
              at least some people to play them at work, and those people will
              probably appreciate leaving as little evidence as possible!)

              However,  if  you  do  want to arrange for one of these games to
              default to a particular set of parameters, you can specify  them
              on the command line.

              The  easiest way to do this is to set up the parameters you want
              using the â.PP If you run the game with just that parameter text
              on  the  command  line,  it  will start up with the settings you

Octahedronâ from the âTypeâ menu, and then go to the game ID selection, you will see a string of the form âo2x2#338686542711620â. Take only the part before the hash (âo2x2â), and start Cube with that text on the command line: âcube o2x2â.
              For example: if you run Cube (see cube(6)), select â.PP  If  you
              copy  the  entire  game ID on to the command line, the game will
              start up in the  specific  game  that  was  described.  This  is
              occasionally a more convenient way to start a particular game ID
              than by pasting it into the game ID selection box.
              (You could also retrieve the encoded game parameters  using  the
              â.SH "Unix command-line options"

              (This section only applies to the Unix port.)

              In  addition  to  being  able  to specify game parameters on the
              command line (see above), there are various other options:


              --load These options respectively determine whether the command-
                     line argument is treated as specifying game parameters or
                     a save file to load. Only one  should  be  specified.  If
                     neither  of  these  options is specified, a guess is made
                     based on the format of the argument.

              --generate n
                     If this option is specified, instead of  a  puzzle  being
                     displayed,  a  number  of  descriptive  game  IDs will be
                     invented and printed on standard output. This  is  useful
                     for  gaining  access  to  the  game generation algorithms
                     without necessarily using the frontend.

                     If game parameters are  specified  on  the  command-line,
                     they  will  be used to generate the game IDs; otherwise a
                     default set of parameters will be used.

                     The most common use of this option is in conjunction with
                     --print,   in   which  case  its  behaviour  is  slightly
                     different; see below.

              --print wxh
                     If this option is specified, instead of  a  puzzle  being
                     displayed,  a  printed  representation  of  one  or  more
                     unsolved  puzzles  is  sent  to   standard   output,   in
                     PostScript format.

                     On  each  page  of  puzzles, there will be w across and h
                     down. If there are more puzzles than wÃh, more  than  one
                     page will be printed.

                     If  --generate has also been specified, the invented game
                     IDs  will  be  used  to  generate  the  printed   output.
                     Otherwise,  a  list  of  game IDs is expected on standard
                     input (which can be  descriptive  or  random  seeds;  see
                     above), in the same format produced by --generate.

                     For example:

                     net --generate 12 --print 2x3 7x7w | lpr

                     will  generate  two pages of printed Net puzzles (each of
                     which will have a 7Ã7 wrapping grid), and pipe the output
                     to  the lpr command, which on many systems will send them
                     to an actual printer.

                     There are various other options  which  affect  printing;
                     see below.

              --save file-prefix [ --save-suffix file-suffix ]
                     If  this  option  is specified, instead of a puzzle being
                     displayed, saved-game files  for  one  or  more  unsolved
                     puzzles   are  written  to  files  constructed  from  the
                     supplied prefix and/or suffix.

                     If --generate has also been specified, the invented  game
                     IDs   will  be  used  to  generate  the  printed  output.
                     Otherwise, a list of game IDs  is  expected  on  standard
                     input  (which  can  be  descriptive  or random seeds; see
                     above), in the same format produced by --generate.

                     For example:

                     net --generate 12 --save game --save-suffix .sav

                     will generate twelve Net saved-game files with the  names
                     game0.sav to game11.sav.

                     Prints  version  information  about  the  game,  and then

              The following options are only meaningful  if  --print  is  also

                     The  set  of  pages  filled with unsolved puzzles will be
                     followed by the solutions to those puzzles.

              --scale n
                     Adjusts how big  each  puzzle  is  when  printed.  Larger
                     numbers make puzzles bigger; the default is 1.0.

                     Puzzles  will  be printed in colour, rather than in black
                     and white (if supported by the puzzle).


       Full documentation in /usr/share/doc/sgt‐puzzles/puzzles.txt.gz.