Short: Update to the GRAAL system. Author: pethu@wmdata.com Uploader: pethu@wmdata.com Version: 1.2 Type: game/role Requires: 1.5 MB of free RAM, WB 2.0 or above GREETINGS, FELLOW ADVENTURERS! ============================== For those of you not familiar with GRAAL, is is an acronym for Graphic Adventure Authoring Language. That should tell you something about what it's about. It is not a point'n'click development system, although an editor is included providing special help with some tasks. Depending on your point of view, some of the features may thus be considered drawbacks by some!... * Provides a player interface similar to that of, for example, the Monkey Island and Indy Games. * Fully dynamic dialogue system for those silly discussions with sidekick characters we have all come to love so much. * Fully automated main character animation. * An adventure consists only of scripts in standard ASCII files, IFF picture files, IFF or raw samples, and soundtracker modules. Use the built-in editor or your own, make your own utilities, etc. * Extremely easy to make foreign-language versions. * Utilities to make distribution diskettes included. * Registered version can encrypt the delivery scripts making it harder to cheat. * ...and then wait for the features of the NEXT release (see below). ABOUT THIS RELEASE ================== Note my new (and working) email address in this file's header. This archive contains an update to GRAAL 1, found in the GRAALA.lha and GRAALB.lha archives in game/role. You need these archives in order to use this update. This version contains a few new commands, but mainly bug fixes to previous versions. As of version 1.2, there are no longer separate development and runtime versions of GRAAL. GRAAL_Run and GRAAL_Dev have been replaced by the single program GRAAL_1_2. A personal keyfile placed in the directory where the GRAAL program is will disable the test functions, and furthermore, put your name up in lights on the loading screen! The main benefit (and reason for doing this) is that the keyfile will work on all future versions of GRAAL, when they are made available through Aminet and PD libraries. All registered users who have provided me with their e-mail address will be notified of these versions. (C'mon! Register! Register!) A new version of the gdc program is included, because the old one was slightly off in its calculations of disk space. This one shows with more accuracy how much disk space is needed. The editor is not changed much, except that it helps with and checks the syntax of the new statements and commands. WARNINGS AND PROPHECIES: ======================== This is very much an "in-between" release. I am currently hard at work with GRAAL 2, and it is coming along just fine. During this work, I have come upon some serious bugs in GRAAL 1, which have been corrected. However, due to the restructuring of the code, they will not be corrected in GRAAL 1. So, until GRAAL 2 becomes available, take extra care with the following: * Do not use MARK and RESUME commands if you can avoid them - they will change their behaviour in GRAAL 2, and are treacherous in their current incarnation anyway. * Avoid section objects for now - they get messed up when saving and loading games, if the loaded game position causes a jump to a different section of the game. The good news: Once GRAAL 2 is released, only very minor alterations will be needed to old scripts in order to start using it immediately. I will probably release an update beta version of GRAAL 2 first. This will be focused on bug fixes and the backwards compatibility. After that, I will begin on a new "mock" adventure that makes heavy use of all the new functions that the current example, "Olaf", does not use, This is necessary in order to do extensive testing of the new features. There will probably not be any updates to the editor in the beta release. This way, you get a more up-to-date GRAAL version quicker. You may also begin to fiddle with the new, neat features. Who knows, they may even work... ;) To wet your appetite, these are some of the things coming up in GRAAL 2. (Most of then have already been implemented, although not thoroughly tested.) Command and dialogue area layout -------------------------------- Everything in the graphics of the player interface is now customisable. Among many other things: * The number, placement and meanings of verbs. * Whether to display inventory as text or icons. * The fonts used - any font should go for anything, as long as the layout is altered to make room for what you have in mind. * The system messages shown to the player can be changed, taking the "easy translation" features of GRAAL even further. Calendar and clock ------------------ * Dates and times can be set and advanced. * A number of different formats for dates and times are available - basically, you design your own formats. * Dates and times can be displayed either with a SAY, THINK, RESP or TEXT command, or permanently in the command area using graal.main statements. * GRAAL can draw analogue clock hands for you in the command area. (You still have to draw the rest of the clock's face and casing, though... :) * You can test the date and time with the IFTIME and IFDATE conditions. Timed events ------------ * You can have events occuring and recurring at a specified time interval, For example, you may use a timer to advance the time (see above). The "events" are actually normal ACTION: statements, so there are no restrictions as to what they may contain! * One of the timers keeps track of how long the player has been inactive. Object Default Command ---------------------- * For each object, a default verb can be specified, executed directly when the player clicks the right mouse button. Dialogues --------- * Dialogues (LINE: and LACT: statements) can now be defined in a .section script. Can't think of a use for it? Don't worry, you will. At least, I have! * Number of dialogues, lines per dialogue and actions (LACT:s) per dialogue can now all be changed to suit your needs. Object Icons ------------ * For each object, an icon for use in the inventory can be defined and altered with the new ICON command at any time. Flags ----- * A flag can be set to the value of another flag. * The following logical operators can now be used to test flags: =, <, >, <>, <=, >= * A flag can be tested against the value of another flag. * A flag can be set to the value of the current "in-game date" or "in-game time". * A flag value can be added to another flag. Miscellaneous ------------- * Improved HANDLE command. * Improved MARK and RESUME commands. * Improved SAVE and LOAD routines. * New IFCBOB condition. * Alter the default length of time a sentence or text is displayed. * PAUSE key (the space bar). This was unnecessary in GRAAL 1, because nothing ever happened that was important when the player left the mouse alone! However, GRAAL 2 is (or can be) a whole different ball game in that respect... HISTORY ======= 960808: 1.2 Keyfile system implemented! 960728: 1.105 CUSTSCENE now takes parameter values "N" and "NF" to do the same as "S" and "F", but hiding the command area completely! 960727: 1.104 Bug fix: DSET could not handle dialogue numbers > 9. Now it can. 960726: 1.103 On-line monitor now does not force a reload of the section when returning to GRAAL. This was stupid, because it destroyed all section object flags! Save of dialogue states are now done per dialogue! 960720: 1.102 New IFSPOS condition - tests which way the player entered the room. 960606: 1.033 Added QUIT command to unconditionally quit GRAAL (after cleaning up!) 960602: 1.032 Added random value capability to SETOF and SETRF commands. Number of exits extended to 12, maximum number of parameter alternatives (lists separated by "|" characters) also to 12. 960517: 1.031 Traps more errors coming from the animation commands as "GRAAL runtime errors". Fixed so that "Go to " is only printed when the clicked exit has a name. This means exits can now be used as "clickable areas" for virtually any purpose. Just leave the "name" parameter blank in the EXIT: statement! Fixed a bug causing the cursor to ALWAYS be shown after background scrolling, even in a cutscene. 960517: 1.03 Replaced the EXIT_MESSAGE statement with the VERB_TEXT statement, providing a way to alter the text AND meaning of any verb including verb 0 (Go to).. 960417: 1.02 Added a CAMERA command to scroll the screen independently of main character's movements. 960414: 1.01 Included a proc for printing a message "Go to..." when using an exit and restored the default graphics banks in the code. New graal.main statement is EXIT_MESSAGE: ============================= Archive contents ============================= Original Packed Ratio Date Time Name -------- ------- ----- --------- -------- ------------- 110324 62428 43.4% 05-Jul-96 16:30:14 gdc 5976 2778 53.5% 10-Aug-96 17:31:54 GRAAL Hints & Tips 1.0 -> 1.2 131981 41278 68.7% 09-Aug-96 00:47:12 graal.guide 1796 677 62.3% 26-Jul-96 01:46:50 graal.guide.info 7970 3605 54.7% 28-Aug-96 02:30:04 graal12.readme 280632 132982 52.6% 10-Aug-96 23:10:06 graal_1_2 1786 624 65.0% 23-Jul-96 16:16:22 graal_1_2.info 109772 105722 3.6% 08-Aug-96 21:08:44 GRAAL_Editor 1786 864 51.6% 23-Jul-96 16:16:20 GRAAL_Editor.info -------- ------- ----- --------- -------- 652023 350958 46.1% 28-Aug-96 11:27:56 9 files