home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pcmagazi / 1992 / 17 / bugs / bugs.doc < prev    next >
Text File  |  1992-09-21  |  6KB  |  111 lines

  1. BUGS.SCR (Version 1.0)                 Copyright (c) 1992 Douglas Boling
  2. ------------------------------------------------------------------------
  3.               First Published in PC Magazine October 13, 1992 (Utilities)
  4. ------------------------------------------------------------------------
  5.  
  6. BUGS & BUGSBC:
  7.               BUGS is a Windows 3.1 screen saver utility that creates
  8. voracious "bugs" that gradually eat away the display on your screen when
  9. your monitor stays idle for more than a few minutes. 
  10.  
  11. BUGS souce code should be compiled with the Windows SDK (Software Development
  12. Kit) and Microsoft C 6.0. This version includes a password protection option.
  13. To compile using C 6.0, the command is
  14.  
  15. NMAKE BUGSMSC.MAK
  16.  
  17. BUGSBC does not include a password option but can be compiled using the
  18. screen saver routines in PCSCRLIB.C and Borland's C++, 3.0.
  19. To compile with C++ 3.0, enter
  20.  
  21. MAKE -f BUGSBC.MAK
  22.  
  23. As with other screen savers, you can instantly restore your normal display
  24. with any keystroke or mouse movement. Note that since it takes a little time
  25. before BUGS covers the display entirely, you'll want to use a different screen
  26. saver if you need instant blanking for security reasons.
  27.  
  28. BREEDING BUGS
  29.  
  30.      To install the program, just copy BUGS.SCR into your Windows directory
  31. (or into the directory that contains CONTROL.EXE).  To select BUGS as your
  32. screen saver, open the Control Panel and double-click on the Desktop.  Pull
  33. down the Screen Saver combo box that contains the list of screen savers
  34. installed on your machine and pick the one titled Hungry Bugs.
  35.  
  36.     Like the other Windows 3.1 screen savers, BUGS can be configured and
  37. tested from the Desktop configuration dialog box.  By pressing the Screen
  38. Saver Setup button, you can modify the basic parameters that affect the
  39. life of a typical bug. The OK and Cancel buttons close the dialog box, with
  40. only OK saving the changes you have made.
  41.  
  42.       A short course in basic bug biology will help you understand the
  43. configuration options. Each pixel has a specific nutritional value based
  44. on its color. If a bug ingests a bright red pixel, for example, it takes
  45. in 255 calories, since the pixel has an RGB value of Red 255 + Green
  46. 0 + Blue 0.  The calorie count for a white pixel is 765 (RGB = 255 + 255 +
  47. 255).  To add a touch of variety, the three sliders in the nutrition level
  48. section of the Setup dialog box let you vary the relative nutritional values
  49. of the different colors.
  50.  
  51.     When a bug eats a pixel, the pixel turns black and the bug moves on,
  52. seeking further nourishment.  Movement requires energy, however, so each
  53. time a bug moves, a sustenance value is subtracted from that bug's caloric
  54. reserve. Thus, if you set the sustenance value to 64, 64 calories will be
  55. subtracted from a bug's energy stock each time the bug makes a turn. 
  56. Naturally, if the value of a bug's food units falls below zero, it dies
  57. of starvation.  Setting a high sustenance value causes bugs to starve
  58. quickly after they are born, while reducing this value permits bugs to
  59. survive on very few dimly colored pixels.
  60.  
  61.      When a bug eats enough pixels to reach the reproduction level set by
  62. the user, a new bug is born automatically.  By setting this level low you
  63. can cause something of a population explosion; setting a high level as a
  64. requirement for reproduction will keep only a select few bugs wandering
  65. the screen.  Each newborn bug has enough calories to sustain itself forat least a few turns before it finds any food.  The birth of the baby
  66. reduces its parent's food reserve by half.
  67.  
  68.      When BUGS starts, one bug is generated at a random location on the
  69. screen.  This bug immediately begins to eat away at the display and quickly
  70. reaches its reproduction level, whereupon it reproduces.  The second bug
  71. acts just like the first, eating pixels and giving birth to other bugs.
  72. Within a second, anywhere from tens to hundreds of bugs will have been
  73. spawned in the vicinity of the initial insect.
  74.  
  75.      To inject a touch of biospheric variety, some bugs have slightly
  76. different tasks. Thus, 10 percent of the bugs are programmed to be best
  77. at finding bright pixels.  These bugs serve as scouts.  Scout bugs don't
  78. wander randomly, but tend rather to move in the direction that provides
  79. the best food.  If moving up the screen provides a scout bug with a good meal, its next move will more than likely be up.  These scout bugs help
  80. prevent a boring herd of bugs clustering around the initial bug.
  81.  
  82.      Calculating the next move for hundreds of bugs is a time-consuming task,
  83. so the Setup box lets you limit the maximum number of bugs.  A fast 486 with a
  84. graphics accelerator card can support up to 1,000 bugs without trouble.  For
  85. slower machines, 200 or 300 bugs is the recommended maximum.  BUGS will still
  86. work if you set the limit higher, but the program will slow down.
  87.  
  88.      As a final customization option, color boxes can be checked that show you
  89. how the bugs are performing.  When you enable colorization for new baby bugs,
  90. they show up as green pixels.  When you enable colorization for dead bugs,
  91. they are shown as red pixels.
  92.  
  93.      Modifying the sustenance and reproduction level controls can easily
  94. produce excessive results.  Since it's possible to create an environment in
  95. which all the bugs starve before reproducing, or, conversely, to bog down
  96. the program by overpopulation, BUGS contains two checks on the environment. 
  97. If all the bugs die off, a new seed bug is randomly placed somewhere on the
  98. screen.  This repopulation allows the program to blank the screen eventually
  99. no matter what parameters you set.  When repopulation takes place, the
  100. sustenance value is automatically lowered by 10 percent, making the new bugs
  101. tougher than their recently deceased predecessors.
  102.  
  103.      To curb overpopulation, the ranks of the bugs are culled if their number
  104. rises to within 80 percent of the maximum number of bugs allowed.  (After all,
  105. in an overpopulated environment, predators will soon learn about such a rich
  106. food source.)  Trimming the bug population takes place every 15 seconds, with
  107. the least productive 20 percent of the bugs being killed off.
  108.  
  109. --------------------------------------------------------------------------
  110. DOUGLAS BOLING IS A CONTRIBUTING EDITOR TO PC MAGAZINE.
  111.