home *** CD-ROM | disk | FTP | other *** search
/ D!Zone (Collector's Edition) / D_ZONE_CD.ISO / programs / editors / rdoom165 / randoom.man < prev    next >
Text File  |  1994-12-06  |  16KB  |  397 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.           RanDOOM (1)           DOOM Operating System           RanDOOM (1)
  8.  
  9.  
  10.  
  11.  
  12.           NAME
  13.                RanDOOM - A smart object placement randomization utility for
  14.                DOOM. 
  15.  
  16.           SYNOPSIS
  17.                RanDOOM [ReferenceWADfile] [-C<seed>] [-M<n>] [-W<filename>]
  18.                [-G] [-LE<j>M<k>] [-I<infile>] [-O<outfile>]
  19.  
  20.           DESCRIPTION
  21.                RanDOOM is a utility which will randomize the placement of
  22.                objects in the DOOM playfield. Additionally, RanDOOM has
  23.                some smarts about the manner in which it will randomize
  24.                things - it's designed to never leave you with a pillar
  25.                blocking the exit, or a keycard on the opposite side of the
  26.                door from where you start, or to erase all the DEATHMATCH
  27.                warp-in spots with other objects (preventing DEATHMATCH
  28.                network play), or to replace the endgame bosses with other
  29.                objects (thus preventing the completion of an episode). In
  30.                short, RanDOOM will always leave you with a playable level.
  31.                RanDOOM is also user configurable - it allows you to specify
  32.                the proportion of total objects a given object will comprise
  33.                via a customizable object weighting scheme. This allows you
  34.                to tailor RanDOOM's randomizing to your personal taste
  35.                (and/or masochism ;-).
  36.  
  37.                RanDOOM does not make any changes to your WAD files;
  38.                instead, it creates a separate Patch WAD file containing the
  39.                information for the modified levels. To run a RanDOOMized
  40.                game, simply invoke DOOM with the -file command line switch,
  41.                e.g. DOOM -file randoom.wad.
  42.  
  43.                At the end of each run, RanDOOM will append to a file called
  44.                RANDOOM.LOG in the current directory information from that
  45.                run. Currently the seed value used for the random number
  46.                generator is saved for future reference.
  47.  
  48.  
  49.           OPTIONS
  50.                Reference_WAD_file_name - Use this path to the REFERENCE WAD
  51.                file. The reference WAD file is that which accompanies your
  52.                registered copy of DOOM, normally DOOM.WAD. If no filename
  53.                is specified, DOOM.WAD in the current directory is used.
  54.  
  55.                -I<filename> - Specifies the name of a file where RanDOOM
  56.                should look for its input THINGS data. If no input file is
  57.                specified, input is taken from the reference WAD file by
  58.                default.
  59.  
  60.                                           1
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.           RanDOOM (1)           DOOM Operating System           RanDOOM (1)
  74.  
  75.  
  76.                -O<filename> - Specifies the name of a file where RanDOOM
  77.                should place its output. If no output file is specified, the
  78.                filename RANDOOM.WAD is used by default.
  79.  
  80.                -C<seed> - Use a single ASCII character as the seed value
  81.                for the pseudorandom number generator. The character is
  82.                case-sensitive, so 'K' and 'k' yield different seed values.
  83.                Alternatively, -C accepts a positive integer number
  84.                [0..65535] as the seed value. If no -C parameter is
  85.                specified, a seed value is taken based on the current system
  86.                time.
  87.  
  88.                -G - Produce a graphic display of the item randomization
  89.                process on the screen (VGA required). This switch was added
  90.                to aid in debugging the selection algorithms. You may find
  91.                it interesting to watch. 
  92.  
  93.                -M<n> - Use randomization mode n, where n is a single digit
  94.                [0-9]. Currently only three randomization modes (0, 1 and 2)
  95.                are supported. If no -M parameter is specified, mode 0 is
  96.                used by default. 
  97.  
  98.                -LE<j>M<k> - Process Episode j, Map k only, where 1 <= j <=
  99.                3, 1 <= k <= 9. Multiple -L switches may be specified on a
  100.                single command line. If no level is specified, all levels
  101.                are processed by default.
  102.  
  103.                All randomization modes attempt to avoid potential problems
  104.                which would arise if a completely random replacement of
  105.                objects were made. Such problems include immovable objects,
  106.                such as a pillar or tree root, blocking a switch or doorway;
  107.                monsters becoming "stuck in the wall" (or tangled up in each
  108.                other!) and unable to move or fight; the replacement of
  109.                player warp-in spots with other objects, preventing one or
  110.                both forms of network play; the movement of keycards or
  111.                skulls to new locations which then become inaccessible; etc.
  112.                To achieve this, RanDOOM maintains lots of data about the
  113.                objects and the DOOM level maps, such as the locations of
  114.                objects, their relative sizes in three dimensions, their
  115.                types, whether the player can move them, kill them, or pick
  116.                them up, the locations of walls, the amount of "headroom" in
  117.                a given area, and so forth. From this information, RanDOOM
  118.                is able, in most cases, to calculate whether or not a given
  119.                object will "fit" into a given location in the map without
  120.                conflicts.  
  121.  
  122.                Randomization mode 0 takes the objects currently placed on
  123.                each level and rearranges them. No objects are added,
  124.                subtracted, or replaced - if a given level contains 2 Barons
  125.  
  126.                                           2
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.           RanDOOM (1)           DOOM Operating System           RanDOOM (1)
  140.  
  141.  
  142.                of Hell, 12 Imps, 32 blue health vials, and a chainsaw, then
  143.                the modified level will also contain 2 Barons of Hell, 12
  144.                Imps, 32 blue health vials, and one chainsaw, rearranged in
  145.                random order.
  146.  
  147.                Randomization mode 1 replaces "nonessential" objects with
  148.                other randomly selected objects from the entire range of
  149.                available objects. This randomization mode may place objects
  150.                into a level which would not normally appear there, e.g. M1
  151.                may place Cacodemons in the Hangar level. Those items which
  152.                are needed to complete the level, such as keycards or level
  153.                bosses, remain in their original locations.
  154.  
  155.                Randomization mode 2 does the same things as mode 1 with the
  156.                addition of weight factors for replaceable objects. These
  157.                weights are user adjustable (via the weight file specified
  158.                using the -W switch) to allow a relative increase or
  159.                decrease in the number of a given item inserted in the game.
  160.                Thus, items with higher weights have a higher probability of
  161.                being selected. NOTE: If the -M2 switch is specified, the -W
  162.                switch (see below) must also be specified. 
  163.  
  164.                Randomization mode 3 improves on mode 2 by using a "best
  165.                fit" algortihm to approximate the item distribution
  166.                requested by the user (via the weight file) as closely as
  167.                possible. The items to be placed are sorted and placed in
  168.                order from largest to smallest. This prevents a fairly large
  169.                space which could potentially hold a larger object from
  170.                having a smaller object placed into it instead and
  171.                consequently allows optimal object placements. Because not
  172.                all items will fit into all areas without sticking or other
  173.                conflicts, the exact distribution requested may not be
  174.                possible. For example, a distribution of 100% Spider demons
  175.                would be utterly impossible t