Documentation for Brain Drain Written by Robert V. Chambers Copyright (c) 1996 WHAT IS BRAIN DRAIN? Brain Drain is a word game in which the player attempts to find all the words hidden in the 16-square puzzle using a set of simple rules. Once the player has given it his best the computer plays and locates all words that are in the puzzle. Players' scores are based on the percentage and number of words found. The game allows the sysop to predetermine a time limit on each puzzle, providing an interesting dimension to the game. The sysop may also elect to allow or disallow players to enter new words into the dictionary that the computer does not yet know. The dictionary supplied with the game can be edited with a standard text editor. An offline utility is included to remove duplicate words from the dictionary that may have been entered. A utility is also provided that will let the sysop scan text files for additional words to add to the dictionary. The game uses words between 3 and 5 characters in length to reduce the number of possible combinations and thereby improve speed. SYSTEM REQUIREMENTS: 386 or better processor Requires ANSI graphics on the user's end ~235K memory WHAT ARE SOME OF THE FEATURES? * Dictionary included. * Included utility to scan files for dictionary words. * Optional activity log. * Automatic statistics and scores bulletins. * Optionally displays count of hidden words. * Has a sysop chat mode. * Fossil aware. * No maintenance required. * Supports standard drop files such as DOOR.SYS (PCBoard/GAP), DORINFO1.DEF, EXITINFO.BBS, CHAIN.TXT, etc. * Supports multiple nodes. * Sysop configurable path/filename for scores bulletin. LIMITATIONS ON UNREGISTERED VERSION: The unregistered version sets a time limit of one minute for each puzzle. You must register the program to eliminate this restriction. See the section on registration below. UPGRADE FROM V1.0 TO V1.1: Unzip the archive over the existing files in the Brain Drain directory. UPGRADE FROM V1.0 OR V1.1 TO V1.2 or V1.3: Unzip the archive over the existing Brain Drain files in your game directory and consult SAMPLE.CFG for details on this required addition: 1) Add path to bulletin file. UPGRADE FROM V1.3 TO V1.4: Unzip the archive over the existing Brain Drain files in your game directory and consult SAMPLE.CFG for details on these required additions: 1) Add permissive for pre-game display of number of hidden words. (line 4) 1) Add path to second bulletin file. (line 7) 2) Add path to statistics file. (line 8) HOW DO I INSTALL IT: This is simple, but you must follow these instructions. I am assuming that you are already familiar with the steps required to install a door on your BBS. If not, I would suggest that you read your manual first. This doc will not attempt to guide you through that. Step 1) Unzip all files into a single directory of your choice. Step 2) Create a batch file that your BBS will use to start the door. I use PCBoard, and my file looks something like this: @echo off cd\pcb\brain brain.exe c:\pcb\node1\door.sys /L IF "%INPCB"=="Y" EXIT %PCBDRIVE% %PCBDIR% board You may call the file whatever you like, subject to restrictions that may be enforced by your BBS software. Mine is simply called BRAIN, with no .BAT extension. Again, consult your manual. A little explanation of the startup batch file is in order here. The second line simply changes to the directory where all of your Brain Drain program files are found. (Remember you put them there in Step 1.) The second line is the name of the door program, BRAIN.EXE, followed by the complete path to your drop file and the (optional) log file switch. Notice that the drop file name is specified. If you are using PCBoard, you may also use the PCBoard environment variables for the path to the drop file. Like this: brain.exe %PCBDRIVE%%PCBDIR%\door.sys If you wish the program to log its activities, add "/L" after the path to the drop file like this: brain.exe %PCBDRIVE%%PCBDIR%\door.sys /L The program will create BRAIN.LOG which will contain information on door usage. See the section below on "LOGGING ACTIVITY". Finally, use whatever door exiting statements your software recommends. Your startup file will undoubtedly look different, but you get the general idea. Step 3) Setup your BBS software and configure any door menus, etc. that give the user access. Step 4) Edit the sample configuration file to suit your tastes and save it as BRAIN.CFG. It is *CRITICAL* that the configuration file be named BRAIN.CFG. Instructions for each line are contained in the sample file, SAMPLE.CFG. Note that you must supply valid paths for both scores bulletins and the stats bulletin. Otherwise you will get an error message when the door starts, and default bulletin files will be created in the game directory. Step 5) You're finished! That wasn't so bad after all. PS-> Don't forget to advertise that you now have a new door on your system! THE DICTIONARY: The word dictionary used by the game is a simple text file (DICT.DAT) that you can edit to add words to the game. If you choose to edit the dictionary you **MUST** run KILLDUPE.EXE after editing to sort the dictionary and remove any duplicate words, blank lines, and words that do not meet the 3-5 character restriction. This utility will ensure that the dictionary is properly set up for the game to index will and convert any lower case letters to upper case. KILLDUPE.EXE must be run from within the same directory where DICT.DAT is located (game file directory). Another included utility, EXTRACT.EXE, will extract 3-5 character words from any ascii text file. It's smart enough to eliminate words containing high ascii characters, numbers, etc., and will also ignore words that don't meet the 3-5 character restriction. Since the program works by detecting white spaces between words, it will ignore words immediately followed or preceded by non-alphabetical characters (like a period or hyphen). However, the point is to be able to quickly scan lots of words and get new ones into your dictionary, not to have 100% accuracy. To run the program just type EXTRACT, followed by the complete path and filename of the file you want to scan. Like this: EXTRACT C:\DOCS\TEXTFILE.TXT The program will create EXTRACT.DAT in the current directory and give you the option of appending these new words to DICT.DAT, your dictionary file. If you elect to do this you MUST run KILLDUPE.EXE to properly position the new words in DICT.DAT and to eliminate any duplicates. In order to append new words using EXTRACT.EXE your dictionary file must be in the same directory as EXTRACT.EXE. NOTE: I do not recommend that you append EXTRACT.EXE to DICT.DAT without checking the words in the file first. Sometimes a document will contain words or proper names that you do not want to include, and they're much easier to spot before they are added to the dictionary. I also highly recommend that you run a good, reliable spell checker on the dictionary file any time you have made additions. Once again, if you make ANY modifications on DICT.DAT you must run KILLDUPE.EXE to ensure that there are no errors that will affect the game. You can change the configuration file (BRAIN.CFG) to allow users (or you) to add words to the dictionary while playing, but I don't recommend this since players will add nonsense just to increase their score. The game will automatically take care of duplicate checking and sorting the dictionary file. I have the game set up so that I can run it in local mode offline (in another directory) to add words to the dictionary. I then copy the dictionary over to the game directory. This may be a little cumbersome, but it beats letting the players add their own words. The dictionary will support up to 6700 words, which should be more than enough for normal play. You can always get the latest dictionary from my board (Tequilla Sunrise BBS, 504-756-0383) by typing FREE at the main prompt. RUNNING LOCAL: You can run the game in local mode if a drop file is in the program directory. DORINFO1.DEF is included in the archive for this purpose. Just place it in the door program file directory and execute the program by running BRAIN.EXE. You should be able to leave this file in your game directory with no problem since you have defined the path to the real drop file in your startup batch file. You should only run the game in local mode to test it prior to installation. Because the program automatically generates bulletins as it is played you should reset the game after running in local mode to avoid having the default name in the sample drop file included in the scores bulletin. A batch file, RESET.BAT is provided for this purpose. CUSTOMIZATION: - TITLE SCREEN If you want a new title screen you can do it. Create a new screen using your favorite ANSI editor, and call it TITLE.ANS. Leave enough room at the bottom for the additional registration text. It's *CRITICAL* that you name this file correctly. - INACTIVITY TIMEOUT AND MAXIMUM DOOR TIME You may specify the maximum time allowed in the door and the keyboard timeout limit by editing DOOR.CFG. Instructions are in this file and should be self explanatory. Be sure you allow enough time for your users to sit and think! If a player's time expires while in a game the game is discarded and scores are not affected. - LOGGING ACTIVITY The program will provide activity logging if the logging switch is included in the startup command line in your batch file. For example: brain.exe c:\pcb\node1\door.sys /L will cause the program to record entry and exit times in a file called BRAIN.LOG. This file can become lengthy if the door is used regularly. A suggestion is to enable logging when the door is initially installed to monitor its use. After a period of time you may wish to disable logging or trim the file occasionally (there are programs that will do this in an event). Please note that the switch (/L) is case specific and there must be a space between it and the path to the drop file. THE STATISTICS BULLETIN: This version will create a basic door statistics bulletin which will tell you how many times the door has been entered, average time in the door, etc. This was added primarily to help the sysop gauge usage, but it is available from within the door, just like the scores bulletins. The bulletin that is created will include the date that statistics collection started, so you can occasionally delete STATS.DAT if you want to periodically start over. The bulletin is generated each time a player exits so there's no need to delete the bulletin file if you delete STATS.DAT. Statistics are automatically restarted if the game is reset using the included RESET.BAT file. MAINTENANCE: There is no maintenance! MULTINODE USE: The game is set up to run on multiple nodes, but at this time only one player may be in the game at a time. If for some reason the door does not exit properly (power failure, etc.) you will need to delete the file INUSE.DAT from the game directory. The presence of this tiny file signals the game that another player is currently playing and prevents others from entering. I have an entry in my nightly event that attempts to delete this file just in case it happens to exist. The game will normally delete this file on exit, even if the player drops carrier. HOW TO RESET THE GAME: A batch file is included (RESET.BAT) that will delete all files necessary to reset the game. It must be run from the game file directory. It will not delete the scores or stats bulletins since these are recreated each time the game is played. TROUBLE SHOOTING: In the event you have trouble maybe some of these tips will help you. This list is not very long yet, but will be added to as information becomes available. 1) The door will not open from the BBS at all. It looks like it tries, but immediately shuts down and returns to the BBS. It will, however, run in local mode (from Dos). - This is almost certainly a sign that the startup file is not specifying the correct path and/or file name of the drop file. It's also possible that you have not set the board up correctly and the expected drop file is not being created. The startup batch file must include the full path and file name of the drop file as an argument to the executable, BRAIN.EXE. See the sample startup file above. The reason it will run in local mode is that the sample drop file, DORINFO1.DEF, is in the same directory as the game files so the game has no trouble finding it. 2) You are using DOOR.SYS and the door keeps logging you out when entering locally. - If you are not using the long GAP version (51 lines) of DOOR.SYS then either go to the long version or try DORINFO1.DEF. The DORINFO style drop file has been successfully tested on Maximus. 3) The graphics don't behave exactly right (on the user's end) with the board running under Windows 95. - If you experience problems with this try running the window either full screen or in the foreground. This seems to solve the problem if you are running the X00 fossil driver, but is not a good solution if running more than one node. Try switching to the BNU fossil driver. This driver seems to work better with Win95. THE LEGAL STUFF: Users of Brain Drain must accept this disclaimer of warranty: "Brain Drain is supplied as is. The author disclaims all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The author assumes no liability for damages, direct or consequential, which may result from the use of Brain Drain." I make no guarantee that this software will perform properly on your system. Though every effort has been made to make the program suitable for a wide range of systems, you should thoroughly evaluate the product before registering. By registering you do NOT own this software. You have simply licensed it's use. You may use it on as many BBS nodes as you wish, as long as these nodes comprise a single bulletin board system. You may create as many instances of the program as you wish, as long as they all reside on a single bulletin board system. You are encouraged to pass a copy of Brain Drain along to your friends for evaluation. Please encourage them to register their copy if they find that they can use it. You may NOT pass along your registration code, however. This should go without saying. REGISTRATION : This is not freeware; it is shareware. If you are not familiar with this concept it means that you are allowed to try the software free of charge for a period of time not to exceed 30 days. At the end of this time you must either register it or remove it from your system. I feel that the time invested in writing and testing the program was significant enough to justify a registration fee. The cost is $15 U.S., and payment may be made via check drawn on a United States bank. No credit cards are accepted. I will take your cash, but you send it at your own risk. To register fill out REGISTER.FRM (included) and send it, along with your check or money order, to the address on the form. I will respond to you with your registration either through U.S. Postal Service, Fidonet Netmail, or Internet E-Mail. The choice is yours; just be sure to specify which you prefer on the form. When you receive your registration code manually edit BRAIN.CFG and change the first two lines to your registered name and code number. The unregistered version will only support a time limit of 1 minute in each game puzzle. Registration will remove this limitation and allow the sysop to configure the game for any amount of time desired. Registration will also entitle you to free lifetime upgrades. There will be no automatic notification of upgrades. You can always get the latest version of the program and the dictionary (which constantly changes) from my BBS, Tequilla Sunrise, at (504)-756-0383. Just type FREE at the main menu prompt. There is no charge (except LD charges if applicable) for the file or to become a member of the BBS. TECHNICAL SUPPORT: Technical support will be provided to both registered and non-registered users to the best of my ability. However, please be sure you have read this file in its entirety first. You may reach me via the following: Fidonet - Robert Chambers@1:3800/49 Internet EMail - chambers@premier.net Tequilla Sunrise BBS - (504)-756-0383 MANY THANKS!: Thanks to all the users who put up with resets and bugs during the testing phase. There's no substitute for online testing, and I couldn't have done it without all of you. Special thanks to Ginny Westbrook and Gene Laurent for their bug reports and suggestions. Also to Dennis Wallette and the crew at Cajun Clickers BBS who really ran it through the mill. Thanks to all you guys! I owe you one!