The Immortal Struggle v1.00 Created, programmed and copyright (C)1992 by Chris Rea [UL] A multiplayer online game for FalconCBCS, DLG-Pro, and Xenolink (An enhanced BBX-specific version is currently being developed) Release Date: 02-Jan-93 What is The Immortal Struggle? ------------------------------------------------------------------------------- The Immortal Struggle is a fantastic multiplayer online game of epic proportions. While simple in concept and operation, The Immortal Struggle allows for a vast variety of play strategy and plan execution. The two most important elements when playing The Immortal Struggle are intellect and strategy. If your users are tired of ANSI-oriented online games with no underlying playability or those playable without need of intellect or strategy, look no further. The Immortal Struggle doesn't need fancy ANSI to impress people; the playability of the game is by far the most dominant factor. ANSI colour is supported, but certainly not necessary to fully enjoy T.I.S. The Immortal Struggle is loosely based upon a great online game which was called The Endless Quest, programmed under (but never officially released for) MS-DOS. The Endless Quest, in turn, was loosely based upon Pyroto Mountain BBS, another MS-DOS BBS/game system. Therefore, it is entirely possible that you see a resemblance between Pyroto and T.I.S., though there are many very fundamental differences. If you are not familiar with either of these programs, do not worry. They are merely mentioned in passing, to give credit where credit is due for certain underlying concepts. The game is a simple one. Each player is an Entity, striving to achieve Omniscience. There are three Mountains in an existence called the Continuum. Each entity takes a place on one of these three mountains, and attempts to reach the apex, or a Level of Understanding of 800. There are many incantations which an entity can use to help him progress to this goal, as well as many incantations which he can use to hinder the progress of others. Further, the entities on a mountain can co-operate to hinder the progress of the other mountains... You can see where this gets interesting. You can find out more about game play and concepts from within the game itself. The Immortal Struggle features COMPLETE online documentation for players; there are six basic instructions files that can be accessed via the "INSTRUCTIONS" incantation, as well as specific explanations for each incantation, available with the "EXPLAIN" incantation. What You Need ------------------------------------------------------------------------------- To run this version of The Immortal Struggle, you need one of FalconCBCS, DLG-Pro, or Xenolink (version Z4 or later) BBS programs. (At time of release, Xenolink did not directly support passing user variables on the command line with its CLIDoor menu command; it is said, however, that the Z4 release will include this ability. If you are a Xenolink sysop and wish to run The Immortal Struggle, be sure you get this version when it becomes available. You will have to figure out the appropriate command line for Xenolink; only specific instructions for setting it up with FalconCBCS and DLG-Pro will be included here.) There is also currently an enhanced BBX-specific version of T.I.S. in the works. BBX is Steve Tibbett's new, fantastic, highly ARexx-configurable BBS program. (It may be possible to get this version of T.I.S. running with another BBS program, so long as it supports running Shell programs as doors, and can pass user variables on the command line.) You will also need an Amiga running Release 2 or later of the system software. The Immortal Struggle depends highly on a lot of the new functions made available with the advent of Release 2. Sorry, but if you do not have Release 2 or later, you will not be able to run The Immortal Struggle. There will NOT, repeat, NOT be a Release 1.3 or lower version of The Immortal Struggle. (It is against my morals to support an older operating system for sake of compatibility when the new one is oh so much easier to program. :-) A hard drive is highly recommended. The Immortal Struggle reads and writes to files quite often; I do not think it would be too bearable on a floppy system. This should not be much of a problem considering that the vast majority of bulletin board systems have hard drives, and large ones at that. The Immortal Struggle consumes about 170k of FAST memory while being run. Again, this should not be a problem since most bulletin board systems have a lot of RAM. Regardless, 170k of memory is bearable, especially considering The Immortal Struggle is a more complex and involved online game than most others. Setting It Up ------------------------------------------------------------------------------- First, after unpacking the T.I.S. distribution archive, copy both the "TIS" and "TIS_Questions.dat" file to a directory of your choice. The datafiles that will be created will be located in the same directory as the program. You do not need a logical assignment for T.I.S. to locate its files; the Release 2 function GetProgramDir() is used to alleviate this need. Second, make sure that from wherever you are running T.I.S. that there is sufficient stack. I have not experimented to see what is the minimum stacksize, but I expect that a 20K stack would suffice. (I always use a 40K stack. If you have stack size problems with anything less, rest assured that 40K will work. Experiment yourself if you are paranoid about wasting a few kilobytes of memory. Check out your documentation for the AmigaDOS Stack command for further details. :-) All of the command line arguments are optional, except for the user's name. This must always be present. The template for general setup is as follows: TIS [ [ [ []]]] Note the use of square brackets. If you are going to use the ANSI keyword, you must also have all of the other command line options present. The ANSI keyword is "MONO" for no colour, and anything else (or nothing) for colour. It is suggested that you use all options supported. If you have FalconCBCS, set up the following menu command somewhere in your Menus.bbs file: NORMAL I CON A "TIS \"«FULLNAME»\" «MSGS» «TOTALUP» «HEIGHT» «ANSI»«»«MONO» The "I" after "NORMAL" may be any letter you want; this is the actual command letter the user will type to enter the game. It is also wise to edit the menu help file of which ever menu you are putting the game in. (Please see your FalconCBCS documentation on how to do this.) If you would like to get T.I.S. working with DLG-Pro, please follow the instructions given in the file "TIS_DLG.doc", which is also in the distribution archive. Note that this ARexx method is used instead of directly adding T.I.S. to DLG because, as of this writing, DLG had a bug which would confuse any calls to the Release 2 function GetProgramDir(). If you add T.I.S. directly to DLG as a menu item, T.I.S. will always think that it was called from the DLG: directory. Using the simple ARexx script included to launch T.I.S. alleviates this problem. (If you do not wish to use the ARexx script, you MAY add T.I.S. directly as a menu item, however you must ensure that you place all of the files in DLG:. I suggest you use the ARexx script so you may place the files wherever you choose. You have ARexx anyways, since The Immortal Struggle requires Release 2 to operate. Release 2 includes ARexx. :-) Please ensure that the quotes around the first argument are not missing, or that the user's name does not contain any spaces. (For example, the Falcon example above ensures that the name has quotes surrounding it, while the DLG setup in the TIS_DLG.doc file passes a user name with underscores instead of spaces.) T.I.S. must receive the user's name as one argument. Also, you may need to supply your BBS program with the path to the "TIS" program if it is not searched for in the regular path. In the case of the Falcon setup, modify the menu entry above. For DLG, a simple modification to the ARexx launch script will suffice. As a side note, you do not necessarily have to use the «MSGS», «TOTALUP» (or, for DLG-Pro, %MSGENTER and %FILESUP) arguments. These are used by the game to give the user a "bonus" if their activity (messages-posted, files-uploaded) since the last time they played has increased. If you do not want these arguments passed, but would still like to pass a screen height etc., simply insert a zero in their place. If no screen height is specified, T.I.S. will assume a screen 24 lines high. (The screen height is merely used for More? prompting at various places in the game.) The screen height may be no less than 10 lines high, and no more than 255 lines high. The ANSI argument ("MONO" being turn off colours, anything else meaning leave them on) only affects new players. It is used to determine what mode to initially use (colours, yes or no) when a new player enters the game. Otherwise, this argument is ignored and whatever the player was last using in the game will be used instead. Players are freely able to modify their ANSI status with the "ANSI" incantation available within the game. This information will be saved in the player's data structure. Note that it is entirely possible to execute The Immortal Struggle from your standard, run-of-the-mill Shell window. The Immortal Struggle modifies the input and output streams of the current I/O handle to RAW mode, instead of the traditional (buffered) CON mode. It is reset to the original state when the door exits, either by break signal or the usual method. Note that if you run it in a Shell window, you must be using a font and/or window-size combination that will let you see 80 columns of characters. That should be it for setup. You will want to try the game out for yourself to make sure that the files are being located properly. Use the "CLIMB" command and make sure that the TIS_Questions.dat file is being accessed. If it does not present you with a question, either the TIS_Questions.dat file is not located in the same directory as the "TIS" program, or something else went wrong. (Certain methods of execution don't work. Starting T.I.S. from a DLG menu script using the "EXE" command, for example, will not properly report to AmigaDOS which directory the program was called from. Please see the "TIS_DLG.doc" file on how to properly set up T.I.S. with DLG so that this problem does not occur.) Execution ------------------------------------------------------------------------------- When a user enters the game, a few things are checked. First, the program will check things like operating system revision, number of arguments passed on the command line, and so forth. Next, it will check if there is already another copy of The Immortal Struggle currently running. If this is the case, the user will be told that the game is currently in use, and to please try again in a few minutes. If this is not the case, the user may enter the game as usual. This method is required since on a multiline system only one node may be playing The Immortal Struggle at any one time. If the user has not played within the last 28800 seconds (eight hours), they are allowed to entry into the game. A player's Sense (with which he may cast incantations) regenerates as time passes. If the player has a positive amount of Sense, they are permitted to enter the game and are presented with a list of things that happened since they last played, etc. The game command line comes up and the user is free to continue as usual. Those in doubt at this point should try the "HELP" and "INSTRUCTIONS" incantations. (Type these directly. The Immortal Struggle uses complete word commands, not cryptic single letter hotkeys that other online games are fond of.) Information On Data Files Created ------------------------------------------------------------------------------- T.I.S. will create a number of data files, named the following: TIS_Global.dat - high message pointers, mountain information TIS_Players.dat - individual player data structures TIS_Suggestions.dat - questions suggested by players TIS_Log.dat - journal of past game events Messages/#? - player private/public mountain/global messages The only files you should ever feel the need to mess with are the TIS_Suggestions.dat and the TIS_Log.dat files. The TIS_Suggestions.dat file is a file of questions suggested by players. These questions will be of the same format as the TIS_Questions.dat file. You should peruse this file every few days if there are new questions. With a capable text editor, move the questions over from this file to the TIS_Questions.dat file, if they are acceptable. (The whole reason for this method, and not directly adding the questions to the TIS_Questions.dat file, is to weed out stupid or inaccurate questions. Nobody is perfect.) The name of the player who suggested the question will appear immediately after the answer. This also may be moved over to the questions file, however it is not necessary. (The name is there only for your reference; the game ignores everything after the question and answer lines.) If you would like to add your own questions to the TIS_Questions.dat file (in fact, it is HIGHLY suggested that you do so!), again, use a capable text editor. Follow the format used in the file. This format is a line of "---" separating each question. After this line, the question appears, one a single line only, up to 76 characters in length. The question may contain any printable characters. On the next line appears the answer. The answer must not exceed 39 characters in length, and may only contain UPPERCASE alphabetical characters. It is suggested that numerical answers be short; they must be written. It is also suggested that names be of the form FIRSTNAME LASTNAME, to avoid any ambiguity when the question is posed. Similarly, do not use words like "THE" or "A" prepended to an answer. Try and phrase the question in such a way that such words are not needed when answering. Next, you may feel that the TIS_Log.dat file needs trimming after the game has been running for a long time. T.I.S. has no problem with the large log file; it accesses it from end to beginning (in reverse chronological order.) If you feel that you need to trim the log file (if your hard drive space is at a premium in other words), then, once again, load up your capable text editor. Delete a number of lines from the BEGINNING to another line in the file. Do NOT delete from the end backwards. Do not, under any circumstances, edit a line of the file so that it is less than or greater than 80 characters in length. T.I.S. depends on each line being exactly 80 lines in length. (If you have alot of hard drive space and are not worried about a few hundred kilobytes of game log file, leave it alone. Players are meant to look at this log file often to get an idea of what transpired since they last played the game.) Lastly, deleting old messages from the Messages directory CAN be done, but it is not a good idea. The message reader in T.I.S. will stop reading messages when it can't find a message file. Basically this means that if you want to delete any messages from the "DOORS:TIS/Messages/" directory, it is best to delete the old ones, leaving a single contiguous block of messages from the last one you didn't delete up to the current message. Licensing/Registration Information ------------------------------------------------------------------------------- (This information also appears in the INSTRUCTIONS/LICENSING section of the "TIS" program. The only difference is that the following information is flush-justified, and contains my mailing address for registration purposes.) The Immortal Struggle is copyright (C)1992 by Chris Rea. All rights are indeed reserved. You may run The Immortal Struggle (hereafter referred to as T.I.S.) on your bulletin board system provided that the following conditions are met: A) If you are running a pay-for-access system that grants non-pay users less than than 40 minutes a day online time, or no access at all, you MUST send in the registration fee after fifteen days of online usage of T.I.S.; I am hoping that your users will harass you if you overstep this limit. (T.I.S. is not crippleware; I would not make it so.) B) Whether or not part A applies to you, if you are running it in the greater Toronto (416) area code, you must get written permission from me to run T.I.S. on your public system. If you register your copy you will automatically have my permission. (If part A applies to you, you must register after fifteen days anyways.) C) If your system is non-pay and is not located in the greater Toronto area, (in other words, neither parts A nor B apply to you) then you may freely run T.I.S. on your bulletin board. You may still want to register, both to get the benefits of the registered version and to get guilt off of your conscience :-) When you run T.I.S., you automatically agree to the above conditions. Violation of any of the conditions is a crime. Please don't be a criminal :-) The registered version of T.I.S. will feature configurability; there will both be a "registered" executable and a sysop's configuring and editing utility. There will also be a sizeable question file (with questions different from those distributed with the unregistered version) distributed with these programs. The distribution of these will be limited only to those who have registered the program. (Hopefully enough sysops will register to warrant creating this registered version.) No guarantees are made, either expressed or implied, as to the functionality of The Immortal Struggle. If you must, or would like to, register T.I.S., please send a cheque or postal money order for the amount of either CDN$20 or US$16 to: Chris W. Rea 3058 Council Ring Road Mississauga, Ontario L5L 1N8 (CANADA) Don't forget to include a return address, and, if available, the number for your bulletin board system. (If your system is in North America, I would not mind calling it to upload your registered version, provided you have at least a 9600bps v.32 modem.) Final Notes ------------------------------------------------------------------------------- Please read the CREDITS section of the INSTRUCTIONS from within the game itself. Thanks, once again, to all those mentioned in the CREDITS section, and all whom I may have forgotten. (Forgive me. :-) Encourage your users to read all of the instruction files available within the game, etc. The game is truly fantastic and deserves more attention than other online games available. Regarding other BBS programs, *NO* The Immortal Struggle will NOT be converted to work with them, excepting BBX, which I have recently started running my own system with. If you are an AmiExpress, Paragon/StarNet, Atredes/Skyline, C-Net, etc. sysop, sorry but you will either have to find your own way to kludge The Immortal Struggle to work with your system, or upgrade to a better bulletin board program that has a non-proprietary door protocol. (When I say proprietary, I mean that in order for the door to have access to things like the user's name it must get them using specific BBS functions and structures.) (I seriously recommend BBX, which will surely revolutionize the Amiga BBS market when it is released. Highly configurable, powerful, and user-friendly. Completely Release 2/ARexx compliant, since it requires both to operate. You want configurability? Don't go looking for proprietary menu script languages that other BBS programs use. BBX offers the extreme flexibility of ARexx. No, not just as an easy way to make doors. ARexx is used for the actual menus. The possibilities are limitless!) If you would like to contact me, for bug reports, suggestions, etc., I may be reached either by the address given above (hopefully for registrations) or with the BBS number and network addresses listed below. ------------------------------------------------------------------------- .- -. Christopher William Rea (U. of T. Computer Sci. Student) | | | | | Sysop/IntuitionBase BBX (416)569-1482 (Toronto, Canada) | |__| |__ | UUCP: cwrea@eastern.com FIDO: Chris Rea @ 1:167/104.0 `- -' "I open my mouth and some idiot speaks..." -Midnight Oil ------------------------------------------------------------------------- 02-Jan-93 Cheers! Appendix A: The Immortal Coffee (A Recipe) ------------------------------------------------------------------------------- The Immortal Coffee is a highly interesting beverage with which you can gain higher wisdom. To create The Immortal Coffee, you must follow the following instructions. You must procure some water (not of the Mexican variety), a fairly large quantity of instant coffee, some highly sweet brown sugar, some Bailey's Irish Cream, some Kahlua, and possibly some egg-nog. (If it is the proper season for such an item.) Initially, boil some water. Pour this water in a cup. When I say cup, I mean a large cup. In fact, I really mean a very large cup. Within this cup, you must add a double dose of instant coffee. Disregard anything it might say on the container's label. When I say double dose I mean double what one would usually find enough to make one quite wired indeed. Next, add one shot (one fluid ounce) of Kahlua to this large cup of boiling water and instant coffee. After this ingredient, add two shots (two fluid ounces) of Bailey's Irish Cream, and then possibly some egg-nog (again, if it is in season.) Lastly, add plenty of brown sugar. The Immortal Coffee is, indeed, quite Immortal. This combination of sugar, caffeine, and ethanol will indubitably keep you awake for a long period of time. Thus the reason why this is The Immortal Coffee. (Did I forget to mention it tastes wicked?) Enjoy, and fleuh. ------------------------------------------------------------------------------- END OF FILE -------------------------------------------------------------------------------