home *** CD-ROM | disk | FTP | other *** search
/ Game Killer / Game_Killer.bin / 143.GSCAPE.ARC / GSCAPE.DOC < prev    next >
Text File  |  1991-11-09  |  69KB  |  1,484 lines

  1.  
  2.  
  3.                             GAMESCAPE  (TM)
  4.  
  5.  
  6.  
  7.             The incredible program that allows you 
  8.             to design and distribute your own 
  9.             adventure games ! 
  10.  
  11.  
  12.                    Now with Hi-Res Color Graphics ! 
  13.  
  14.  
  15.  
  16.  
  17.  
  18. Copyright 1991 Dennis Drew.  Copyright strictly enforced. Gamescape TM 
  19. by Dennis Drew.  All rights reserved.  This manual is copyrighted.  
  20. Copying of this manual is expressly forbidden and punishable under 
  21. Federal and Civil law.  Feel free to copy and circulate the SHAREWARE 
  22. version of this program, but NOT THIS MANUAL or the REGISTERED DISK ! 
  23.  
  24.                        Produced by Drew Software 
  25.                     PO Box 101   Joplin, MO  64802  
  26.                              (417)781-4248 
  27.  
  28.                                Gamescape
  29.  
  30.     Imagine writing your own adventure games!  Have your family play 
  31. them, give them to your friends, hand them out at computer clubs, or 
  32. even sell them and make a few bucks! 
  33.     Gamescape is the incredible adventure game design system that lets 
  34. you do all this.  Using simple commands which are thoroughly explained 
  35. by an easy-to-understand manual, you can do just about anything you 
  36. would want to do in adventure gaming: 
  37.     * Define rooms, objects, monsters, and actions 
  38.     * Draw maps using IBM character graphics 
  39.     * Play music, sound alarms, beep warnings 
  40.     * NEW !  High resolution color graphics ability !  
  41.  
  42.     Gamescape also allows you to do things that no other adventure 
  43. system allows.  Your games can be of unlimited size and cover multiple 
  44. disks!  Full random features allow you to perform different actions, 
  45. depending on a "throw of the die".  Rather than hundreds of pages of 
  46. instructions and loads of complex commands, Gamescape has a short, 
  47. consise, uncomplicated manual and just a few short but very powerful 
  48. and versatile commands.  There is virtually no limitation to the 
  49. things you can do with Gamescape! 
  50.  
  51.     Purchasing this package and registering as an official user gives 
  52. you the right to distribute your adventure games without paying any 
  53. kind of a royalty fee.  
  54.     So join the world of adventure gaming today.  Gamescape is raw, 
  55. unbridled power, in an easy-to-use package. 
  56.  
  57.                        Produced by Drew Software   
  58.               PO Box 101  Joplin MO  64802  (417)781-4248 
  59.  
  60. Color hires graphics require an EGA/VGA compatible video system.  CGA 
  61. hires graphics will be in monocolor. 
  62.  
  63.                                Gamescape
  64.  
  65.      Copyright 1988-91 Dennis Drew.  Copyright strictly enforced. 
  66.  
  67.     Welcome to Gamescape, the program that lets you write your own 
  68. adventure games AND distribute them for fun or profit! 
  69.  
  70.     Important:  See the special notice regarding CONFIG.SYS later in  
  71. this manual.  Otherwise, Gamescape may not work because of improper 
  72. configuration on your computer. 
  73.  
  74. IMPORTANT NOTICE! 
  75.     Please read this manual thoroughly before attempting to develop an 
  76. adventure game.  This is very important !   It takes time, patience, 
  77. and practice to learn how to write good games.  Gamescape is not a 
  78. system that you can use without reading the instructions.  Taking time 
  79. to read now will save you weeks of headache later.  Don't give up; if 
  80. you stick with it, you will soon be writing your own adventure games. 
  81.  
  82. IMPORTANT CONFIG.SYS INFORMATION 
  83.     The following two lines (with the minimum configurations shown) 
  84. must be in your CONFIG.SYS file on your DOS BOOT disk.  
  85.  
  86.                             FILES=20 
  87.                             BUFFERS=20 
  88.  
  89.     If you do not have a CONFIG.SYS file on your DOS BOOT disk, or if 
  90. it does not contain at least the above specs, then you must update 
  91. your CONFIG.SYS file so that it does.   To do this, switch to your 
  92. main boot drive (usually either A: or C:) and then enter the following 
  93. lines EXACTLY: 
  94.  
  95.     COPY CONFIG.SYS + CON CONFIG.SYS (press enter) 
  96.     FILES=20 (press enter) 
  97.     BUFFERS=20 (press enter) 
  98.     (press F6 key) 
  99.     (press ENTER) 
  100.     (reboot your computer) 
  101.  
  102.     If you are unsure about how to do this, contact your computer 
  103. dealer.  This computer file is a STANDARD requirement of most modern 
  104. computer programs and should be present on every computer system.   
  105.  
  106.  
  107.                         DISTRIBUTING GAMESCAPE
  108.     When you give copies of Gamescape (abbreviated as GS in some areas 
  109. of this manual) to your friends, you must copy only the shareware 
  110. version.  You may not copy this manual or the registered version disk.  
  111. You must not provide them with copies of GSGRAPH.EXE.  These things 
  112. are copyrighted and bring severe penalties if the copyright is 
  113. breached (including fines and prison terms). 
  114.     Shareware companies must obtain a distribution license from the 
  115. author prior to marketing this package.  Failure to do so will be 
  116. considered breach of copyright. 
  117.  
  118.      IMPORTANT NOTICE ON NON-REGISTERED GAME DISTRIBUTION LICENSE 
  119.     When we first released GAMESCAPE two years ago, we had one, single 
  120. rule regarding distribution of games produced by GAMESCAPE: registered 
  121. users only! 
  122.     Since then we have decided to be a little more lenient.  You may 
  123. distribute your GAMESCAPE adventures without being a registered user, 
  124. under the following license requirements: 
  125.     1. You may not charge for your game in any form, not even a 
  126. diskette duplication fee.  Shareware companies wishing to market a 
  127. game produced with GAMESCAPE must obtain a distribution license from 
  128. the author; it is illegal to distribute a game by a non-registered 
  129. user without our express written permission.  What this means in short 
  130. is that you may give copies to your friends, send them to penpals, and 
  131. enter them in GAMESCAPE contests, but you may not market them in any 
  132. fashion, regardless of profit or non-profit motive, without express 
  133. written permission from the author. 
  134.     2. You may not use advanced GAMESCAPE features.  Advanced features 
  135. are those found in the REGISTERED version, and include: 
  136.     LINKing modules     >MSGFL command 
  137.     Hires GRAPHICS (although you may use block graphics as is standard 
  138.     with the shareware version) 
  139.     3. You may not present the game as registered.  You may not use a 
  140. registered version of GAMESCAPE to produce your game (you must use the 
  141. shareware version). 
  142.     4. The SCAPERUN.EXE program must be included (or the game won't 
  143. work). 
  144.     Non-compliance with any of these requirements will, by terms of 
  145. our license, void your ownership of your work (in other words, games 
  146. distributed against our license requirements become our property).  
  147. This is not so much for our benefit as it is to protect those who DO 
  148. pay for registration; they deserve the rewards of their payment. 
  149.  
  150.          
  151.                         REGISTERED USER NOTICE
  152.     The registered version of Gamescape, beginning with version A.3, 
  153. now contains HI-RES GRAPHICS ABILITY!!!  Yes, you can create your own 
  154. B&W or color pictures and add them to your games.  This feature is 
  155. available on the registered version only as our way of saying "Thank 
  156. you for registering!" 
  157.     If you're a registered user, CONGRATULATIONS!  You can just about 
  158. do what you want.  That's what you paid for.  You can use our advanced 
  159. functions including high-res graphics.  You can charge bucks for your 
  160. work.  You can distribute through shareware.  You don't have to pay 
  161. royalties of any kind.  You can give your games away or sell them, and 
  162. pursue any marketing method you wish.  You are fully licensed.  About 
  163. the only thing we require is standard, forseeable stuff, such as: 
  164.     1. You must include the SCAPERUN.EXE program when you distribute 
  165. your game (naturally; it's the run-time module). 
  166.     2. You may not alter or misrepresent the GAMESCAPE system in any 
  167. manner, or present your games in a manner we would consider contrary 
  168. or harmful to our concepts and purposes of GAMESCAPE.  That's all; 
  169. pretty simple stuff. 
  170.  
  171.     The bottom line:  if you're an unregistered user, feel free to 
  172. give your games to friends and to enter GAMESCAPE contests.  Enjoy 
  173. yourself; we want you to have fun using this excellent program.  But 
  174. remember that there's a lot more available to you if you register! 
  175.  
  176. LOADING GAMESCAPE 
  177.     The Gamescape disk contains the following files: 
  178.     START.BAT     
  179.     FLOPPY.BAT     These files are all three used to install GS. 
  180.     HDISK.BAT    
  181.     INSTRUCT.DOC   "Read" file, presented during installation. 
  182.                    Includes a copy of the GS order form and license. 
  183.     GSCAPE.ARC     GS files in condensed format. 
  184.     UNARC.COM      Un-condenser, transfers GS files to your system. 
  185.  
  186.     To install the GS programs to your system, enter the command: 
  187.                                  START 
  188.     The computer will then instruct you what to do from that point on. 
  189.  
  190.  
  191.                           REMOVING GAMESCAPE 
  192.     If you sell your computer system or if you decide to sell 
  193. Gamescape to another user, you must remove the registered version from 
  194. your disk.  If you sell Gamescape along with your computer, the 
  195. manuals and registered disks must accompany it. 
  196.     To remove Gamescape, change to the Gamescape directory: CD \GSCAPE 
  197. Then enter the command:    REMOVER 
  198.     The REMOVER program will leave Gamescape intact, but will remove 
  199. the registered version. 
  200.  
  201.                             GAMESCAPE FILES 
  202.     Once the GS system is "unarced", the following files are present: 
  203.  
  204. GSCAPE.EXE        Main GS "compiler", turns your adventure into 
  205.                   machine readable code.    
  206. GSCAPE.DOC        Partial GS manual, for use with shareware version. 
  207. GSGRAPH.EXE       High resolution graphics development program.  
  208.                         Requires CGA/EGA/VGA.    
  209. SCAPERUN.EXE      "Run-time module", must be distributed with your 
  210.                   compiled adventure code in order for the code to 
  211.                   work.  There is no royalty charge for this module. 
  212. PALETTE.DAT       Standard palette color file (alterable to suit your 
  213.                   taste in colors) 
  214. TABCONVT.EXE      Converts tabs to spaces in your adventure files. 
  215. FIXWS.COM         Converts WordStar and other non-ASCII files to 
  216.                   straight ASCII. 
  217. EASY.ADV          An easy to understand, simple adventure game example. 
  218. TEST.ADV          A sample adventure game that tests most GS functions. 
  219. STARTER.FIL       Startup file that should be used as a basic model for 
  220.                   all of your adventure games. 
  221. SAMPLE.ADV        Small, fully-developed sample adventure game. 
  222. SAMPLE.IN?        "Include" files for SAMPLE.ADV. 
  223. 1.GR0 thru 5.GR6  Graphics files for SAMPLE.ADV 
  224.         
  225.     If these files are not present, please contact us immediately with 
  226. the name and phone/address of the distributor who supplied the game to 
  227. you, and we'll make them rue their existence on earth (as well as 
  228. correct the situation). 
  229.  
  230.                           WHAT IS GAMESCAPE? 
  231.     Gamescape is an adventure engine.  This means that it makes your 
  232. adventure go, by providing the "fuel". 
  233.     An adventure engine allows you to write an adventure game, and 
  234. then execute it by feeding it into a distributable "run-time" program 
  235. that proceeds to make the game work.  This allows the game to be 
  236. distributed.  Gamescape has no memory limitation, for it pulls its 
  237. information from disk.  While the disk access takes a tiny bit longer 
  238. than a totally memory resident system, it does allow you to write 
  239. adventure games limited only by the size of your disk (or in the case 
  240. of Gamescape, which allows linking multiple disks, even larger!).  
  241. Plus, a single engine will run an unlimited number of adventure games 
  242. just by entering SCAPERUN and the adventure name. 
  243.  
  244.                       GAMESCAPE AND YOUR COMPUTER 
  245.     As with any development system, the faster your computer, the 
  246. better.  Gamescape is powerful.  It allows you to develop games of 
  247. almost unlimited size and versatility.  This of course takes 
  248. microprocessor, RAM and disk access time.  While Gamescape works 
  249. properly on a "PC/XT" type machine (8088 microprocessor), it works 
  250. much better on faster computers. 
  251.     8088 systems will work, but will be somewhat slow, especially 
  252. those that are floppy-based.  This is not a fault of Gamescape, but of 
  253. the slow disk and memory access times of those machines.  Of course, 
  254. using Gamescape is still much faster than trying to write an adventure 
  255. game with a standard language compiler.  Then too, there is the 
  256. benefit that your games are no longer limited in size; you can design 
  257. adventure games limited only by the size of your disk.  Gamescape 
  258. really smokes on a 12mhz 286 with a 28ms hard disk drive; that's the 
  259. minimal type of system we recommend for best results from your game 
  260. development environment.  
  261.     But even 8088 disk users will derive value from Gamescape.  Just 
  262. remember that if you have a slow computer, access will be slow.  Be 
  263. patient.  Realize that the first MS-DOS 8088 based computers were 
  264. produced over 10 years ago.  While they're by no means dinosaurs, the 
  265. industry has come a long way since then.  If you plan to write and 
  266. distribute adventure games, you might want to move up to a faster 
  267. machine. 
  268.  
  269.        THE GAMESCAPE INTERFACE -- or how to make the thing work 
  270.  
  271.     QUICK START.  We know you are anxious to get something going.  So 
  272. after you have installed Gamescape, enter the following command: 
  273.                               GSCAPE EASY 
  274.  
  275.     If you have a single floppy system and no hard disk drive (not the 
  276. best in the world for running Gamescape) then just enter GSCAPE and 
  277. then switch disks and enter the filename EASY  when prompted by the 
  278. program.  However, we do point out that using Gamescape without a hard 
  279. disk drive is like skiing with only one ski.  It works, but it's not 
  280. so easy and your options are severely limited. 
  281.     Follow the program instructions.  This will compile the EASY 
  282. adventure, so it becomes playable.  To play the game, exit Gamescape 
  283. and then enter: SCAPERUN EASY 
  284.  
  285.     NORMAL USE.    In order to make Gamescape work,  you must first of 
  286. all have a text editor (or word processor).  The editor must be able 
  287. to output TRUE ASCII text (that is, if you create a file named 
  288. GAME.ADV and then enter TYPE GAME.ADV, you can actually read it).  
  289. PCWrite is one such processor.  So is WordStar if told to save in 
  290. ASCII format.  
  291.     We've included with Gamescape a public-domain program called 
  292. FIXWS.COM which can correct some ill-behaved word processors (such as 
  293. WordStar in normal editing mode).  Note however, that if you use FIXWS 
  294. or other such programs, any graphic characters (explained later) that 
  295. you use in your games will disappear, as these tools remove any non-
  296. standard ASCII characters. 
  297.     In order to use FIXWS, enter the command: FIXWS filename.ADV 
  298.     We do not supply a text editor with Gamescape for two reasons.  
  299.     1- It's reinventing the wheel.  There are plenty of good ones 
  300. already out there that are easily available and cost little or 
  301. nothing. 
  302.     2- Most people already use a word processor and have preferances 
  303. in that area.  No need to change your ways just for this one program.  
  304.     If you don't have a good text editor, you'll probably want to get 
  305. one.  If you want to do it the hard way, the standard DOS program 
  306. EDLIN will serve the purpose.  If you don't know how to use EDLIN, 
  307. then look through those dozens of books you have that explain exactly 
  308. how it works, and learn it.  You only have to learn 6 commands: 
  309.     End/save    Quit     Insert     List       Delete     and    ^Z. 
  310.  
  311.     Realize however that EDLIN is cumbersome, non-powerful, and only 
  312. works with files 64K in length, so it is very limiting.  You can find 
  313. a good public domain editor for little or no money, so I encourage you 
  314. to go that way if you don't already have a text editor.  
  315.     If you decide to use EDLIN, be aware of that 64K limit.  While 
  316. only the very largest of adventure games will exceed that limit, if 
  317. you by chance do so, EDLIN has the nasty habit of erasing the 
  318. remaining text without telling you.  For our purposes, we have found 
  319. that very simple ASCII word processors or programming editors are the 
  320. best.  
  321.     The actual adventure database is created using your editor.  You 
  322. enter the information using a set of guidelines we will present in 
  323. this instruction manual.   Create your database file using a file 
  324. extension of .ADV (ie GAME.ADV).  You must use the .ADV extension; 
  325. Gamescape will recognize no other. 
  326.     Once you've written the actual adventure, you use the GSCAPE.EXE 
  327. program to compile it.  Compilation turns your adventure into a form 
  328. that Gamescape can read later when the game is actually played. If no 
  329. extension is present, Gamescape automatically adds the .ADV extension. 
  330. So to get the system to compile, you enter the command: GSCAPE 
  331. filename  (you supply the filename) 
  332.     The compiling function creates six new files with the same name as 
  333. your original database, but with the extensions of .GS1 through .GS6.  
  334.     Then you execute the finished game by typing in: SCAPERUN filename 
  335.     Everything is automatic from there on.  Don't expect your 
  336. adventure to work 100% correct the first time; as with any other 
  337. computer project, you'll make mistakes.  But I've put a couple of 
  338. things in the programs to help you locate those errors, so you should 
  339. do OK.  
  340.     Of course, when you distribute your adventure, you have to include 
  341. the SCAPERUN.EXE program with it, because that's what makes the thing 
  342. work.  No problem there; Gamescape was designed with that in mind.  
  343. Just read the licensing agreement and you're all set.  Remember that 
  344. registered users do have extra goodies that they can add to their 
  345. games.  You will find that I'm very friendly with registered users.  
  346. I'll answer questions.  I'll answer letters.  Invite me to a party, 
  347. and I'll probably show up (you pay the travel expenses, o' course!).  
  348.  
  349.                        TRY OUT THE SAMPLE GAME! 
  350.     I've included three sample adventure games called EASY.ADV, 
  351. SAMPLE.ADV, and TEST.ADV.  Try the EASY adventure first.  Then try 
  352. SAMPLE and finally TEST.  SAMPLE contains graphics, and demonstrates 
  353. how graphics appear in the Gamescape environment. 
  354.     This will give you a feel for how Gamescape works, and will show 
  355. you how an adventure data file interfaces with the Gamescape program.  
  356. Go ahead and do this now before reading any further.  SAMPLE is a 
  357. relatively easy adventure game.  It may take you several tries before 
  358. you conquer it, but it only has 5 rooms and will take from 15 minutes 
  359. to an hour to play, depending on your gaming experience.  Once you've 
  360. played it, and read this manual, examine the files thoroughly to see 
  361. how Gamescape works. 
  362.  
  363.                     HOW TO WRITE AN ADVENTURE GAME 
  364.     There are 8 basic steps involved in writing an adventure game.  
  365. These are my concept and you can choose to follow them, alter them for 
  366. your own use, or ignore them as you wish.  But I've found they work 
  367. for me and I feel that if you skip (or skimp on) any one of them, it 
  368. will detract from your game. 
  369.  
  370.     STEP 1.  Start with a theme, a plot that tells what your game is 
  371. going to do.  For example, with my popular game MAROONED AGAIN the 
  372. theme was: 
  373.  
  374.     You have crash-landed on an alien planet.  But all is not lost; 
  375. you have found an alien ship.  The crew apparently died from some 
  376. strange disease.  The ship is still in good condition, but it was not 
  377. built for human anatomy to withstand a blast-off. 
  378.     Fortunately, you have super-strong clones aboard your ship, but 
  379. they were damaged in the crash.  They now only recognize 1 or 2 words 
  380. at a time.  Your goal:  send them aboard the alien ship, find the 
  381. components required to get it to blast off, and send them for help. 
  382.  
  383.     See how that works?  You need a theme of your own, something to 
  384. tie the entire game together. 
  385.  
  386.     STEP 2.  Once the theme is established, start writing down 
  387. individual things you'd like to have happen in the game.  For example, 
  388. you may find a key that's required to open a door located elsewhere.  
  389. Or you may have to fight a robot to gain access to a room.  Don't get 
  390. too complex.  Take my word for it; adventure games get complex all on 
  391. their own as you start writing the actual code.  
  392.  
  393.     STEP 3.  Draw a map.  Set up rooms and corridors, or open land 
  394. areas, etc., keeping in mind the things in step 2 so you can 
  395. incorporate them into your map.  Use a big sheet of paper and make the 
  396. rooms large (2" square is a good size) because you're going to be 
  397. scribbling in details later.  The key to proper adventure game writing 
  398. is advanced planning.  You should have the entire game designed before 
  399. you begin writing one line of code! 
  400.  
  401.     STEP 4.  Number the rooms.  Room #1 is always the starting 
  402. location of the adventure. 
  403.  
  404.     STEP 5.  Go through the rooms one by one and make a list of the 
  405. OBJECTS in the rooms, and the WORDS that will be required to play the 
  406. adventure.  This will only be a partial list; as you test the 
  407. adventure you'll probably find more objects and words that you'll 
  408. need.  Try to be as thorough as possible. 
  409.  
  410.     STEP 6.  Make sure the game is logical.  One of the worst problems 
  411. with many adventure games is that the things the author requires you 
  412. to do don't make any sense.  I remember one game I played where I 
  413. found an Egyptian statue that would kill me every time I got near it.  
  414. I could find no way around this.  When I started asking around and 
  415. tore the game apart, I finally discovered that a ruby found earlier in 
  416. the game (which the game stated was a treasure) was actually the heart 
  417. of the statue, and had to be thrown into a lava pit.  There were no 
  418. clues that this should be done, no hints.  Totally illogical.  I hate 
  419. an adventure game that requires the player to be stupid and do 
  420. ignorant and dumb things in order to make the game work (there is a 
  421. difference of course, between stupid things and sneaky things).  So 
  422. ask yourself as you write the game: If I were playing the game, would 
  423. this be a logical thing to do, something that I might actually think 
  424. of doing?  If the answer is "no", eliminate that thing and do it some 
  425. other way. 
  426.  
  427.  
  428.     STEP 7.  Once you're convinced the game is logical, begin writing 
  429. the code.  There is a file called STARTER.FIL that should be the heart 
  430. of every adventure you write.  It includes standard adventure 
  431. functions, as well as a few required adventure functions that you'll 
  432. need for each game.  You can alter it any way you wish; it's just a 
  433. guideline to use.  
  434.     Of course, do not alter  STARTER.FIL itself; copy it to another 
  435. file:     COPY STARTER.FIL MYGAME.ADV 
  436.     Then use the MYGAME.ADV file to write your adventure. 
  437.  
  438.     STEP 8.  Writing the game and testing it yourself is called the 
  439. alpha stage.  Beta test stage is the important one.  Call in a friend 
  440. who enjoys playing adventure games (not two, because you'll want to 
  441. beta test this on several individuals) and let him have at it.  Grab a 
  442. pencil and notebook and sit by him the whole time.  Don't give any 
  443. hints; figuring out the adventure is part of the testing.  Give hints 
  444. and you'll ruin the spontenaity such testing requires.  Resign 
  445. yourself to the fact that you will most likely need several sessions 
  446. to test a game propery.  This is the research & development stage; R&D 
  447. takes time.  Anything worth doing... 
  448.     As you note errors in the game (and you will) write down the 
  449. circumstances and errors that result.  Take legible, detailed notes.  
  450. But don't alter the game right then unless it is unplayable due to 
  451. that error.  Let your friend finish playing, all the while writing 
  452. down alterations.  Also, make notes of things you wish to add to the 
  453. game; you'll find lots of things to include that you didn't think of 
  454. before.  
  455.     Once your friend has finished playing (this may take many, many 
  456. hours, or even several sessions, depending on the complexity of the 
  457. game) then make the changes to your game, and call over another 
  458. friend.  Go through the same process again.  Do this two, three, four, 
  459. or five times if necessary, until the game is playable.  Don't try to 
  460. cover every possible situation that might occur; just make sure that 
  461. the things you do allow in your game, work properly.  
  462.     After this is done, you are now to gamma production stage, which 
  463. means that your game is ready to distribute. You may still find minor 
  464. bugs in your code as the months go by, but none of them should 
  465. seriously affect game play and for the most part everything will be 
  466. fine.  
  467.  
  468. THE GAMESCAPE DATA COMMANDS 
  469.     Following is a kind of reference manual to show you what the 
  470. Gamescape commands are like.  To get a good idea of how these work, 
  471. look at the *.ADV games included with Gamescape.  Before you do this 
  472. however, make sure you play the sample games to get the feel of how 
  473. Gamescape works.  
  474.  
  475.  
  476.                                SEGMENTS
  477.  
  478.     Gamescape uses three main code functions:  
  479.         SEGMENTS            IFs              DOs.  
  480.  
  481.     A segment is a primary command, an instruction to Gamescape 
  482. regarding how to handle game play.  Segments always begin with a >.  
  483.     The segment names are: 
  484.  
  485.     >LOCAT        Location description 
  486.     >MESSG        Message to tell the player what's going on 
  487.     >OBJEC        A "GETable" thing 
  488.     >WORDS        Player commands recognized by Gamescape 
  489.     >COMND        Gamescape internal instruction list 
  490.     >REMAR        Remark.  Ignored during game play 
  491.     >INCLU        Include.  Attatch sub-module to main module 
  492.     >ENDIN        End include.  Exit sub-module 
  493.     >DONE !       Adventure data file finished.  Exit compilation. 
  494.  
  495. Blank lines are allowed in some segments, not allowed in others: 
  496.  
  497.     BLANK LINES ALLOWED: 
  498.         Between segments. 
  499.         Inside >LOCAT segments 
  500.         Inside >MESSG segments 
  501.         Inside >REMAR segments 
  502.  
  503.     BLANK LINES NOT ALLOWED: 
  504.         Inside >OBJEC segments 
  505.         Inside >WORDS segments 
  506.         Inside >COMND segments 
  507.  
  508. <       TERMINATOR.  This indicates the END of of the segment 
  509.         and/or actions.  In >LOCAT and >MESSG segments, it indicates 
  510.         the end of that segment.  In >COMND segments, it means that 
  511.         no further actions will be performed if the requirements of 
  512.         that command segment have been met (see IF functions). 
  513.  
  514.                            SEGMENT FUNCTIONS 
  515.  
  516. >COMND Command.  Tells Gamescape what to do when the player enters a 
  517. move.  (see Command Syntax section). 
  518.  
  519. >DONE ! End of entire Gamescape adventure data file.  NOTE: Does not 
  520. use a terminator ( < ). 
  521.  
  522.                                 >INCLU 
  523. >INCLU                 
  524. filename.ext         File name to be included.  8+3 character max. 
  525.  
  526. The Include segment allows you to divide a game into several code 
  527. "modules" and join them together.  When Gamescape comes across an 
  528. >INCLU segment, it joins the indicated file just as if it were part of 
  529. the main adventure file.  Used primarily in very long adventure games 
  530. with multiple "linked" modules.  In our SAMPLE.ADV game, we have 
  531. separated the Messages, Objects/Words, and Commands into external 
  532. >INCLUde files.  Similar to "subprogram" functions in programming 
  533. langauges.  (See also >ENDIN) NOTE: Does not use a < terminator. 
  534.  
  535.                                 >ENDIN 
  536. End inclusion.  Returns to main module from sub-module.  Has no 
  537. extra specifications; as soon as Gamescape sees this command, it exits 
  538. the >INCLUded file and returns to the main adventure module. NOTE: 
  539. Does not use a < terminator. 
  540.  
  541.                                 >LOCAT 
  542. Defines a specific location (ie "room") in the adventure game.  
  543. Format: 
  544. >LOCAT                     
  545. X         Number of the location (ie room number)               
  546. Y         Optional.  I.D. Number of the graphics files for this room. 
  547. NSEWUDNeSeNwSw   Exit directions (max 20 characters) 
  548. These lines contain descriptions of the location.  There are 18 lines 
  549. maximum allowed (but 12 to 15 is considered best for game play). 
  550. Locations were reduced from 20 to 18 lines with v3.4 due to screen 
  551. space limitaions. 
  552. <                Terminator 
  553.  
  554.               EXTRA INFORMATION ON THE GRAPHIC IDENTIFIER 
  555.     The "Y" option above was introduced with version A.3.  It is an 
  556. optional line and can be left out if there are no graphics in your 
  557. adventure, or if this particular location has no graphics. 
  558.     Graphics files are always given numerical names (ie 1, 3, 4, etc). 
  559. The GSGRAPH program gives them extensions as follows: 
  560.     .GR0            CGA hires monocolor graphics 
  561.     .GR1-GR5        EGA hires color graphics 
  562.     .GR6            Monocolor IBM character graphics. 
  563.     Ignore the extension and include only the numerical identifier for 
  564. the graphics file associated with this location (not the room number.  
  565. See the section on GRAPHICS for additional information). NOTE: If you 
  566. plan to use location graphics, limit your text to the left side of the 
  567. screen. 
  568.  
  569.                                 >MESSG 
  570. Defines a specific message which can be displayed in the game 
  571. by using the PRINT command. Format: 
  572.  
  573. >MESSG             
  574. X             Number of the message                            
  575. Each message may contain up to 5 lines of information at this point. 
  576. Anything in excess of 5 lines will likely be ignored.  Messages were 
  577. reduced from 10 to 5 lines as of version 3.4 because we discovered 
  578. that 90% of all messages were 5 lines or less.  This greatly reduced 
  579. disk space requirements. 
  580. <             End of message terminator 
  581.  
  582.                                 >OBJEC 
  583. >OBJEC             
  584. X             Number of object (300 allowed). Must be sequential. 
  585. Y             Starting location of object 
  586. ITEM-NAME     Description.  20 characters maximum-- 
  587.               Note:  No spaces allowed !  Use -- or _ instead. 
  588.               Does not use a < terminator. 
  589.  
  590.                                 >REMAR 
  591. >REMAR                 
  592. You may enter as many remark lines here as you wish. Remarks are notes 
  593. to yourself and are totally ignored by Gamescape. Use lavishly; they 
  594. help you keep track of what's going on. 
  595. <              End of remark 
  596.  
  597.                                 >WORDS 
  598. >WORDS             
  599. word                 The main word itself... no spaces ! 
  600. synonym 1            (optional) 
  601. synonym 2            (optional) 
  602. synonym 3            (optional) 
  603. <                    End of word list 
  604.  
  605. There are 300 words allowed, each with 3 synonyms (for a total of 1200 
  606. recognizable words).  For example, you may decide that the main word 
  607. is LOOK.  But synonyms to that may be L, SEE and VIEW.  All of them 
  608. will be recognized as equal.  Adventure commands take the form of a 
  609. verb and noun.  Examples:  LOOK -- GET ROPE -- SEARCH ROOM --  N S E W 
  610. U D (directions) -- HELP -- GO WINDOW -- KILL MONSTER -- CLIMB TREE  
  611. etc etc. 
  612.  
  613. The first word is always a verb, the second always a noun. 
  614.  
  615.                          REGISTERED USERS ONLY
  616.  
  617. There are special functions which are available only for registered 
  618. users, as our way of saying "Thanks for registering."  
  619. These are explained below: 
  620.  
  621.            (This section present in registered manual only)
  622.  
  623.                  END OF REGISTERED USERS ONLY SECTION 
  624.  
  625.  
  626.                            SPECIAL LOCATIONS 
  627.     There are four locations that are recognized by Gamescape as 
  628. having special meaning: 
  629.  
  630.     301: Limbo (for objects not in use at the current time) 
  631.     302: The Adventurer 
  632.     303: Current location ("room") 
  633.     0 : Special GET function (see the OBJ command) 
  634.  
  635.                                  FLAGS 
  636.     A "flag" is a variable, an item that can have several different 
  637. values.  Imagine it to be an invisible "box" that can store many 
  638. different items, but only one at a time.  You may use up to 100 flags.  
  639.     For example, imagine in your game that someone has to open the 
  640. refrigerator in order to be able to get some food.  The logic would be 
  641. this: 
  642.  
  643.     If the person says OPEN FRIDGE 
  644.     And the refrigerator is not open 
  645.     Open the fridge 
  646.     Do something rotten. 
  647.  
  648.     The actual code would be: 
  649.  
  650.     >COMND 
  651.     OPEN FRIDGE         Player says to open the fridge. 
  652.     IF                  If... 
  653.     FLAG=               (by checking the flag we find) 
  654.     2                   the refrigerator 
  655.     0                   is closed 
  656.     DO                  do the following: 
  657.     FLAGSET             change the flag 
  658.     2                   of the refrigerator 
  659.     1                   to be open 
  660.     PRINT               and print the message 
  661.     5                   he's just had milk spilled on him ! 
  662.     < 
  663.  
  664.     We have here arbitrarily decided that the flag for the 
  665. refrigerator opened or closed is to be flag #2 (and we write it 
  666. down... preferrably in a special >REMARk section of our code).  If 
  667. flag 2 equals 0, the door is closed.  If flag 2 equals 1 then the door 
  668. is opened.  
  669.     Flags can be used to indicate many different things.  There is 
  670. virtually no limit.  You can use flags to keep score, to mark things 
  671. accomplished/not accomplished, to track adventurer characteristics 
  672. such as Strength, Stamina, Accuracy, etc.  In fact, with some 
  673. ingenuity, Gamescape can be used to write more than adventure games.  
  674. You could actually create an entire Role Playing environment!  
  675. Gamescape has many flag commands to allow you complete versatility in 
  676. flag use.  
  677.  
  678. SPECIAL FLAG RECOGNIZED BY GAMESCAPE: 
  679.     101 -- number of moves taken. 
  680.  
  681.  
  682. (See additional flag notes in the special LINK section.) 
  683.  
  684.  
  685.                            COMMAND REFERENCE
  686.     >COMND is basically an IF/DO list that says to Gamescape: IF one 
  687. or more conditions  prove to be true, then DO one or more things as a 
  688. result.  If any of those conditions prove to be false, the command 
  689. will not be performed.  For example, if the player tells the computer 
  690. to GET GOLD and IF the GOLD EXISTS IN THE CURRENT ROOM and the 
  691. ADVENTURER IS NOT CARRYING THE GOLD then DO the following: GET THE 
  692. GOLD and tell the adventurer he's filthy rich ! 
  693.  
  694.     >COMND 
  695.     GET GOLD            The player's keyed-in instructions 
  696.     IF                  If... 
  697.     EXIST               there exists 
  698.     3                   object 3 (the gold) 
  699.     12                  in location 12 (current room) 
  700.     GONE                and there is missing 
  701.     3                   object 3 (the gold) 
  702.     302                 at location 302 (the player), then... 
  703.     DO                  Perform the following: 
  704.     OBJ                 Move object 
  705.     3                   3 (the gold) 
  706.     302                 to location 302 (the player) 
  707.     PRINT               and print message number 
  708.     5                   five ("You are filthy rich!") 
  709.     <                   End this command segment. 
  710.  
  711. Note that in the above >COMND segment, checking the player to see if 
  712. he has gold is likely to be redundant; if the gold is in the room, 
  713. it's obvious the player isn't carrying it.  However, this might be 
  714. valid if the gold is in pieces, and there could be some in the room as 
  715. well as carried by the player ! 
  716.  
  717.     The following pages show the format of >COMND segments.  The best 
  718. way to learn how these work is to examine the SAMPLE.ADV file for 
  719. examples.  But be sure to play the SAMPLE adventure before delving 
  720. into it, or you will spoil your fun!  
  721.  
  722.  
  723.                            >COMND STRUCTURE
  724.  
  725. SYNTAX       R/O   DESCRIPTION 
  726.  
  727. >COMND        R        Command segment indicator 
  728. verb noun     R        Player entry word(s) 
  729. IF            O        Check to see if something is TRUE 
  730. conditions    O        Conditions of IF section 
  731. DO            R        Beginning of DO section 
  732. actions       O/R      Steps to perform (usually required) 
  733. <             O        Indicates END of command sequence 
  734.  
  735.     Note: R = required, O = optional 
  736.  
  737.     An asterisk * as a verb and/or noun means any word in the word 
  738. list. Each line in a >COMND segment is a "line".  You may have a 
  739. maximum of 16,000 lines in your COMND section.   Note that this is a 
  740. LOT of lines... enough for a game of more than a hundred adventure 
  741. locations, or a bigger game than would fit on a standard floppy 
  742. diskette!  
  743.  
  744.                            MULTIPLE COMMANDS 
  745.      You are not limited to only one executable command per move.  A 
  746. single instruction by the player may trigger many differerent 
  747. commands, depending on how you have the game set up.  
  748.  
  749.                              ABSENSE OF < 
  750.     Gamescape will continue to read commands until it hits a < 
  751. (terminator symbol) in a totally fullfilled command (all the IF's are 
  752. true).  Even if all the IF's are fulfilled, unless there is a < 
  753. present, Gamescape will do what that >COMND set says to do, and then 
  754. continue on looking for others.  This allows you to do many different 
  755. things as a result of a single player action, and gives you incredible 
  756. versatility in game design. 
  757.  
  758.                             PRESENCE OF * * 
  759.     Each >COMND may recognize a single verb, a verb and noun, a verb 
  760. and an asterisk, or two asterisks.  An asterisk means "whatever word".  
  761. So no matter what word is entered, the command will be accepted.  For 
  762. example, let's imagine you have a command like the following : 
  763.  
  764. >COMND             Command segment 
  765. * *                All verbs, all nouns 
  766. DO                 DO the following 
  767. PRINT              Print message 
  768. 72                 number 72 which says, "Thank you" 
  769.  
  770.     Since this command is performed no matter what verb/noun the 
  771. player enters, Gamescape will say "Thank you" following every move.  
  772. Since no < terminator was at the end of the command, it will continue 
  773. on to see if any other >COMND segments match the actual verb and noun 
  774. entered by the player. 
  775.  
  776.                             "IF" REFERENCE 
  777.  
  778. AT             If adventurer is at location X X 
  779.  
  780. AT>            If adventurer's current location is greater than X X 
  781.  
  782. AT<            If adventurer's current location is less than X X 
  783.  
  784. EXIST          If object X is present at location Y X Y 
  785.  
  786. GONE           If object X is not present at location Y X Y 
  787.  
  788. NOTAT          If adventurer not at location X X 
  789.  
  790. NOTEXIST       If object X is not present at current location or on X                    
  791. adventurer 
  792.  
  793. PRESENT    If object X is present at current location or on adventurer 
  794.  
  795. RAND           If a random number from 1 to X = Y 
  796. X              (do not confuse with RANDSET, which is a DO function) 
  797.  
  798.  
  799.                               "IF" FLAGS
  800. (Important:  see additional FLAG notes in the special LINK section). 
  801.  
  802. FLAG=         If flag X = the real value Y (100 flags allowed) 
  803. X                
  804. Y                                               
  805.  
  806. FLAG<>        If flag X is not equal to the real value Y     
  807. X             
  808.  
  809. FLAG>         If flag X is greater than the real value Y 
  810.  
  811. FLAG<         If flag X is less than the real value Y 
  812.  
  813. FFLAG=        If flag X = flag Y 
  814.  
  815. FFLAG<>       If flag X is not equal to flag Y 
  816.  
  817. FFLAG>        If flag X is greater than flag Y 
  818.  
  819. FFLAG<        If flag X is less than flag Y 
  820.  
  821.  
  822.                             "DO" REFERENCE
  823.  
  824. SINGLE WORD ACTIONS 
  825.  
  826. CLS         Clear screen 
  827. DROP        Drops whatever object has been specified in the noun   
  828. DUMP        Drop all objects carried by adventurer, into current location 
  829. END         End adventure (allows replay option) 
  830. INVEN       Show inventory carried by adventurer 
  831. LOAD        Load previously saved game 
  832. PRESSKEY    Display PRESS ENTER TO CONTINUE and wait 
  833. QUIT        Quit adventure (allows Continuation option) 
  834. SAVE        Save current game 
  835. SHOW        Describe current location and all objects at this location 
  836. <           Terminator.  Displays MOVE # and waits for next player move 
  837.  
  838.                           MULTI-WORD ACTIONS 
  839.  
  840. FLAGADD        Increment flag X by real value Y   
  841. X                 
  842.  
  843. FLAGSET        Set flag X to real value Y         
  844. X                 
  845.  
  846. FFLAGADD       Increment flag X by amount in flag Y 
  847. X                     
  848.  
  849. FFLAGDEC       Decrement flag X by amount in flag Y 
  850.  
  851. GOTO           Go to location X 
  852.  
  853. GRAPH          Display a graphics file 
  854. X              ID number of the graphics file (see GRAPHICS section) 
  855.  
  856. LINK           Auto-load additional game modules for super-large games 
  857. modname        Module name  (See special LINK section for more info) 
  858.  
  859.  
  860. OBJ            Puts object X in location Y (used to create or move items)
  861. X             
  862. Y             
  863.  
  864. Special OBJ note:  If X=0 and Y=302 this will get any object specified 
  865. by the adventurer if the object is at the current location and not 
  866. already held by the adventurer.  Thus, just one of these commands will 
  867. allow the player to get any visible item unless otherwise indicated by 
  868. other game command sequences. 
  869.  
  870. PAUSE        Wait X seconds before continuing 
  871.  
  872. PRINT        Display message number X 
  873.  
  874. RANDSET      Create a random number from 1 to X and store in flag Y 
  875. X            (do not confuse with RAND, which is an IF function) 
  876.  
  877. SHOWF        Display value in flag X 
  878.  
  879. SOUND        Generate a tone of X frequency for Y duration 
  880. X            (see the special section on SOUND) 
  881. Y            Allows MULTIPLE X,Y's.  The last two must be 0 0 
  882.  
  883.                                  SOUND
  884.     You can generate sounds and even music by using the SOUND command.  
  885. SOUND uses standard BASIC language frequency and duration codes.  
  886. Notes, frequencies, and durations are listed here: 
  887.  
  888. FREQUENCY CHART (130 is middle C) 
  889. Octaves:       1             2          3          4            5        
  890. C             65            130        261        523         1046    C 
  891. C#            69            138        277        555         1110    C# 
  892. D             73            146        293        587         1174    D 
  893. D#            78            155        311        623         1246    D# 
  894. E             82            164        329        659         1318    E 
  895. F             87            174        349        698         1396    F 
  896. F#            93            185        370        740         1482    F# 
  897. G             98            196        392        783         1568    G 
  898. G#            104           208        416        831         1664    G# 
  899. A             110           22O        440        880         1760    A 
  900. A#            117           233        466        933         1864    A# 
  901. B             123           246        493        987         1975    B 
  902.                             REST:  32767 
  903.  
  904.                                DURATIONS 
  905.     1/64 note    .5            1/4 note            8 
  906.     1/32 note    1             1/2 note           16 
  907.     1/16 note    2             Whole note         32 
  908.     1/8  note    4 
  909. The SOUND command can have multiple notes, and must end with two 
  910. zeros.   As an example, here is the well-known "Charge" tune: 
  911.  
  912. SOUND 
  913. 130 
  914. 174  
  915. 220 
  916. 261 
  917. 220 
  918. 261 
  919.  
  920.  
  921.                             >INCLUde FILES 
  922.     The >INCLU and >ENDIN segments are very powerful Gamescape 
  923. functions.  They allow you to exit your main module, load another 
  924. segment of code, and then return to the main module again.  Note that 
  925. this happens only at compile time.  All modules and sub-modules are 
  926. loaded, compiled, and turned into a single set of Gamescape coded 
  927. files (*.GS1 thru *.GS6).  The SAMPLE.ADV game gives several examples 
  928. of how the >INCLUde segment works.  
  929.     While the >INCLUde segment can be used with any Gamescape module 
  930. you write, it is used primarily in LINKed modules, where several 
  931. adventure sections may require the same >MESSG, >OBJEC, >WORDS and 
  932. >COMND sections of code.  These segments can be written in separate 
  933. >INCLUde files and then loaded by the simple commands.  
  934.     Some people prefer to have separate >LOCAT, >MESSG, >OBJEC, 
  935. >WORDS, and >COMND files, then use >INCLU to join them all together at 
  936. compiling.  this sometimes makes editing your files easier and helps 
  937. when your editing program can only handle files of limited length. 
  938.  
  939.                           LINKING GAME FILES 
  940.  
  941.              (LINKing is covered in the registered manual)
  942.  
  943.  
  944.                           GAMESCAPE GRAPHICS 
  945. (Graphics are edited and drawn using a registered Gamescape program 
  946. not included on the shareware disk)
  947.  
  948. Gamescape supports several kinds of graphics systems:  
  949.     MONO.  Text and IBM ASCII character graphics.  Mono color. 
  950.     CGA.  Text and CGA hi-res graphics mode #2.  Mono color.  The 
  951. other option was 4 colors, but this reduced the resolution of the 
  952. graphics by half; it was deemed better to allow the higher resolution. 
  953.     EGA.  Text and EGA hi-res graphics mode #9.  15 colors out of a 
  954. changable palette of 64 colors.  VGA and above will use EGA graphics, 
  955. due to the extreme size of files above EGA (EGA is bad enough). 
  956.  
  957.     Graphics detection by Gamescape is handled three ways:  Program 
  958. direction indicated by you when writing the adventure, auto-detection 
  959. when loading the adventure for playing, and manual-override option by 
  960. the player at time of game play.  In this way, anyone should be able 
  961. to play your game regardless of the kind of display system used. 
  962.     One important note:  unless you intend your game to be played on a 
  963. specific kind of graphic monitor (ie, EGA users only), do not make 
  964. your game rely on graphics hints in order to be accomplished.  Because 
  965. if you provide a hint on an EGA screen, mono users will obviously not 
  966. be able to play it, although all text from the game will appear on 
  967. their screens. 
  968.  
  969.  
  970.  
  971.  
  972.                  MISCELLANEOUS ADVENTURE WRITING TIPS
  973.  
  974. REQUIRED >COMND LINE 
  975.     Your adventure source file must always end with the the following 
  976. >COMND set: 
  977.     >COMND 
  978.     * * 
  979.     DO 
  980.     < 
  981.     >DONE ! 
  982.  
  983.     This segment handles entry of words that are recognized, but that 
  984. don't fit any >COMND requirements.  Failure to add this sequence will 
  985. cause an error to occur at runtime and the game to stop.  If you wish, 
  986. you may include a message such as: 
  987.     >MESSG 
  988.     1 
  989.     That doesn't make sense to me.  Please try again. 
  990.     < 
  991.  
  992. and then use the >COMND line: 
  993.  
  994.     >COMND 
  995.     * * 
  996.     DO 
  997.     PRINT 
  998.     1      
  999.     < 
  1000.     >DONE! 
  1001.  
  1002.                              MESSAGE SIZE 
  1003.     Beginning with version 3.4, >MESSG (messages) may use a maximum of 
  1004. 5 lines (rather than the previous 10).  Messages take up 400 bytes 
  1005. each (rather than the previous 800).  Do not use < within messages, 
  1006. because that means "end of message" to Gamescape.  If you need more 
  1007. than 5 lines in a message, print two or more messages in a row.  It 
  1008. will have the visual effect of a single, long message.  But don't 
  1009. print messages too long or you'll scroll off the screen and part of 
  1010. the message won't be readable.  Usually no more than a maximum of 10 - 
  1011. 15 lines is recommended. 
  1012.  
  1013.                             >COMND COMMENTS 
  1014.     You may comment your >COMND lines by adding comments out to the 
  1015. side. I recommend that you comment your game file heavily.  Starting 
  1016. with version 3.0, you can now use commas, quotes, and other special 
  1017. characters in your comments.  For example: 
  1018.  
  1019.  
  1020. >COMND 
  1021. GET BOOK                    
  1022. IF                   IF GET BOOK 
  1023. EXIST                AND BOOK IS PRESENT                           
  1024. 1                           
  1025. DO                          
  1026. OBJ                  MOVE BOOK TO ADVENTURER 
  1027. 3                           
  1028. 302                           
  1029. <                            
  1030.                              
  1031.     Make sure your comments do not begin before column 20, because 
  1032. Gamescape recognizes the first 20 columns as belonging to the code 
  1033. generator. 
  1034.  
  1035.                     >COMND PLACEMENT AND CONFLICTS 
  1036.     Make sure that one item of code doesn't eliminate another, more 
  1037. important one.  This is hard to illustrate, and even harder to 
  1038. explain.  The easiest way I can describe it is this: let's imagine you 
  1039. wish to place a "move counter" in the code that stops the player if 
  1040. too many moves have been taken.  It would look something like this: 
  1041.  
  1042.     >MESSG 
  1043.     1 
  1044.     You've taken too many moves !  You lose ! 
  1045.     < 
  1046.  
  1047.     >COMND 
  1048.     * * 
  1049.     IF 
  1050.     FLAG= 
  1051.     101                    Flag 101 is the game movement 
  1052.     200                    counter automatically updated 
  1053.     PRINT                  by Gamescape.  If it = 200, then 
  1054.     1                      print the "too many moves" message 
  1055.     END                    and end the game. 
  1056.     < 
  1057.  
  1058.  
  1059.     Would you place this segment at the beginning or end of the game 
  1060. file?  If you place it at the end, it will never work because the 
  1061. player will usually do something that will cause the computer to never 
  1062. reach the end of the file.  Movement counters must be placed at the 
  1063. very beginning of a file, along with any other thing you wish to be 
  1064. performed every time a move is made.  
  1065.     The first time you can't figure out why a command won't work 
  1066. properly and finally discover that it's because another command 
  1067. further up the list conflicts with it,  you'll know what I mean.  It's 
  1068. not a mistake you'll likely make twice. 
  1069.  
  1070.                              SHOW COMMAND 
  1071.     The SHOW command first of all clears the screen.  So if you wish 
  1072. to take the adventurer to a new room, SHOW him what's there, and print 
  1073. some messages, you must do so in that order.  Because if you print the 
  1074. messages first, SHOW will clear the screen, and wipe out the messages 
  1075. you just printed.  Graphics will be automatically displayed if you 
  1076. have used the graphics indicator option in the >LOCAT segment. 
  1077.  
  1078.                            FLAG VARIABILITY 
  1079.     There are 100 flags available (which is a bunch, actually) and 
  1080. each of those flags can have just about any value.  But even so, some 
  1081. folks use flags like crazy; it is conceivable that you might run out 
  1082. of flags.  To conserve flag space, use the same flag for several 
  1083. things. For example, Flag 1 could be a secret door status flag.  If 
  1084. flag 1 = 0 the door has not been discovered.  =1 door has been 
  1085. discovered.  =2 door has been examined.  =3 door has been opened.  =4 
  1086. treasure has been found, etc.  This will provide you with virtually 
  1087. limitless flag usage.  However, do not use the same flag for two 
  1088. different things if there is any chance at all that those two things 
  1089. could conflict with one another at some time during game play. 
  1090.  
  1091.                GETTING ITEMS -- THE GENERIC GET COMMAND 
  1092.     If an item is present in a location, and there are no special 
  1093. requirements for picking it up, you can handle all GETs by using the 
  1094. following command segment near the end of your code: 
  1095.  
  1096. >COMND         This will check to see if the item is present, if it 
  1097. GET *          is not carried by the adventurer, get the 
  1098. DO             item and display current inventory for the player. 
  1099. OBJ            This can literally save you hundreds of 
  1100. 0              >COMND lines. 
  1101. 302 
  1102. INVEN 
  1103.  
  1104.     If not for this generic GET command, your GET segments would look 
  1105. something like this: 
  1106.  
  1107.  
  1108. >COMND
  1109. GET KNIFE               Get knife (object 1) 
  1110. IF 
  1111. PRESENT                 If knife is at current location 
  1112. GONE                    but not held currently by adventurer 
  1113. 302 
  1114. DO 
  1115. OBJ 
  1116. 1                       Move object to adventurer 
  1117. 302 
  1118. INVEN                   and show inventory 
  1119.  
  1120.     If you had 200 objects, this kind of setup would require a minimum 
  1121. of 2,800 >COMND lines, just to GET items.  However, with the generic 
  1122. GET function, you can cover all of this with only eight lines ! 
  1123.     If you have special GET circumstances (ie, if a flag must be set 
  1124. or other items present in order to be able to get a particular object) 
  1125. then place those GET segments before the above segment, and they will 
  1126. override it.  
  1127.  
  1128.  
  1129.                     VERY IMPORTANT!  DEBUGGING CODE 
  1130.     Gamescape is a very complex project, and I would be foolish to 
  1131. imagine that some obscure bug doesn't exist somewhere.  If you find a 
  1132. legitimate bug, I will appreciate you letting me know.  However, 
  1133. please do so under the following guidelines: 
  1134.  
  1135.     #1 AND MOST IMPORTANT:  Remember that Gamescape is a programming 
  1136. environment, and it has been used to generate very complex adventure 
  1137. games.  It is therefore reasonable to assume that most (if not all) of 
  1138. the bugs have been discovered.  Whenever you find what you think is a 
  1139. bug, realize that it is most likely in your game code, and not a 
  1140. problem with Gamescape.  
  1141.     Before you report a bug, go over your code with a fine tooth comb.  
  1142. Whether or not we charge you for examining your code depends on 
  1143. whether the bug is caused by Gamescape, or by user coding errors. If 
  1144. we have to spend time hunting for a bug that we find to be user 
  1145. programming code errors, we will have to bill the user for that time.  
  1146. This may seem unfair, but A) we will help the user discover the 
  1147. mistake and thus have rendered a programming service and B) we deserve 
  1148. to be reimbursed for time/wage/computer expense involved in finding 
  1149. user coding errors.  Even in such a case, our rates are reasonable, 
  1150. and can be avoided completely if you make sure that a bug report is an 
  1151. actual bug.  
  1152.     Note that billing will only be done if we feel that significant 
  1153. time was wasted.  We're not going to worry about minor work... that's 
  1154. just part of doing business and supporting you as a registered user of 
  1155. Gamescape.  
  1156.     #2:  An error message does not mean a Gamescape bug.  It likely is 
  1157. pointing out a problem with your code.  Check out the error; you may 
  1158. find it means something like "printer not on" or "disk full" or 
  1159. something like that.  Or, it may mean you've left out a part of an 
  1160. IF/DO line which causes Gamescape to return an error such as "Out of 
  1161. string space" or "Bad record number" or "Illegal function call" (that 
  1162. happens more than adventure programmers like to admit). Such things 
  1163. are programmer errors, and are not likely to be a fault of Gamescape.  
  1164.     #3:  If you do find what you feel to be a legitimate bug, write us 
  1165. a letter fully documenting the info.  A phone call is allowed as well, 
  1166. but the phone is mainly for answering questions, not in trying to 
  1167. trace down a supposed bug.  If you can send us a disk with your source 
  1168. code, that will be appreciated as well (source codes will be kept 
  1169. extremely private and secured... we will not release or distribute 
  1170. them under any circumstance.  They will be used solely for the purpose 
  1171. of documenting the bug). 
  1172.     #4:  We will not consider any bug report from an unregistered 
  1173. user.  No exceptions.  If you claim you have found a bug and we find 
  1174. you are not registered, we will totally ignore you. Sorry, but that's 
  1175. what registration means: support.  If you are unregistered then you 
  1176. are not aware of updates, changes, techniques, etc.  We will not waste 
  1177. time with an unregistered user, no matter how legitimate you think 
  1178. your problem may be. Bottom line:  registration is cheap; if you want 
  1179. the support, then register. 
  1180.     #5:  If you do find a legitimate bug, we will send you one of our 
  1181. nifty adventures free of charge, as well as give you credit for the 
  1182. bug find in future documentation! 
  1183.  
  1184.     Thanks for your attention to these matters. 
  1185.  
  1186.  
  1187.                          GAMESCAPE ERROR CODES
  1188.     Gamescape is written using Microsoft QuickBASIC 3.0 and uses most 
  1189. standard BASIC error codes.  I am listing them here for your 
  1190. convenience in tracking down your game code errors.  Please note that 
  1191. an error that pops up does not likely mean Gamescape has a bug; if you 
  1192. have not yet read the section on debugging code, do so now.  It is 
  1193. extremely important.  
  1194.  
  1195. 1   NEXT WITHOUT FOR            
  1196. 2   SYNTAX 
  1197. 3   RETURN WITHOUT GOSUB    
  1198. 4   OUT OF DATA 
  1199. 5   ILLEGAL FUNCTION CALL    
  1200. 6   OVERFLOW 
  1201. 7   OUT OF MEMORY                
  1202. 8   UNDEFINED LINE NUMBER 
  1203. 9   SUBSCRIPT OUT OF RANGE      
  1204. 10  DUPLICATE DEFINITION 
  1205. 11  DIVISION BY ZERO                
  1206. 12  ILLEGAL DIRECT 
  1207. 13  TYPE MISMATCH                
  1208. 14  OUT OF STRING SPACE 
  1209. 15  STRING TOO LONG                
  1210. 16  STRING FORMULA TOO COMPLEX         
  1211. 17  CAN'T CONTINUE                
  1212. 18  UNDEFINED USER FUNCTION 
  1213. 19  NO RESUME                              
  1214. 20  RESUME WITHOUT ERROR 
  1215. 22  MISSING OPERAND                
  1216. 23  LINE BUFFER OVERFLOW 
  1217. 24  DEVICE TIMEOUT                
  1218. 25  DEVICE FAULT 
  1219. 26  FOR WITHOUT NEXT              
  1220. 27  OUT OF PAPER  
  1221. 29  WHILE WITHOUT WEND        
  1222. 30  WEND WITHOUT WHILE 
  1223. 50  FIELD OVERFLOW                
  1224. 51  INTERNAL ERROR 
  1225. 52  BAD FILE NUMBER                
  1226. 53  FILE NOT FOUND 
  1227. 54  BAD FILE MODE                    
  1228. 55  FILE ALREADY OPEN 
  1229. 57  DEVICE I/O ERROR                
  1230. 58  FILE ALREADY EXISTS 
  1231. 61  DISK FULL                        
  1232. 62  INPUT PAST END                    
  1233. 63  BAD RECORD NUMBER        
  1234. 64  BAD FILE NAME                        
  1235. 66  DIRECT STATEMENT IN FILE 
  1236. 67  TOO MANY FILES 
  1237. 68  DEVICE UNAVAILABLE        
  1238. 69  COMMUNICATION BUFFER OVERFLOW 
  1239. 70  DISK WRITE PROTECT         
  1240. 71  DISK NOT READY 
  1241. 72  DISK MEDIA ERROR            
  1242. 73  ADVANCED FEATURE 
  1243. 74  RENAME ACROSS DISKS         
  1244. 75  PATH/FILE ACCESS ERROR     
  1245. 76  PATH NOT FOUND 
  1246.          (you probably didn't install CONFIG.SYS properly) 
  1247.  
  1248.                          CHANGES TO GAMESCAPE
  1249.  
  1250.     Ver 1.0: The introduction of Gamescape.  One Shareware company was 
  1251. so impressed, it removed its other adventure designer programs from 
  1252. its catalog and featured Gamescape exclusively.  My head swelled 
  1253. enormously. 
  1254.     Ver 1.1: Changes to our shareware policy-- the subscription to 
  1255. GSCAPE NEWSZINE is now included with registration rather than being a 
  1256. separate charge.  Also a couple of minor instruction manual 
  1257. corrections (minimal update... couple of text files.) 
  1258.     Ver 2.0: Gamescape now encodes your games so that they cannot be 
  1259. easily deciphered by the players.  Even if the user is real sharp and 
  1260. manages to decode the game, it will not be easy to decipher as a "game 
  1261. shorthand" is used internally by the program.  There are now six *.GS? 
  1262. files rather than five. The sixth gives the version number.  This file 
  1263. is created automatically at compilation.  If during a PLAY session it 
  1264. is found missing, Gamescape will default to uncoded reading.  
  1265.     Ver 3.0: Game now allows messages of max 10 lines, rather than the 
  1266. previous 20 and thus uses only 800 bytes of disk space per message 
  1267. rather than 1600 as before.  So 100 messages now take 80K rather than 
  1268. the previous 160K.  This was done because it was discovered that most 
  1269. messages used by adventure gamers were less than 10 lines in length. 
  1270. Increased LINK power to allow transfer of flags and objects to 
  1271. accompanying modules, and removed some bugs from the link section 
  1272. (example, LINK now prompts for changing of disks for very large 
  1273. games). Added ability to put blank lines in between segments for 
  1274. easier readability of game files.  A full graphics guide is now 
  1275. included in this instruction manual... kind of a nice little addition.  
  1276. Another major change is in the layout of verbs and nouns.  Prior to 
  1277. version 3.0, verbs and nouns were on separate lines.  Now they are on 
  1278. the same line for easier location when using a text editor.  Added a 
  1279. new DO GET function (get any object indicated by the noun if the 
  1280. object is present and object number indicated in code is 0). A new 
  1281. DISPLAY function has been added to 3.0.  You now have the option of 
  1282. whether or not to display your source code during compilation.  If you 
  1283. chose to not do so, compilation will be at maximum speed (but if an 
  1284. error occurs, it will be harder to trace).  If you choose to display, 
  1285. compilation will take up to twice as long, but if an error occurs you 
  1286. will be able to see the exact portion of your source code that caused 
  1287. the error.  Prior versions of Gamescape allowed only 3,200 lines of 
  1288. >COMND code. Gamescape now allows 16,000 >COMND lines, which is a 
  1289. power increase of some 500 percent !  A new >INCLUde segment was 
  1290. introduced to allow modular writing of code, primarily for the sharing 
  1291. of common functions between interactively linked Gamescape modules.  
  1292. Now really large games are much easier to write.  Because of major 
  1293. changes, version 3.0 is not compatible with earlier versions.  That's 
  1294. no problem, since it is a license requirement that the correct version 
  1295. of GSCAPE.EXE be distributed along with the adventures developed.  The 
  1296. advantages gained are well worth it.  You may of course still use 
  1297. versions below 3.0 to compile previously written games, or you may 
  1298. update your games to the new version if you desire the additional 
  1299. power.  
  1300.     Ver 3.1:  Added common message file access (>MSGFL). 
  1301.     Ver 3.2: OOPS!  Fixed a nasty little bug that was caused by the 
  1302. brand new nifty feature (>MSGFL) that we'd just added to the program.  
  1303. Some adventures worked (like the ones we tested)... some didn't (like 
  1304. the ones we didn't.  Never fails, does it?).  Made a boo boo.  
  1305. Fortunately, we only sent out 10 copies before a nice shareware 
  1306. company pointed out the bug for us (makes me wonder why the others 
  1307. didn't point out the bug.  Grrrr.... ).  Our thanks to Rick Macnamara 
  1308. of GOLD COAST COMPUTING SERVICES, Secaucus NJ for his help (hey Rick, 
  1309. how's that for a plug?).  If any user has version 3.1, please let us 
  1310. know as we will have to draw and quarter the company that released 
  1311. copies of it despite our immediate updates and warnings to not release 
  1312. v3.1. 
  1313.     Ver 3.31: Updated a minor bug in version 3.2 that would cause 
  1314. problems with some floppy disk users.  Updated error notations so that 
  1315. user-understandable error messages are returned on installation 
  1316. problems.  Minor fix-- but it helps new users of the program. Also 
  1317. added color!  Pretty pretty.  Included a new "compile to alternate 
  1318. disk" so that floppy users can compile larger games.  Ability to 
  1319. easily stop a compiliation in the middle.  Gamescape can now be 
  1320. totally restarted without exiting the program, which saves time in 
  1321. reloading Gamescape.  Now automatically enters play mode if an .ADV 
  1322. extension is not present on the filename... makes play entry quicker 
  1323. and easier.  Added new features which are documented for registered 
  1324. users (such as the ability to use abbreviations!).  In short, 3.3 is 
  1325. terrific. 
  1326.     Ver 3.32: A minor fix to an existing function.  Very minor change 
  1327. on screen color. No big deal, but required a version all its own, of 
  1328. course. 
  1329.     Ver 3.4: Available to registered users only.  Expanded the 
  1330. STARTER.ADV to include more standard info. Altered DROP command in 
  1331. STARTER.ADV (it eliminated the following SHOW command). Eliminated 
  1332. unnecessary "beeps" in game.  Locations were reduced from 20 to 18 
  1333. lines... 20 wouldn't fit anyway on a single screen, so we decided to 
  1334. reduce disk space.  Reduced messages from 10 lines to 5 lines.  It has 
  1335. been discovered that 90% of all messages are less than 5 lines in 
  1336. length.  This greatly reduced disk storage requirements!  (If you 
  1337. developed games using earlier Gamescape versions such as 3.3, you will 
  1338. either need to revise those games, or still hang on to your old 
  1339. Gamescape copy to update those games).  Removed unnecessary space 
  1340. between OBVIOUS EXITS and ITEMS PRESENT.  Compiler now counts words to 
  1341. let you know how many words you have used.  Version 3.4 eliminates the 
  1342. Gamescape title screen, so it comes up nice and clean right into your 
  1343. game.  The title screen is shown at the end of the game only.  This is 
  1344. a real bonus for people who want to distribute their games.   A 
  1345. terrific reason for registering  (which, of course, is exactly why we 
  1346. did it, heh heh). 
  1347.     Ver A.3.  Zounds!  Added Hi-res (CGA/EGA) color (EGA) graphics.  
  1348. First introduction of GSGRAPH graphics editor.  Updated SAMPLE.ADV so 
  1349. that it has graphics examples.  Automatic loading and execution system 
  1350. for new users makes Gamescape much easier to use.  Separated compiler 
  1351. and run-time modules (intruduction of SCAPERUN program).  Altered user 
  1352. license so that unregistered users may distribute their games so long 
  1353. as they do not charge for them or market through shareware or 
  1354. commercial companies.  Our most incredible update to date... 
  1355. emphasizes that Gamescape is the most powerful and best adventure 
  1356. generator ever written ! 
  1357.  
  1358.     Please register for Gamescape.  Not only does registration provide 
  1359. you with expanded abilities and privileges,  registrations encourage 
  1360. us to update the program and add even more power, so that your games 
  1361. can be more impressive than ever before.  The more registrations we 
  1362. receive, the more eager we are to provide regular updates to the 
  1363. program.  Thank you for registering ! 
  1364.  
  1365.  
  1366.  
  1367.                   GAMESCAPE USER LICENSE REQUIREMENTS
  1368.                     AND USER REGISTRATION AGREEMENT 
  1369.  
  1370. ARTICLE 1. ACCEPTANCE. 
  1371.     In registering for our programs, the user agrees to abide by all 
  1372. articles and restrictions of this license. It is the responsibility of 
  1373. the purchaser to note the items of this license, and decide upon 
  1374. agreeability of its terms prior to the registration of the program.  
  1375.  
  1376. ARTICLE 2. LICENSING.  
  1377.     This program is licensed, not sold. As such, the user/purchaser 
  1378. has the right to use the program on a day-to-day basis, but recognizes 
  1379. the ownership of the program and all materials as belonging to Dennis 
  1380. Drew. 
  1381.  
  1382. ARTICLE 3. COPYING AND MULTI-USER. 
  1383.     This program is USER SUPPORTED.  You are encouraged to copy the 
  1384. SHAREWARE diskette and give it to your friends and acquaintences.  You 
  1385. may use this program freely and distribute it as you wish.  However, 
  1386. the following restrictions do apply: 
  1387.     1. You may not charge a fee for this program, other than for the 
  1388. cost of duplication.  
  1389.     2. You may not alter the program or supporting items in any 
  1390. manner, may not add to or remove items from the disk.  
  1391.     3. You may not copy or reproduce in any way the instruction manual 
  1392. that is available for this program. The instruction manual is provided 
  1393. to REGISTERED USERS ONLY.  Copying of this manual in any form is 
  1394. strictly forbidden.  This program may be used within a network/ multi-
  1395. user system, so long as no copies of the instruction manual are made.  
  1396. If several copies of the manual are required, then a discount is 
  1397. provided on request.  
  1398.     4. Shareware companies must obtain a distribution license from the 
  1399. author. 
  1400.  
  1401. ARTICLE 4. WARRANTY AND LIABILITY. 
  1402.      It is the responsibility of the purchaser to decide upon 
  1403. usability and application of this program to his/her particular needs. 
  1404. Every effort has been made to insure the accuracy and reliability of 
  1405. this program. However, since the success of this program relies a 
  1406. great deal upon individual use and dedication to the use thereof, and 
  1407. the fact that this program is user copiable (thus limiting our control 
  1408. over what the end-user receives), we will not be held responsible for 
  1409. any results obtained from the direct or indirect use of this program 
  1410. nor does this program comply to the laws of merchantability of any 
  1411. state.  
  1412.  
  1413.  
  1414. ARTICLE 5. TERMINATION.
  1415.      If the user/purchaser breaks any article of this agreement, all 
  1416. items pertaining to the program shall be returned to the publisher. 
  1417. This will not exclude any additional punitive damages incurred 
  1418. according to federal and civil laws.  
  1419.  
  1420. ARTICLE 6. CUSTOMER SUPPORT. 
  1421.      We are eager to support our customers. Technical assistance is 
  1422. available to REGISTERED USERS ONLY by calling (417)781-4248 Monday 
  1423. through Friday during the hours of 9am to 5pm.  
  1424.  
  1425. USER REGISTRATION 
  1426.      If your diskette is damaged in any way, return it to us along 
  1427. with $10.00 to cover cost of replacement. We will rush you a new 
  1428. diskette.  
  1429.      It is recognized that the purchaser is already bound by the terms 
  1430. of the LICENSING AGREEMENT enclosed with this package. This 
  1431. registration form serves two purposes: 
  1432.      1. To emphasize agreement with the terms of the license. 
  1433.      2. To allow us to provide you with timely updates and 
  1434. information.  
  1435.      
  1436.                       Thank you for registering! 
  1437.  
  1438.  
  1439.                              end of manual 
  1440.  
  1441.                 Gamescape is written and published by: 
  1442.  
  1443.       Drew Software    PO Box 101   Joplin, MO  64802   (417)781-4248 
  1444.  
  1445.