home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d554 / landscape.lha / Landscape / Landscape.doc < prev    next >
Text File  |  1991-10-28  |  32KB  |  657 lines

  1.  
  2.      LANDSCAPE (c) June 1990
  3.  
  4.      A Fractal scenery generator.     
  5.  
  6.      Programmed by Andrew Kreibich with AMOSv1.21 (C) 1990 Mandarin/Jawx
  7.      and compiled with the AMOS compiler.
  8.  
  9.  
  10.      Note: to quit at any time (without using the menu) press Ctrl-C.
  11.            To save memory this programme closes the workbench while it is
  12.            running.
  13.  
  14.       
  15.      LANDSCAPE V1.11 docs  
  16.  
  17.      This doc file applies to the full version. You may have the landscapeDEM
  18.      version. The only difference between the two is that all saves have
  19.      been disabled in the DEM version. You can save a lot of calculation
  20.      time and time spent copying parameters as well as being able to
  21.      save your pictures by registering. (see DISTRIBUTION, below)
  22.      
  23.      #####################
  24.       Memory requirements
  25.      #####################
  26.  
  27.      As it stands the programme probably needs 1 meg. I may work on a version 
  28.      which will run on a 512k machine if I get enough response 
  29.      BUT!:- This programme generates a 256X256 array of points to render
  30.      the scenes with. The only way I can reduce the memory requirements 
  31.      is to reduce this to a 128X128 array, and this will reduce the 
  32.      maximum resolution of the pictures to resolution setting 2.
  33.      
  34.     
  35.      Purpose:
  36.      This programme generates Fractal scenery. There are already a few 
  37.      commercial programmes which do this but this is written in AMOS
  38.      (and is unfortunately a bit slow, although the compiled version is a
  39.       bit quicker.)
  40.  
  41.      It does this by generating a square array of random points and then
  42.      converting these to heights before plotting them on the screen.
  43.      I used the midpoint displacement algorithm on page 100 of
  44.  
  45.      "The science of fractal images" by Pietgen and Saupe
  46.      Springer-Verlag 1988
  47.  
  48.      to generate the array of points and the projection and illumination
  49.      formulae on pages 126 to 128 of the same book to get me started, 
  50.      although all of the routines have been modified many times since I
  51.      read the book.
  52.  
  53.      ################
  54.        DISTRIBUTION
  55.      ################
  56.  
  57.      THIS PROGRAMME IS SHAREWARE!
  58.  
  59.      This means that my ego and my wallet would appreciate a little feedback
  60.      for all my efforts!
  61.      You may distribute the LandscapeDEM programe to anyone providing you
  62.      observe the following conditions.
  63.     
  64.      (a) You don't make any money from it (apart from a nominal copying fee)
  65.          without my prior written permission.
  66.  
  67.      (b) You may not include it or any routines from it in any commercial
  68.          release (including SHAREWARE or one of its variations) without
  69.          my prior written permission. 
  70.  
  71.      (c) You distribute this entire doc. file  file with the programme.
  72.  
  73.      (d) You do not distribute the full version of LANDSCAPE to anyone
  74.  
  75.      (e) You write back and let me know what you think of it along with a
  76.          shareware donation. (minimum $20 Australian)
  77.  
  78.               To  Andrew Kreibich
  79.                   Box 333
  80.                   Wantirna South
  81.                   Victoria
  82.                   Australia.  3152
  83.  
  84.      When you register (In Australian dollars please, our banks charge a
  85.      fortune to convert:- another benefit of deregulation?), you will receive
  86.      the latest compiled version with all features enabled, together with
  87.      details of other programmes I have written and the source code to 
  88.      this programme (in AMOS).     
  89.    
  90.      Naturally if you think I have done a really fantastic job on this 
  91.      and you cannot help but show your appreciation by sending more money 
  92.      (Australian Dollars!) etc. then I will happily accept it! 
  93.  
  94.     If you have the full version and have already registered: Thankyou
  95.  
  96.     If you have the full version and have not registered: Pleas do so and
  97.     may the person who supplied it to you be renedered in the gobberwarts
  98.     with a blurglecruncheon!
  99.  
  100.      USAGE
  101.      *****
  102.      This programme is driven by the menus.
  103.      
  104.      There are two stages to drawing a picture.
  105.      
  106.      STAGE 1. Calculate the array of data points. Use "Data Points" menu.
  107.      STAGE 2. Render the data as a picture. Use "Picture" menu.
  108.  
  109.      MENUS
  110.      *****
  111.    
  112.      PROJECT:-
  113.          
  114.            ABOUT: try it!
  115.      
  116.            LOAD IFF: Loads a picture from disk. I put this in so that
  117.                      you could see all of your creations without having
  118.                      to exit the programme. You can't actually do anything
  119.                      with the picture.
  120.                      This is inactive during CALCULATION and RENDER.
  121.  
  122.            SAVE IFF: Saves the current screen to disk. Make sure that 
  123.                      none of the message windows are open or they will
  124.                      get saved too!
  125.                      This is inactive during CALCULATION.
  126.                      AND DISABLED IN THE DEM VERSION. 
  127.            ADVERT: Try it!
  128.                    IFSgen is an iterated function system generator. It 
  129.                    allows you to generate (and save) IFS codes and produce
  130.                    pictures of self-similar objects (ferns, trees,
  131.                    Sierpinski triangles etc). Fully driven by mouse and
  132.                    menus. The mouse is used to define and manipulate the
  133.                    images. You can save IFS data and IFF picture files
  134.                    of your creations. Many example pictures and IFS code
  135.                    files are included
  136.                    IFSgenV2.0 is shareware and probably requires 1Meg. 
  137.                    If you want a demo version of it, all you have to do is
  138.                    write and send me a disk and enough to cover the postage. 
  139.                    or $20 for the full version (including source).
  140.            QUIT: say bye-bye.
  141.  
  142.  
  143.      DATA POINTS:-
  144.      All items in this menu are to do with generating the array of data 
  145.      points (STAGE 1). (If you haven't got any points then you don't get
  146.      much of a picture!)
  147.      The data points are stored in bank 7, To fill this bank with data
  148.      select CALCULATE from the DATA POINTS menu. This will generate a
  149.      set of points using the data in the parameters table. A default 
  150.      set of parameters based on a random number seed of 42 is provided 
  151.      so that new users can easily generate a set of points to play with.
  152.      
  153.          PARAMETERS: This brings up a table of parameters which you can
  154.                      change to get different sets of data points.
  155.            
  156.               RESOLUTION: There are four calculation resolutions
  157.                    1: Calculates every point in the 256X256 array
  158.                    2: Calculates every second point.
  159.                    4: Calculates every fourth point.
  160.                    8: Calculates every eighth point.
  161.     
  162.                  The more points you get, the better the resolution of 
  163.                  final picture, but more points take longer.
  164.                  The following are typical calculation times when running
  165.                  from AMOS. The compiled version completes these routines
  166.                  about 3½ times as fast.
  167.                  
  168.                  Resolution      Time     Available plotting resolutions
  169.  
  170.                      1          5 min.       1, 2, 4, 8, 16
  171.                      2  1 min. 15 sec.          2, 4, 8, 16
  172.                      4         20 sec.             4, 8, 16
  173.                      8          5 sec.                8, 16
  174.  
  175.                EXTRA RANDOM: ON/OFF
  176.                If this is on it adds an extra random value to every point
  177.                after it has calculated the random midpoint displacement
  178.                (see "The science of fractal images", above)
  179.                When this is on it has one obvious effect (It takes about
  180.                twice as long to generate the points) and one not so 
  181.                obvious effect (Without it you sometimes get rows of
  182.                mountain peaks in a straight line across your picture. 
  183.                Turning it ON reduces the effect). The times above were 
  184.                calculated with this OFF.
  185.  
  186.  
  187.       TO CHANGE VALUES IN THE DARK BROWN BOXES JUST CLICK ON THE BOX WITH
  188.       THE MOUSE AND START TYPING. DUE TO A SLIGHT PROBLEM WITH THE ROUTINE
  189.       WHICH HANDLES THE INPUT YOU MAY NOT ALWAYS GET EXACTLY WHAT YOU TYPED!
  190.       MAKE SURE THAT THE STUFF IN THE BOX IS CORRECT, (YOU CAN USE THE LEFT
  191.       AND RIGHT CURSORS AND THE DELETE BUTTON OR JUST TYPE OVER THE NUMBERS)
  192.       AND THEN PRESS RETURN WHEN IT IS OK.
  193.  
  194.                FRACTAL PARAMETER: This changes the FRACTAL DIMENSION
  195.                of the data. The fractal dimension is equal to
  196.                3 - fractal parameter.
  197.                This controls the roughness of the surface. You should
  198.                normally set this to BETWEEN 0.5 and 1, although any numbers
  199.                BETWEEN 0 and 1 will do.
  200.                For a smoother surface set this close to 1, for a rough 
  201.                surface set it a bit lower. Default is 0.85 which seems 
  202.                to work fairly well for most scenes. If you are not 
  203.                sure about this then try a few different values on 
  204.                resolution 1. 
  205.  
  206.  
  207.                SEED:
  208.                This seeds the random number generator. Change this
  209.                value to get different scenes. 
  210.  
  211.  
  212.                             ***************************
  213.                By the way, if you have been playing around with the
  214.                AMOS random number generator and had trouble regenerating
  215.                the same sequence of random numbers from the same seed, 
  216.                the following may be of interest.
  217.      
  218.                If you use Randomize 42 (or any number) you should (according 
  219.                to the manual) get the same set of random numbers each
  220.                time. In fact you get a different set (at least with 
  221.                AMOS 1.21) every time, just as if you had used Randomize Timer.
  222.                If you want the same set each time you must use a negative 
  223.                value for the Rnd function.
  224.                eg. Rnd (-10) generates a random number between 0 and 10 and
  225.                you will get the same series of numbers each time you randomize
  226.                with the same seed. 
  227.                Rnd (10) will generate a random number between 0 and 10 but it
  228.                will be (truly?) random and does not seem to depend on the seed
  229.                value.
  230.  
  231.                I hope this is of some use, it had me stumped for a while!
  232.  
  233.                              **************************
  234.  
  235.  
  236.  
  237.             ALL DATA  (3 buttons)
  238.     
  239.             DEFAULT: Returns all settings to their default setting.
  240.             RESTORE: Returns all settings to what they were before
  241.                      you started fiddling around with them after you
  242.                      chose this menu item.
  243.                QUIT: Accepts what is in the boxes and returns you to 
  244.                      the main screen.
  245.  
  246.          LOAD DATA: Loads a bank of data points (and the data parameters)
  247.                     from disk. This is included to save you the trouble
  248.                     of waiting 5-10 minutes (on highest resolution) for
  249.                     the calculation, although with the compiled version
  250.                     you may prefer not to waste the disk space.
  251.                     All data files are suffixed with ".DATABK".
  252.  
  253.          SAVE DATA: Saves a bank of data points (and the data parameters)
  254.                     to disk.
  255.                     DISABLED IN THE DEM VERSION. 
  256.  
  257.          CALCULATE: Calculates the data points using the parameters you
  258.                     specified. If you have not specified then the default
  259.                     values will be used.
  260.           
  261.          STOP CALC: Stops the calculation. This could leave you with a
  262.                     data bank which contains a mixture of two sets of
  263.                     data, so either recalculate or load another bank 
  264.                     before you render it. Naturally you can only use
  265.                     this while you are CALCULATING and all other menu 
  266.                     items will be disabled while you are calculating.
  267.                     
  268.      PICTURE MENU:
  269.      All items in this menu are to do with rendering the picture (STAGE 2)
  270.  
  271.          PARAMETERS: Brings up a screen of parameters which you can change.
  272.                      Most data is displayed in brown boxes which can be
  273.                      changed in the same way as the data points parameters.
  274.    
  275.              RESOLUTION: This is similar to resolution of Data Points, 
  276.                          except that there is a 16 button which plots 
  277.                          every 16th point. 
  278.                          As before small numbers are high resolution.
  279.                          You cannot plot in a higher resolution than the
  280.                          resolution which the data was generated in.
  281.                          Eg. if you generated the data at resolution
  282.                          4 you can only render in 4, 8 or 16. The
  283.                          other buttons (1 and 2) will be inactive.
  284.                          The main purpose of this is so that you can
  285.                          preview a scene quickly.
  286.                          Typical scene rendering times (using the
  287.                          default data and plotting parameters) and running
  288.                          from AMOS are shown below. The Compiled version takes
  289.                          about 60% of these times for the rendering. The speed
  290.                          improvement is not much because most of the time is
  291.                          taken in the graphics operations (drawing the
  292.                          polygons) and AMOS is already pretty quick at this. 
  293.  
  294.                          Resolution     Time
  295.                              1        35 min.
  296.                              2         9 min.
  297.                              4       2.5 min.
  298.                              8        43 sec.
  299.                             16        13 sec.
  300.  
  301.              VIEW: The 3 parameters in this box define the way the picture
  302.                    is viewed.
  303.       
  304.                    Elev. Angle: angle of elevation which you view the scene 
  305.                                 from. Must be between 0 (low view) and
  306.                                 90 (viewed from directly overhead).
  307.                                 The actual appearance also depends on the
  308.                                 height scale used.
  309.  
  310.                    Horizon:  This is the level of the horizon in pixels
  311.                              measured down from the top of the screen,
  312.                              assuming you are looking at it from zero
  313.                              elevation. Higher elevation angles push the
  314.                              horizon higher up, and the perspective 
  315.                              control has a small effect at high elevations
  316.                              as well.
  317.                              Change this to move the picture up and down
  318.                              the screen, the smaller the number the
  319.                              higher the picture. Making this larger can
  320.                              stop the picture finishing before it reaches
  321.                              the bottom of the screen.
  322.  
  323.                    Perspective: As the picture is generated the points
  324.                                 nearest the front are made larger (just
  325.                                 like in real life). This parameter 
  326.                                 controls how much larger. The smaller the
  327.                                 number the larger the effect. Typical
  328.                                 values lie between 100 and 999.
  329.  
  330.              SCALING: The first 3 define the scaling factors used in each
  331.                       direction.
  332.       
  333.                    Horizontal: Magnifies the picture horizontally.
  334.                               Any number less than about 1.3 will not
  335.                               fill the screen.
  336.                   
  337.                    Vertical: Magnifies the picture vertically. Make this
  338.                              a little bigger if the picture doesn't 
  339.                              reach the bottom of the screen.
  340.  
  341.                     Both Horizontal and Vertical should be above about
  342.                     1.3 (or else you will get blank bits at the edges)
  343.                     but can get bigger.
  344.              
  345.                    Height: changes the height of the mountains.
  346.                            Typically 50(low) - 300(high). This 
  347.                            Actually determines the maximum THEORETICAL
  348.                            height which could be plotted. In most cases
  349.                            the highest height actually plotted will be
  350.                            less than this because your data points
  351.                            generated in stage 1 will often not reach
  352.                            the maximum possible level. Anyway if you
  353.                            want taller mountains make this bigger.
  354.  
  355.                   Power: all heights are raised to this power (i.e. h^power)
  356.                          before plotting. This is used to simulate erosion
  357.                          by making the mountains steeper than the 
  358.                          valleys. Higher numbers increase this effect.
  359.                          Power must be a whole number >=1, although numbers
  360.                          much bigger than 3 will result in some fairly
  361.                          steep mountains (depending on the height 
  362.                          parameter). Usually you will leave this on 3.      
  363.           
  364.             LEVEL   BLEND: These define the level at which trees give way
  365.                            to rocks and rocks to snow and how smooth the
  366.                            transition is. 
  367.  
  368.                LEVELS: Define the levels of the different colours used.
  369.                        These should be used in conjunction with the Height
  370.                        parameter. I.E. if height is 50 there is little 
  371.                        point in setting the sea level at 100 because
  372.                        all of the points would be below sea level.
  373.                
  374.                   Sea: Sets the sea level. Anything below this height 
  375.                        will be plotted in blue, the shade depending on 
  376.                        the depth of the water. If you don't want to see
  377.                        any sea then make this low. (i.e. close to zero)
  378.  
  379.                 Tree: Sets the maximum possible tree level, any point 
  380.                        above this will be rendered as rocks or snow.
  381.                        If you don't want trees then set this below sea
  382.                        level.
  383.                        If you want the trees to go right up to the snow
  384.                        then set this greater than or equal to the snow level.
  385.  
  386.                  Snow: Sets the snow level, any point above this will be 
  387.                        rendered as snow.
  388.                        If you don't want snow then make this bigger than
  389.                        height.
  390.                
  391.                 BLEND: The two blend boxes to the right of the tree and 
  392.                        snow level boxes define how quickly the tree and 
  393.                        snow will change to rock. Numbers close to zero 
  394.                        make the transition sharper (Zero will result in
  395.                        a horizontal line defining the snow and tree 
  396.                        levels) while higher numbers (eg 4 or 5) will
  397.                        blend the change over a much larger range.
  398.                        If the tree level is above the snow level (so that
  399.                        there are no rocks) then snow will blend into trees,
  400.                        otherwise both snow and trees will blend into rocks.
  401.  
  402.  
  403.              MAX. ANGLES: These parameters set the maximum steepness for 
  404.                           sand, trees and snow. Any slope steeper than
  405.                           this will be rendered as a rock. This is to
  406.                           simulate the fact that snow, sand (and trees)
  407.                           don't stick to very steep surfaces. Each is
  408.                           an angle (between 0 and 90) which measures
  409.                           the maximum possible slope for SAND, TREES
  410.                           and SNOW. (Experiment for best effect)
  411.  
  412.             LIGHT SOURCE: These specify the position of the light source
  413.                           (i.e. the sun).
  414.  
  415.                     Azim: Measures the azimuth (horizontal) angle of
  416.                           the sun (any number from 0 to 360). 0 is left.
  417.                           Some special cases:-
  418.  
  419.                           0 or 360   Light from left
  420.                                90    Light from back
  421.                                180   Light from right
  422.                                270   light from front
  423.   
  424.                   (Yes I know that this is backwards (anticlockwise), but 
  425.                    if you knew that then you can probably work out why!)
  426.     
  427.                     Elev: Measures the elevation of the sun in degrees
  428.                           between 0 (low) and 90 (high).
  429.  
  430.  
  431.             DEFAULT, RESTORE AND QUIT BUTTONS work the same way as those in 
  432.             the data menu.
  433.  
  434.       
  435.       LOAD DATA: loads all the Rendering Data (the stuff in the picture 
  436.                  parameters), the Data points Data (seed, resolution
  437.                  Extra random) and the palette from disk. 
  438.  
  439.       SAVE DATA: saves all the Rendering Data (the stuff in the picture
  440.                  parameters), and Data points data (seed, resolution
  441.                  Extra random) and the palette to disk. 
  442.                  DISABLED IN THE DEM VERSION. 
  443.  
  444.                All Rendering Data files are suffixed with .REND, these
  445.                files are just sequential data files.
  446.   
  447.       RENDER 2D renders a 2 dimensional (contour map) picture of the data.
  448.                 Resolutions of 1 are plotted the same as resolutions of 2
  449.                 because a full size resolution 1 picture will not quite
  450.                 fit on the screen and it takes ages!
  451.                 This is included so that you can get a rough idea of 
  452.                 your scene before you render it. The view is from the 
  453.                 middle of the lowest side looking towards the top.
  454.                 The 3D picture will not include the left and right edges
  455.                 of the front because of the perspective. If you want more 
  456.                 of the front in then set the PERSPECTIVE PARAMETER to a 
  457.                 higher number.
  458.                 Blue areas are below sea level, the darker blue represents
  459.                 deeper water.
  460.                 Areas above sea level are rendered in shades of green, 
  461.                 brown and grey/white. Dark green is the lowest and 
  462.                 white the highest. In V1.11 I have made no attempt to show 
  463.                 tree and snow levels on the 2d plot.
  464.                 The flashing lines show approximately how much will be 
  465.                 visible for the parameter settings you have chosen.
  466.  
  467.  
  468.       RENDER 3D Renders a 3 dimensional image using the parameters set up
  469.                 in the picture parameter screen and the data that is 
  470.                 currently in the memory. If you haven't generated any data
  471.                 (Stage 1) then you will not get much of a picture.
  472.  
  473.       STOP REND Stops the rendering (2D or 3D). Naturally this is inactive
  474.                 unless you are already rendering. You cannot use any of
  475.                 the other items in the picture menu (except PALETTE) or 
  476.                 any of the items in the DATA POINTS menu or the LOAD IFF
  477.                 menu item while the picture is rendering.
  478.        
  479.         PALETTE Brings up a palette tool in case you don't like the 
  480.                 default colours. This is a scaled down version of a 
  481.                 general palette tool which I wrote (in AMOS), called Gumby's
  482.                 Palette V1.0. You will get the full procedure (which you can
  483.                 use in your own AMOS programmes) when you register (if you
  484.                 want it: please ask if you do).
  485.     The landscape version of this procedure supports the following features.
  486.  
  487.      DRAGBAR:
  488.      This is the message (Gumby's Palette) at the top of the screen. 
  489.      Hold left mouse button down while you are over this and drag the
  490.      palette screen up and down your screen.
  491.  
  492.      ABOUT:
  493.      Work this out for yourself!
  494.  
  495.      RGB sliders: These work in the usual way, just click on the slider
  496.      with the left mouse button and drag it along, or just click on the
  497.      spot you want it to go to.
  498.  
  499.      Up to 32 colours are displayed in little boxes on the right of the    
  500.      screen. You can select two of these at any time. 
  501.      Left mouse button selects the CURRENT colour. This will be changed
  502.      by moving the slider bars.
  503.  
  504.      Right mouse button selects the TO colour. This is used by COPY,
  505.      SPREAD and CYCLE, to copy, spread or cycle from the current colour    
  506.      to the TO colour, and also by SWAP to swap the current colour with   
  507.      the TO colour.
  508.  
  509.  
  510.      The TO and CURRENT colours are outlined in different colours so that
  511.      you can see them. It is possible that the colours used by these 
  512.      outlines are hard to see because they are the same or similar
  513.      to the colour used for the background of the box.
  514.  
  515.      COLOUR Buttons:
  516.      There are 5 of these COPY, SWAP, CYCLE, SPREAD and SKIP.
  517.      These are selected with the left (and sometimes right) mouse button.
  518.  
  519.      COPY and SWAP are explained above.
  520.  
  521.      CYCLE. Press Left mouse button to cycle forward and right mouse 
  522.      button to cycle backwards. Cycles all colours between TO and FROM.
  523.  
  524.      SPREAD spreads the colour from the current colour to the TO colour
  525.      and works in conjunction with the SKIP button. 
  526.  
  527.      If SKIP is 1 then the spread will skip 1 colour in between each      
  528.      one it spreads. Best way is to try it! I put this in because I 
  529.      thought it might be useful in a Mandelbrot type programme.
  530.      SKIP can be any number you like providing it is between 0 and 9.
  531.      I don't think it would be a very good idea to set it to a number   
  532.      greater than the number of colours between the two colours you are
  533.      spreading between. This could cause some unpredictable results.
  534.      Usually you will leave this set to zero.
  535.    
  536.  
  537.      PALLETE BUTTONS. There are three of these in the original procedure 
  538.      They are SPR, ICON, and DEF.  (ICON is new in v1.1)
  539.  
  540.      SPR performs a Get Sprite Palette when you click it.
  541.      The procedure checks to see if there is anything in the sprite
  542.      bank (bank 1) and if you have no sprites then this button will be 
  543.      inactive. INACTIVE IN LANDSCAPE
  544.  
  545.      ICON performs a Get Icon Palette when you click it.
  546.      The procedure checks to see if there is anything in the icon bank
  547.      (bank 2) and will render this button inactive if the bank is empty.
  548.       INACTIVE IN LANDSCAPE
  549.  
  550.      DEF Left mouse 
  551.      returns all colours to the programme's default colours.
  552.      DEF right mouse 
  553.      Returns to the AMOS default colours (which are not much use in landscape!)
  554.  
  555.      Exit CANCEL cancels all changes and returns you to your programme.
  556.      Exit ACCEPT keeps all changes and returns you to your programme.
  557.  
  558.  
  559.      OTHER FEATURES OF LANDSCAPE
  560.      ***************************
  561.  
  562.      DRAGBAR. If you are not rendering, then the entire screen can be
  563.               dragged up and down by holding down the left mouse button.
  564.               This feature is inactive during all other menu operations,
  565.               and only works on the screen which shows the 2D and 3D plots.
  566.               This has been included because some of the picture is often
  567.               generated off the monitor screen (the actual screen used
  568.               is 320 pixels high), and I wanted to see what I had generated
  569.               without moving the horizon and regenerating the whole thing
  570.               again. When you let go of the mouse it will return to its
  571.               usual position. 
  572.                
  573.  
  574.  
  575.      TROUBLESHOOTING
  576.      ***************
  577.  
  578.      If you want to copy a palette from one scene to another then save the
  579.      source scene as an IFF file and load it into your new scene, then
  580.      regenerate. 
  581.  
  582.      If your picture is all sea, then increase the height and/or lower the
  583.      sea level. If this doesn't help it may be because you have been a silly
  584.      sod and forgotten to generate any data points! 
  585.  
  586.      If all of your mountains are very pointy then decrease the height and/or
  587.      the POWER parameters.
  588.      (You may also have to decrease the sea level to compensate.)
  589.  
  590.      If the sides of your mountains are very smooth and you want to make them
  591.      rougher then regenerate the data points using a different Fractal 
  592.      Parameter. Make it smaller for rougher terrain.
  593.  
  594.      While you are trying to adjust everything for a scene set the resolution
  595.      on 8 or 16 and render in 2D. When this looks as if it might make 
  596.      something interesting then try it on resolution 16 with 3D.
  597.      This will allow you to adjust the horizon to get the scene to fill the
  598.      screen. Use the dragbar to see what you are missing. When it all looks
  599.      about right then try it on a finer resolution.
  600.  
  601.      Sometimes you will generate something which has very high mountains 
  602.      at the front which block out the rest of the picture. These should 
  603.      show up if you render in 2D first. At present the only way around this
  604.      (assuming you don't like it) is to regenerate the data using a different
  605.      seed. I hope to do something about this in a later version.  
  606.  
  607.      ############
  608.          BUGS
  609.      ############
  610.      None. (That I know of!) All Bug reports and/or suggestions should be
  611.      sent to the above address.
  612.     
  613.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  614.       
  615.      I hope you find this programme and/or its procedures useful and that 
  616.      you bother to take the time to write back. If you have written anything 
  617.      that you would like to send me, please feel free to do so.
  618.  
  619.  
  620.      BUT PLEASE DON'T SEND ANY SILLY SCROLLY DEMOS, MEGADEMOS, ULTRADEMOS,
  621.      ULTRAMEGADEMOS, MEGAULTRADEMOS, ULTRACOSMICDEMOS, ALPHAGAMMAOMEGADEMOS,
  622.      ZAPHODEFFINGBEEBLEBROXDEMOS OR ANYTHING ELSE VAGUELY RESEMBLING A DEMO!
  623.  
  624.  
  625.      AMOS IS A BRILLIANT LANGUAGE SO HOW ABOUT USING IT TO WRITE SOMETHING
  626.      REALLY USEFUL?
  627.  
  628.      Happy (real) programming.
  629.      Andrew.
  630.  
  631.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  632.     
  633.                               FUTURE VERSIONS
  634.  
  635.      I hope to add the facility to put in roads, lakes and rivers and also to
  636.      make a few waves around the coastlines. Some clouds and haze if I can
  637.      make them look good on a lowres screen, (which might be a bit easier in
  638.      interlace now that I have the amos upgrade that handles it) if not I 
  639.      will try to adapt to hires but this will probably mean slower rendering 
  640.      times and certainly less colours.
  641.      (Unless I get really ambitious and try a HAM version!)
  642.  
  643.      Some other possibilities include:
  644.      * Rotating the map so that you can view the scene from a different
  645.        position. (Maybe even the facility to view from any position.)
  646.      * Flipping the map so that the highest points become low points and the
  647.        low points high points.
  648.      * Mouse control of the perspective by changing it on the 2D map.
  649.      * Interlace option.
  650.      * Better interface for controlling the parameters.
  651.  
  652.      At least one scenery programme that I have heard of generates music
  653.      while it is rendering. I am not quite sure what the point is but if 
  654.      anyone would like it let me know and I will see what I can do.
  655.  
  656.      You tell me, if I have enough time and memory I will do it.
  657.