ZX Format #06
29 июля 1997 |
|
Toys - description editor Adeventyur - PAW (Part 1).
The Professional Adventure Writer Technical manual music by Jaan (C) 1986 Gilsoft International Ltd. (C) 1996 Alex ASP, Translation _______________________________ Program: TJGilberts, Y. Yeandle, P. Wade 1Grafika: D. Peeke, K. Maddocks and A. Williams Guide: T. J. Gilberts The text in Word: P. Contreras Translation is dedicated to those who: first simply ABecSilil, then drank grief with GACom, Then, perhaps, QPIlsya, and will continue, uRAW, go ... I. From the interpreter. Well, as expected, in this part of text can be seen a whole bunch of all delusional and prakiticheski useless information on the described more software, so some may be quite safely skip That, and some may not Read All of the following. The first question that probably arises: "What kind of animal is and why you eat?" This is another program designed to build adventyurnyh toys. Its predecessor a package of QPI, which seems in the eyes of Nobody saw. After creating this pack (QPI), a firm Gilsoft, apparently, has not stopped the work. Probably got a whole bunch of letters about the fact that not bad to do something for to be able to cram more information into any non-rubber Spectrum 48K, the company produces, in addition to the package program Press, which allows compress text data. But there are likely to have rebelled those had a slightly more stretched Spectrum 128K. Nope, they say, hunting load all the time then one program, then another, want to as all normal people, there were two in one (the reader, four in one), and want the game to take all of our 128 to create such labirntov that all the players over the years could not go through, once downloading the game. It was then grasped Gilsoft his head (or Keyboard'y) mixed codes of all the programs using either XOR, whether OR, and even HORROR, and was such a dirty trick that no fairy tale say no to remove the formatter, in short, something that became known as the Professional Adventure Writer (PAW). On what might this program, go Various rumors. Some say that the programmers she eats alive, others say it's the cause occurrence of nightmares creators adventyur. Personally, I only saw the program Mike Lemmon (Compass Software), some works are even less well-known (at us) programmers as well as fairly well-known MINDFIGHTER, which was created by Abstract Concepts, was all the same ubiquitous Delta 4, decided the same write something serious (but for some reason, there is the name of the brand adventyurostroitelnogo another product). History of the creation of this translation is very typical. Looking through somehow email Journal Sceptical, unreleased years in 88h by Delta 4, stumbled on advertising this software product. For fun decided to see if this vesh on gourmet servers, and to my surprise her there and found (before this I was searching there QPI, but found only a Quill). Clearly the case, continue searching its description. After weeks of searching it was found. This was the file format of Word, which contained a proprietary documentation, stuffed Pablo Contreras for he declared to be entered thanks to your book. After the conversion from MS-DOS format of the volume was about 130 K of pure English text. In Due to the fact that in Russian the words longer, and the fact that some British proposals appended to Russian translation, the volume is slightly increased and at this point is about 150K (No pictures), which corresponds to approximately 3 / 4 volume of single rooms Journal ZX-Revue. But at this point was completely different text. Literally two days before when I had to give all stuffed to the editor, appeared on the server full version of PAW, including corporate example of the game (TEWK), startovvuyu database and Some fonts that were not originally in the downloaded version, so that now the set is complete. Now let me make a small digression to say a few words about translation itself. Firstly, I have to categorically state that did not go to institute of foreign languages and that I am not a professional translator, so perhaps the text is a bit clumsy. Perhaps for this reason that I do not I will explain where the current location and why it is so called, and why cases are, oddly enough, nasty. During the translation have been corrected some logic errors (nabivalshiki and translators are human beings too!), But perhaps, some remained. By the way, when describing the format of the dictionary in ZF 5 I long thought to what kind of approach Classification of parts of speech, because one part speech in the Russian language can be quite different in English. And I decided then that if I write in Russian, then the application Russian classification. When I translated the text, I realized that it is better still be used specifically English, and that was done. And another pair of words. As we know, bourgeois Sinclair lives as a virtual machine and the TR-DOS does not run there, and is used kvazilentochny input. Once found PAW, he was given to rework. Not being able to see her result and with only Wordovsky text which describes the tape only apricots, I have the latest and translated into Russian. Therefore, if there will be some nuances in the work of TR-DOS, then someone will describe them later separately. Yes, I almost forgot to say hello to, and Today he is transmitted to developers IS-DOS. This is a very Soul Plane Operating System (For the time flew by 2 (dva!) disk with the fourth version, so most Part of the text had to fill in second, well, that does not formatnul it his time, but it would remain with nothing, and it would have been unhappy, because, and so had rake out the text from the wreckage). And yet, ERROR 1972 Rulezzzz Forever! And now a little bit about the plans. Not I know you, but personally I have this text I can not see, strength is not enough to view it again and choose the remaining ochepyatki. One senses that for some time, completely lost the desire something write. When it appears again to be can Fill promised an article about text in adventyurah (promised to appear boleemenee perebirabelny decompressor for text LEVEL 9), and then what? (Behind the scenes Glavred, chuckling, they say, and this we have let's see, let, cut or completely a knife, rubs his hands.) from the last interesting things on this subject that have appeared on the servers, there is a programm Unquill for PC the size of the order of 20K, which makes the game source code, so that anyone out there yelling, they say, want something about PC? Need it for you? If yes, then all questions to Glavred. There was a sort of proprietary opisalovka to the GAC (God forbid me from it - enough for me and PAW). There are a number of smaller things. So that almost truncated depends on you (maybe in vain the disk space occupied in ZF?). In short, all those who have any suggestions, comments, and just clever ideas, may apply. Address: ZF, or the old E-mail: SAB94174@D1.IFMO.RU II. More information. All rights reserved. None of the documentation may not be copied, given a loan, bought, or reproduced in any form, including electronic version, without the written permission of the authors and Gilsoft International Ltd. The above remark does not apply to routines that are part of Your game, and you may redistribute it free on request. The only you have to do is elsewhere within the game to mention that it was made by PAW. By Pablo Contreras: If Gilsoft wants to arrange a trial I'd be grateful if you would not occurred for the following reasons: 1) I am a big fan of your products and just want to increase its use 2) There are no kind of money can not buy 3) I myself bought PAW, when he appeared 4) a lot of money, I still do not From the translator: I dared to translate the text of the following considerations: It is known that the servers is just something to do with Sinclair'om authors Why not consider now a commercially valuable product. For example, you do not can find some adventyury firms Zenobi and some other firms, because that the authors are asked not to distribute them, and people adhere to this. PAW and its description are quite a long time on many servers, so no objections from Gilsoft have been reported. Thus Gilsoft gave permission for free use PAW, so it is quite possible, and the appearance of of translation. Thanks from Gilsoft: Thank you Howard and Pam for patience, Phil for the comments, Greame for clever ideas, Dicon and another for the graphics, as well as all our customers for their support and advice. III. Introduction. PAW can be divided into three main functions: 1. Database A database is a union of tables created in this way, that contain all the information necessary for adventyury. This database was originally contains the minimum number of rows that likely to be required in each game. Typically, the table is one row what is done to simplify the system. The database can use the additional RAM pages 128K machine. 2. Editor Editor is a two-tiered menu system, ie most of the functions of the main menu can cause a submenu from which you can access all program functions. All operations can be done either from the command line is part of the menu options, or Upon request, the program (prompt). Such combination of menu and command line was the best for beginners as well as for professional users. 3. Interpreter. This part is the heart PAW. The next chapter will be given a detailed description of his work as if to say In short, it receives commands from the player and uses information stored in the database in order to decode those most teams and how to react to them. Small size makes it impossible to PAW for its full allocation in main memory. 128K on a car the main part of a program stored in the form of overlay files for extra RAM pages and sent to main memory for basic necessities. A similar approach is used for 48K machines and sosotoit in that three overlay is stored in memory as long as they do not overlap created program. If a 128K machine initialized additional RAM or page 48K on the car will be covered with overlays, the call option that does not belong to this overlay would cause that prompted PAW load the overlay. The main menu and overlay system covers approximately 4K space that will be available Database RAW. Occupy about 10K Larry and his workspace For example, a buffer for the team Ramsave, input and raspakovi. Thus, there is about 27K for databases and 5 more RAM pages of 16K each, for a total is about 117K to 128K machine. This space can be used very effectively thanks to a text compressor, which still occupies 222 byte enables packing efficiency of text about 40%. For the average full text adventyura (no graphics) for the 48K machine is similar to adding about 8K of space for the database ie the total space of the database leaves 35K. IV. Interpreter. Flowchart 1. / \ (Start) \ / Initialization \ D> / Description locations Table processes 1 > Table Processes 2, Enter phrases No / / _ \ Yes <Found? > \ \ - / / , No / / - \ Yes TURNS +1, 4 <empty. action? > Search in the table \ \ - / / Integer answers SM6 SM35 "I don't" Time Understand "Passes .." Yes / / - \ No <<\ \ - / / Search Table compounds No / / - \ Yes <Got? > \ \ - / / No / / - \ Yes <Verb <14? > \ \ - / / SM8 SM7 "Can't" Can't go do that "that way" < Flowchart 2. / \ (Start) \ / No / / - \ \ + \ \ - / / Yes / / - \ Yes \ \ - / / No / / - \ No <Verb meet?> \ \ - / / Yes / / - \ No - <Noun meet?> \ \ - / / Yes < / / - \ No <More kondakty?> \ \ - / / Yes No / / - \ Yes <Terms and Conditions? > \ \ - / / / / - \ No / Run. action \ \ - / / Yes / / - \ Yes + \ + D> \ \ - / / + / No Yes / / - \ No <Exit? >> \ \ - / / > / \ End End \ / By reading this chapter, you must pay attention to the flowchart shown above. 1. Initialization. Background colors and character set installed, but the screen is not cleared, as this usually happens to describe the zero- location. All flags are cleared except for flags 37 - the number of wearable objects which is equal to 4, the flag 52 - maximum weight of portable objects, which is equal to 10, flags 46 and 47 - current pronoun (Pronoun) (usually , "IT"), which are assigned a value of 255 (No pronoun) and a flag - the number worn but not worn objects. Note what is reset flag has the effect of that the game will always start from location 0, which is due to reset Flag 38 - the current location of the player. 2. Description of the current location. If flag 2 is not 0, it decreases 1. If the room is dark (0 flag is not equal to 0) and the flag of 3 is not equal to 0, then the flag 3 decreased by 1. If the room is dark, flag 4 is not equal to 0 and there is no object 0 (Light source), then the flag 4 is reduced and The screen is cleared, if the current mode screen (the contents of the flag 40) is not first. If a dark object 0 is absent, print system message 0 (SM0 - "It's too dark to see anything" "Too dark ..."). Otherwise, the picture is drawn and printed description of location without NEWLINE. 3. Scan the process table N1. Flowchart 2 and subsequent text describes a table scan processes. Table N1 processes used to hranneniya lines, you need to add additional information to describe the current location, for example, open doors, present objects, etc. Here with 4 screen mode will be PROTECT act done to set the number line below which will be scrolled text. Now we enter the main loop, where is tracking time and is the answer to actions of the player. 4. Scan the process table N2. The main block of the PAW, used to perform the movements and actions PSI (pseudo-intelligent characters ie heroes are not controllable player a computer), uncontrolled events, such as the destruction of the bridge. 5. Getting phrase If the flags from 5 to 8 are not equal to 0, they decreased by 1. If the room is dark (0 flag is not equal to 0), and the flag of 9 is not equal to 0, the latter is reduced by 1. If the room is dark and the flag 10 is not equal to 0, then the latter is reduced in the absence of object 0. Called by the parser (the conversion routine introduced the proposal in a logical (LS). If the input buffer is empty, then by Print prompta (invitation) is captured and subroutine call I get offers new proposal in the input buffer. Prompt - system message number which is contained in the flag 42. If there will be is 0, then it will lead to the issuance of a system message SM2 - SM 5 and the probability of their issue will be 30:30:30:10, respectively. If you select the empty action , (TIMEOUT) by setting a flag in 1948 values greater than 0, then the procedure I must work out his. In this case, the case is issued SM35 ("Time passes." "It has been some time ...") and made a return to scan the process table N2. Imposed sentence is converted into logic by replacing each word introduced the proposal if it is in the dictionary program on its numerical value and entering these values into the appropriate flags. If you can not make any valid logical proposal, printing, melting SM6 ("I couldn't understand any of that "" What has been said I do not understand ") and made a return to scan the process table N2. 6. Table scan responses. The number of teams that managed to convert a logical proposal - Turns (Flags 31 and 32), increased by 1. Two flag used to be able to score up to 65536 such teams. Then scanned the table of answers to the presence of lines corresponding to Verb and Noun1 (verb and Suschestvitelnoe1) the current LS, using the sub-processing tables, which are described below. If possible, take action (if PAW displays a message different from NOTDONE), then returns to scan the process table N2. 7. Scanning the table of compounds. Produced a table scan for the presence of the compound word, the corresponding verb of the current LS. If at least one are found, then the flag is 38 (the current the location of the player) is entered chmslo, corresponding to this word. Then you will return to the description of the new location. Otherwise, prints SM7 ("I can't go in that direction "" I can not go there), if the verb is less than the current LS 14, otherwise SM8 ("I can't do that" "I can not do it "). In both cases, you will return to scan the process table N2. V. Scan the process table. Table of responses is a table of processes (note that any subprocess called from the table has the answers the same traits), so it will also be possible to scan this part of the PAW. Difference is that PAW will try to match the verb and noun go1 of LS in the table answers. PAW will look at all the data in table until until it reaches its end. Assume that some line exists, and it if is in the table answers will be checked against the verb and noun. Using the words "*" and "_" instead of the Verb or noun would lead to that This part of LS (verb or noun) can be equal to every word. Thus the string "*", "_" and the like will cause execution of the line, regardless from what was LS. This property should be used in any table that will be called from both tables responses, and from the process table. If in the process table verb and noun match, the rest of the LS is not important. PAW then in turn scan all kondakty (CondAct - condition / action). If this is the condition, and it holds PAW then proceed to the next kondaktu. In Otherwise, PAW out of the current kondaktov list and go to the next line (line - a set (list) kondaktov), if any, will still exist in the table. Exception - QUIT: if the test gives a negative result, immediately happen out of the table. This is not shown in Block 2 of the scheme considerations simplicity. If kondakt will indeed it, it will be produced. Actions can be divided into the following Groups: 1. Desc: after the place full output from the processing of all tables (even if nahodlis in subprocess level 10) and will be a transition to a description of the current location. 2. END: the full output from the processing of all tables and the transition to the initialization of a new game. 3. Exit: any action that will stop processing the current table and log out in the offending table (or back the main loop, if there was a table responses, processes 1 or 2), for example, EINVEN, DONE. 4. Conditional Exit: any action that will stop processing the current table and implement the output to the calling table (Or back into the main loop, if there was Table replies processes 1 or 2) if you can not perform the required functions For example, GET, PUT IN etc. Otherwise event processing will continue with the next kondakta. 5. Normal: any action, has fulfilled their functions, and allows PAW continue viewing the next kondaktov in the current row, for example, COPYFF, PLUS. It is easy to see what is QUIT to 4 type of action, but is still condition, so is a real kondaktom. Complete descriptions of all kondaktov at the end of leadership, where and shows belong to the type. VI. Kondakty. In this tutorial you will find detailed description of all kondaktov (CondActs - condition / action). They are divided into groups based on the fact of what they work in PAW: flags, objects, etc. Also provides some tips on their potential use. The text will be used to reduce nekotoye: locno. Number of locations. locno + number or location: 252 not-created is not created 253 worn put on 254 carried worn with a 255 is perceived as the number of those Tabernacles locations mesno. Message number. sysno. Number of system messages. flagno. Flag number. procno. Number of subprocess. wordslovo required type, which is in the dictionary or "_" that means any word from the dictionary. value number from 0 to 255. VI.I. Conditions (Conditions). 1) There are 4 conditions that are used to verify the location in which danny is in the moment a player: AT locno true if the number of the current location is locno. NOTAT locno true if the current number location is not equal locno. ACGT locno true if the number is greater than the current location locno. ATLT locno true if the number is less than the current location locno. 2) There are eight conditions that are associated with the current position of the object: PRESENT objno true if the object with the number objno. is a player is put on it, or is in the current location. ABSENT objno true if the object with the number objno. is not the player is not on it and is not in this location. WORN objno true if the object number objno. is put on the player NOTWORN objno true if the object with the number objno. is a player, but wearing on him. CARRIED objno true if the object with the number objno. is a player. NOTCARR objno true if the object with the number objno. is not a player. ISAT objno locno + True, if the object number objno. is in the location locno. ISNOTAT objno locno + true if the object number objno. is not in the location locno. 3) There are 8 conditions associated with and comparing the values of flags: ZERO flagno true if the value of the flag flagno. is 0 NOTZERO flagno true if the value of the flag flagno. is not equal to 0. EQ flagno value is true if the value Flag flagno. equal to the number value. NOTEQ flagno value is true if the value Flag flagno. is not equal value. GT flagno value is true if the value Flag flagno. greater than the number value. LT flagno value is true if the value Flag flagno. less than the number value. SAME flagno1 flagno2 true if the value Flag flagno1 equal to the value of the flag flagno2. NOTSAME flagno1 flagno2 true if the value of the flag flagno1 not equal Flag flagno2. 4) There are 5 conditions for testing the extended logical proposal. Better use these terms only when necessary a special word (or lack of words by using "_") for definition of the situation. This increases flexibility in recognition of commands. ADJECT1 word is true, if the adjective the first noun of the LS is the word word. ADVERB word is true if the verb of the LS is the word word. PREP word is true, if the excuse of the LS is the word word. NOUN2 word is true, if the second noun of the LS is the word word. ADJECT2 word is true, if the adjective the second noun of the LS is the word word. 5) The following condition is used for random processes. They can be used in order to create a random possibility of falling tree at the player during thunderstorm or breakage of the bridge, etc. Do not get carried away this opportunity, always leave the player a way to prevent such events, such as the presence of rubber footwear in the case of a thunderstorm. CHANCE percent true if percent less or equal to a random number from range from 1 to 100 inclusive. CHANCE PAW 1950 will move to the next kondaktu only if the resulting random number is in the range of 1 to 50 - as realized, for example, 50 and interest chances for success in any business. 6) There is a unique condition for checking empty action (Timeout): TIMEOUT is true if, during the player's request was authorized by the programmer performance (getting) empty action. For example, process table N2 may contain a string TIMEOUT MESSAGE 0 (where 0 is the MESSAGE line "Come on, sleepy" "Enough to bed, sleepyhead!"). Even better, if it will be called by CHANCE or counter empty of action, to sign did not appear too often. When a player while nothing will be entered with keyboard, the machine will remind him that it is not He came here to sleep, and play (if you can This extract from the car any reflectively-uterine sounds). 7) And finally, the most natural kondakt: QUIT In reply to a printed SM12 ("Are you sure?" "Are you sure?"), After then calls subroutine input. True if the player enters the first letter of SM30 ("Y") in response to the prompt. Otherwise case will be made of NEWTEXT and DONE. ...
Other articles:
Similar articles:
В этот день... 21 November