Provided by: xscreensaver-data-extra_5.07-0ubuntu3_i386 bug


       critical - Draw a system showing self-organizing criticality


       critical    [-display    host:display.screen]    [-foreground    color]
       [-background  color]  [-window]  [-root]  [-mono]  [-install]  [-visual
       visual] [-delay seconds] [-random boolean] [-ncolors int] [-offset int]


       The critical program displays a self-organizing  critical  system  that
       gradually emerges from chaos.

       critical  performs a simulation on a two-dimensional array of integers.
       The array is initialized to random values.  On each iteration, it draws
       a line to the array position with the greatest value.  It then replaces
       that location  and  the  eight  neighboring  locations  with  randomly-
       selected values.

       The lines are initially random, but over time a chaotic self-organizing
       system evolves: areas of the screen which happen to have  lower  values
       are  less  likely to be updated to new values, and so the line tends to
       avoid those areas.  Eventually, the histogram of changes approaches the
       power-law curve typical of such systems.

       The  simplest  documented self-organizing system is the one-dimensional
       equivalent of critical.

       I heard about this  algorithm  second-hand:  apparently  there  was  an
       article in Scientific American describing it sometime in 1997.


       critical accepts the following options:

       -window Draw on a newly-created window.  This is the default.

       -root   Draw on the root window.

       -mono   If on a color display, pretend we’re on a monochrome display.

               Install a private colormap for the window.

       -visual visual
               Specify  which  visual  to use.  Legal values are the name of a
               visual class, or the id number (decimal or hex) of  a  specific

       -delay usecs
               Number of microseconds to wait after drawing each line.

       -random boolean
               Whether  to  use  randomly selected colours rather than a cycle
               around the colour wheel.

       -offset integer
               The maximum random radius increment to use.

       -ncolors integer
               How many colors should be allocated in  the  color  ramp  (note
               that this value interacts with offset.)

       -trail integer
               Length of the trail: between 5 and 100 is nice.

       -fps    Display the current frame rate and CPU load.


       DISPLAY to get the default host and display number.

               to  get  the  name of a resource file that overrides the global
               resources stored in the RESOURCE_MANAGER property.


       X(1), xscreensaver(1) xscreensaver-command(1) xscreensaver-demo(1)


       Copyright © 1998 by Martin Pool.

       Permission to use, copy, modify, distribute, and sell this software and
       its  documentation  for  any  purpose  is  hereby  granted without fee,
       provided that the above copyright notice appear in all copies and  that
       both  that  copyright  notice  and  this  permission  notice  appear in
       supporting  documentation.   No  representations  are  made  about  the
       suitability  of  this software for any purpose.  It is provided "as is"
       without express or implied warranty.


       Martin Pool <>,  1998-2000.   Based  in  part  on  the
       XScreenSaver code by Jamie Zawinski <>.