home *** CD-ROM | disk | FTP | other *** search
-
- UTILITIES FOR PLAYING YANKEE TRADER
-
- UTILITIES WRITTEN BY HARLAN D. WORCHEL
-
- YANKEE TRADER GAME WRITTEN BY ALAN DAVENPORT
-
-
- INTRODUCTION
-
- The files in this package comprise a set of utilties which
- allow a player to optimize his strategies when playing Alan
- Davenport's BBS door game, Yankee Trader. These utilities require
- the use of an intelligent terminal package when playing the Yankee
- Trader game. The package used by the author is Procomm Plus,
- distributed by Datastorm Technologies. For information on using
- other terminal packages, see the OTHER TERMINAL PACKAGES section.
-
- These programs were originally written for use by the author
- in playing Yankee Trader. At this time, the level of "user
- friendliness" of the programs is limited. There is a certain amount
- of recommended processing of the log file which needs to be done with
- either an editor or word processor. If interest in these programs is
- present, upgrades may be made. At some point, it is the desire of the
- author, to incorporate these programs into a Yankee Trader terminal
- program, but again, this would be largely based on interest.
-
- The basic concept behind these programs is as follows.
- Whenever the user plays Yankee Trader, he captures his entire game
- session to a log file. (This is accomplished in Procomm Plus by
- pressing F1, and entering a file name.) After each session, a log
- scanning program, SCANLOG, is used to build/update a database,
- YANKEE.DB. This database is the player's own copy of the current
- state of the Yankee Trader universe. As the player takes more and
- more turns, the information in the database becomes more complete.
- Certain techniques and programs are available to expedite this
- process.
-
- Other programs are available to analize this database and
- generate reports. These reports can be used by the player either
- before playing, to plan his move; or while playing to determine what
- to do next.
-
- There are also programs to generate command files. These
- files may be executed during a players turn to perform certain
- functions. For example, one command file is used to determine the
- current price and quantity information for all ports in the Yankee
- Trader universe. Another is used to send off a set of sensor robots,
- in a sequence designed to scan the entire universe in as few robots
- as possible.
-
- Additional utilties are available for verifying the contents
- of the database. Since the captured log is susceptible to line noise
- during the players turn, it is important to eliminate as may errors
- from the log file as possible.
-
- In discussing how the utilities are used, the strategies used
- by the author, in playing Yankee Trader will be reflected. No
- presumption of being an expert at the game is made. Other strategies
- may not require all of the utilities, or may need some that are not
- present in this package. Please feel free to contact the author with
- any suggestions.
-
- BASIC INSTRUCTIONS
-
- After logging onto a BBS which has Yankee Trader, and starting
- the game, turn on log capture for your terminal package. (Procomm
- Plus does this by pressing F1, and entering a file name. The author
- usually uses YT.XXX, where XXX is a number indicating which turn is
- being played. For example, the first turn would be stored to YT.001,
- and the next to YT.002. It is a good idea to save as many log files
- as possible in case a database error is found that is the result of
- an earlier log file. The database may then be corrected by editing
- out the error from the log file, and rebuilding the database from
- the saved log files.)
-
- In order to execute a command file while playing, do the
- following. First, use the appropriate command to your terminal
- package to execute a command file. For PCPLUS users, this is done
- by pressing ALT-F5, and requesting the ASP script "YT". The ASP
- script will then prompt for a command file name. After entering the
- command file name, perform whatever action is necessary to get the
- program to issue a command prompt. This may be as simple as pressing
- "ENTER", or may require entering "Computer" mode, by pressing "C"
- "ENTER". The command file will then execute until either end of file
- is reached, or you manually abort it. In PCPLUS, aborting a command
- file is accomplished by pressing "ESC" and then selecting "Y" in
- response to the prompt to abort.
-
- After quitting the game, turn off the log capture. When you
- have signed off, use the SCANLOG program to build/update the database.
- (Note that if you are playing Yankee Trader on mulitple BBS's, you
- will need to maintain a separate YANKEE.DB file for each game you
- are playing.) Next, run the desired utility programs to generate
- the desired reports. The enclosed UPDATE.BAT batch file, runs the
- utilities which the author uses on a daily basis. For details on
- each of the report utilities, see the REPORT UTILITIES section.
-
- STARTING A NEW GAME
-
- Since the database only contains information that can be
- parsed from the log, it is helpful to obtain as much information as
- possible when starting a new game. The following procedure is used
- by the author for every new game. Note that each time a new game
- is started, the existing YANKEE.DB file must be deleted!
-
- Immediately upon signing on, execute the SCAN.CMD command
- file included with the package. Note that prior to beginning the
- command file, you must be in "computer" mode. This command file,
- will run a computer report 10 between sector 1 and every other sector
- in the game (1000 is the highest sector). Obtaining this information
- takes a little time, but does not use any turns. If running at 1200
- baud, you should allow pretty close to 45 minutes to run the file.
- At higher speeds, it takes less time. This information adds basic
- routing information for every sector in the universe to the database.
-
- After running the SCAN.CMD, you should generate a full
- computer report 7. This report will generate a list of almost all
- of the ports in the universe. The only ports not reported are those
- ports where enemy fighters are posted. At the beginning of a game,
- these will usually be Xannor. Because some ports are missing, it
- is a good idea to run this report again the next day you play. It
- is the experience of the author that combining the results of two
- days report 7s, will usually generate a complete port list.
-
- Note that report 7 includes only quantity information, not
- prices. In order to include price information in the database, it
- is necessary to either visit each port, or to run a computer report
- 2 on each port. To make this easier, after running your first
- computer report 7, load the log file into a text editor or ASCII word
- processor. Find the report 7. Scanning for "Port Reports" is a good
- way of doing so. Extract the entire report 7 into a separate file.
- This file now contains a complete list of all the ports (except the
- occupied ports as described above). If you then globally edit this
- extract file to remove everything except the port number, and if you
- preface each port number with "2;", you can use the resulting file
- to generate computer report 2 for every port. (Because of the problem
- with some ports not being included in the 7 report, the author runs
- this report on each of the first two days. Then by comparing the
- resulting extract files, the missing ports can be filled in.) You
- should keep this file, and execute it periodically to update the price
- and quantity information in your database.
-
- REPORT UTILITIES
-
- DEALS.EXE
-
- This program will scan the current YANKEE.DB file, and
- generate a report which lists all known two way trades, with a maximum
- of four moves from one port to the other. This information is
- presented twice for each trade, sorted by total value of the trade
- (computed as number of units available for trade times the starting
- profit per unit), and by starting per trip profit. Note that the
- information used to generate this report is only as current as you
- make it. The stored values are updated every time a commerce report
- is generated for a port. The quantity values are also updated
- whenever a report 7 is generated. Plagues and trading by other
- players may degrade these trades. Ports left on their own will
- develop better trades due to normal productivity. It is suggested
- that report 7 be generated every day you play, and that a complete
- set of commerce reports (report 2) be generated once a week or so
- (depending on activity in the game).
-
-
- The following is a sample line from the report:
-
- Sector 379 (Org) <- 382 -> 388 (Equ), 243608 units @ 34 (20, 0)
-
- This line indicates that there is a trade available between sectors
- 379, selling Organics, and 388, selling Equipment. The ports are
- not adjacent, but require passage through sector 382. There are
- 243608 units available for trade. (This number is computed as the
- lowest of the buying and selling quantities on both sides of the
- trade.) The starting profit is 34 credits per unit traded. (This
- is computed as the sum of the differences between the buying and
- selling prices for the two products being traded. Note that a complete
- round trip must be made to obtain the profit. The final two numbers
- on the line indicate the distance of the base point of the trade (in
- this case Sector 379) from Earth and back to Earth. (Note that
- distance to Earth is only included in the database whenever an
- autopilot report or computer report 10 is generated between this
- sector and Earth. A value 0, indicate that the distance is not in
- the database.)
-
- BESTDEAL.EXE
-
- This utility generates information similar to that from
- DEALS.EXE, but it can expand the radius between trading points, and
- only lists deals that meet preset quantity and profit criteria. The
- default values generate a listing of all known deals within 10 moves
- of each other, with a minimum quantity of 20000 units, and a starting
- profit of 80 credits/unit traded. Note that this report is generated
- in sector number sequence. The enclosed batch file, BEST.BAT, will
- generate a default report, and sort it by trade radius. (Shortest
- radii first.)
-
- This is a sample line of the report:
-
- 2: 358 Ore <-> 363 Equ, 47038 @ 80 : 358 368 363
-
- This line indicates a 2 move trade between sector 358, selling Ore,
- and sector 363 selling Equipment. There are 47038 units available
- for trade, and the starting profit is 80 credits/unit traded. The
- path between the ports is then listed.
-
- ENDPOINT.EXE
-
- This utility lists all sector in the database for which only
- one warp is know. These sectors are known as endpoints. Endpoints
- are useful places to hide because players will not arbitrarily move
- through endpoints while going from one place to another. Note that
- due to incomplete information in the database, some sectors may be
- listed that are not actually endpoints. Sectors which are known
- positively to be endpoints are marked with a "*". Sectors which
- contain ports are marked with a "P". At the end of the report, the
- number of possible and known endpoints is given.
-
- If a file is desired which contains the output from this
- program, such may be obtained by using standard DOS output
- redirection. Example: ENDPOINT >ENDPOINT.LST will generate the
- output to a file named ENDPOINT.LST.
-
- UNKNOWN.EXE
-
- This program analyzes the database and lists the sectors and
- ports for which information is missing. If a sector is present in
- an autopilot report, or compter report 10, the database entry for
- that sector is updated to include the sector which enters the known
- sector, and the sector to which passage is made. (Example: Within
- an autopilot plot "102 - 104 - 108"; the facts that sector 102 has
- access to sector 104, that sector 104 has access to sectors 102 and
- 108, and that sector 108 has access to sector 104 are all stored.)
- However, unless a warp list is given for a sector, it is not known
- if there are any other warps which access the sector. (In the example
- above, sector 104 could have additional warps to sectors 105, 110
- etc.) Any sectors for which a warp list have not been obtained, are
- listed as "Unknown Warp Sectors".
-
- Likewise, it may be known that a sector has a port without
- haveing any price or quantity information. If this is the case, the
- offending ports are listed as unknown ports.
-
- It is a good idea to obtain commerce reports for all unknown
- ports as soon as possible. Until commerce reports are obtained, the
- ports can not be included in the trade reports. Likewise an attempt
- should be made to visit unknown warp sectors. The more information
- available in the database, the more alternatives are available for
- trading.
-
- As with ENDPOINT.EXE, this program outputs to the display,
- and a report file can be generated with DOS output redirection:
- UNKNOWN.EXE >UNKNOWN.LST.
-
- LISTWARP.EXE
-
- This program lists all known warps for every sector in the
- universe. Known warp sectors are marked "*". It should be noted,
- that this utiltity was generated once with the intent of drawing a
- map of the universe, but that no other use has been found for the
- report.
-
- As with ENDPOINT.EXE, this program outputs to the display,
- and a report file can be generated with DOS output redirection:
- LISTWARP >WARPS.LST.
-
- EARTH.EXE
-
- This program lists all sectors which are adjacent from Earth
- and to Earth. It is the author's experience that the sectors adjacent
- from Earth are always 2 - 7. The sectors to Earth always include
- 2 - 7, but there are also a number of "back-doors". (Note that these
- back-doors are the only 1-way warps in the game. None of the report
- utilities make the mistake of assuming 2-way passage through a
- back-door.)
-
- RANGES.EXE
-
- This program scans the database and lists the minimum and
- maximum buying and selling price for each of the three types of products.
- The number of ports which have that price, and the first port found
- with that price are also listed.
-
- MAKEPATH.EXE
-
- This is an interactive program which can be used to generated
- the same information available in computer report 10. Note that the
- information presented may not exactly match that in the computer
- report. But it the database is reasonably complete, the route should
- be close to the same distance. This utility is intended for use
- off-line for planing moves and strategies.
-
- The program prompts for a starting and an ending sector.
- (If both sectors are entered in response to the first prompt, the
- second prompt will not be issued.) The program then generates a path
- between the two.
-
- FINDEND.EXE
-
- This utility is used to generate a list of the nearest
- endpoints to any given sector. As noted in the ENDPOINT utility,
- some false endpoints may be included, but known endpoints are flagged
- "*". The distance and path to the endpoint are included in the
- output.
-
- FINDPORT.EXE
-
- This utiltity is used to generate a list of the nearest ports
- to any given sector. The port number, what it sells, how much it
- has available, and its price are listed; along with the path to the
- port.
-
- FINDDEAL.EXE
-
- This utility is used to generate a list of the nearest ports
- to a given port, with which trading may be done. The port number,
- what it sells, the quantity available for trade, and the starting
- profit per unit traded are listed.
-
- READDB.EXE
-
- This utiltity is used to display all of the information from
- the database. The utiltity displays the information available for
- 10 sectors at a time. The following is sample output from the
- program:
-
- Sector: 5 * (1, 1) Known Warps: 13 1P 12
- Port: Proximus (Ore) Ore 559 16 Org 36898 49 Equ 1058104 71
-
- This is a report on sector 5. The "*" indicates that all warps for
- the sector are known. The numbers in "()" indicate the distance from
- Earth to this sector, and from this sector back to Earth. The known
- warps from this sector are 13, 1 and 12. Sector 1 is marked as having
- a port. This sector has a port, Proximus. It sells Ore. Currently
- 559 units are available for sale at 16. It buys Organics and
- Equipment. Quantities and prices are 36898 at 49, and 1058104 at
- 71, respectively.
-
- The program will allow displaying on contiguous sectors by
- merely pressing return at the sector prompt. Entry of Control-C is
- needed to terminate the program.
-
- TESTDB.EXE
-
- This utility scans the database to check for inconsistencies.
- As mentioned above, the entire log scanning procedure is suceptible
- to data errors, line noise, etc. The scanning program attempts to
- ignore erroneous data, but sometimes errors can not be immediately
- detected.
-
- Three types of common error are detected by this utiltity:
- one-way warps, ports with a product price of zero, and ports with
- no name. One way warps can occur if an erroneous warp list is
- followed by a good one. For example, if the following were present
- in the log:
-
- Sector: 670
- Warps lead to : 663, 66
-
- The SCANLOG program would record warps from sector 670 to sectors
- 663 and 66, and also warps from 663 and 66 back to 670. Now, if a
- little later in the log the following is found:
-
- Sector: 670
- Warps lead to : 663, 669
-
- The program would now correct the sector 670 entry to indicate warps
- to 663 and 669. Sector 663 would still show a warp to sector 670,
- and sector 669 would also show a warp to 670. The TESTDB utility
- would now detect the inconsistency of a one-way warp from sector 66
- to sector 670. This can be corrected by editing the log file to
- either remove or correct the first warp list, and then resubmitting
- the log file to SCANLOG.
-
- Zero priced products are most commonly the result of a
- corrupted commerce report. Unnamed ports are usually the result of
- a commerce report when SCANLOG has lost track of the current sector
- number.
-
- SEARCH.EXE
-
- This utility is scans the database and generates a command
- file. This file, if completely executed, will move the player from
- Earth and visit every unknown warp sector in the database. The
- program displays the number of turns such a complete trip would take.
- Note that if the current universe is filled with large numbers of
- Xannor or sector mines, it may not be a good idea to take such a trip.
- Also note, that if you are "black-holed" during the trip, it will
- be necessary to abort the command file. The starting point of the
- trip may be varied by entering the desired starting sector as a
- command line parameter. For example, to start from sector 500, enter
- SEARCH 500. The command file output by the program is SRCH.CMD.
-
- BUYPORT.EXE
-
- This utility also generates a command file for takeing a
- special trip. But this trip is designed to buy ports. In addition
- to the database, this file looks for an input file PORTS.MIN. This
- file contains the sector numbers of the ports you DO NOT wish to
- purchase. (Possibly because you already own them?) In addition to
- moving you to ports and issueing the buy command (the player still
- has the responsibility for actually buying or rejecting the port), the
- command file also performs trades at the ports that it passes along
- the way. The only criteria for performing a trade are that the port
- is not selling the same product you are carrying, and that at least
- 1000 units are available for both sale and purchase. (Since the
- command file can not know what you are carrying at the start, the
- first time it trys to trade, you may not have the correct product.)
- As with the SRCH.CMD file, this command file is susceptible to being
- aborted due to running into a black hole. The starting point of the
- trip defaults to Earth, but may be modified from the command line:
- BUYPORT #. (# is the starting sector number.) The command file is
- called PORT.BUY.
-
- SCANPORT.EXE
-
- This utility is used to scan a log file, to generate a list
- of ports which were actually purchased during a game session. After
- running a port purchasing spree, the utility can be used to append
- the ports just purchased to the PORTS.MIN file as follows:
- SCANPORT LOGFILE >>PORTS.MIN. (LOGFILE is the name of the log file
- to be scanned.) Note the double ">". This causes the ports to be
- appended to the file. One ">" would cause the PORTS.MIN file to be
- replaced.
-
- BUILDING A FIND LIST
-
- If the player runs the SCAN.CMD file on a single turn, there
- are two utilities which can be used to generate a find list. This
- find list is a set of sensor robots which scans the entire universe.
- This scan is set up in such a way that the majority of the universe
- is scanned in the earlier robots, thus hopefully allowing early
- termination of the scan once the desired object(s) is/are found.
-
- After running SCAN.CMD, execute PRSPATH.EXE on the resulting
- log file. (If you were unable to run the entire SCAN.CMD file in
- a single turn, combine the two files into a single file. This can
- be done from DOS: TYPE FILE.TWO >>FILE.ONE. (This appends FILE.TWO
- to FILE.ONE.) Make sure that no other autopilot reports precede the
- running the SCAN.CMD. If there are any, make a copy of the log with
- the excess reports deleted. Extra autopilot reports falling SCAN.CMD
- is not a problem. PRSPATH knows how many autopilot reports are
- required. The command for executing PRSPATH is PRSPATH LOGFILE.
- It will generate a file PATHS.RPT which contains just the autopilot
- reports for sectors 2 - 1000.
-
- Once this command has been executed, run CHKPATH (no
- parameters). This program will then analyze PATHS.RPT and validate
- it. If any errors are found, the following message will result:
-
- Input Error - Sector XXX
-
- If this occurs, there is an error in the file that was input to
- PRSPATH. Look in the log file for the autopilot report to the
- offending sector. PRSPATH keys off of the following text:
- "The shortest path from sector 1 ". If there is an error in the log
- file which obscures that text for the erroneous sector, fix the log
- file with a text editor, and rerun PRSPATH and CHKPATH. Repeat until
- no errors occur.
-
- When CHKPATH is complete it will output a file SCAN.ALL.
- This file contains the find list in the following format:
-
- r;618 * 2 - 90, 42
-
- "r;618" is the command to send a robot to sector 618. Everything
- starting with and following the asterisk is informational. Although
- SCAN.ALL can be used as a command file, it is suggested that you edit
- the file to remove the "*" and following information, and save the
- result into a separate file, such as FIND.CMD.
-
- The "2" indicates that this is the second robot sent. The 90
- indicates that after sending this robot, 90 sectors will have been
- scanned. The 42 indicates that this particular robot is scanning
- 42 new sector.
-
- Note that the algorithim used only takes into account the
- sectors that the scanning robot goe through on the way TO the
- destination. Since it reports on its way back, this provides some
- redundancy for robots which may get destroyed enroute.
-
- It has been the authors experience that half of the universe
- (500 sectors) is scanned in the first 50 - 60 robots. The 75% mark
- is hit at about 150 robots. The last 200 or so robots, are each only
- exploring one new sector.
-
- Note that an equally efficient scan, that runs in a different
- sequence may by generated by running CHKPATHR. This program analyzes
- the universe in reverse sequence of the CHKPATH program, thus leaving
- different sectors for the end. The resulting file is SCANR.ALL.
- This option may be desirable if it has been found that when searching
- for other players, they are almost always found at the end of the
- scan.
-
- OTHER TERMINAL PACKAGES
-
- The only file included in this package which only works with
- PCPLUS is the YT.ASP script file. The function of this file is to
- force PCPLUS to execute a command file. The format of the command
- file is one or more lines of Yankee Trader commands. Each line of
- the file will be entered in response to either a Main Command or
- Computer Command prompt. The actual text that the ASP script is
- waiting for is ")?". Whenever one of these prompts occurs, the next
- line of the command file is read by the script, and sent to Yankee
- Trader. The script then waits for another prompt. Note that because
- Yankee Trader accepts multiple commands in advance, and because the
- script file does take a noticeable amount of time to read the next
- line of the file, the amount of time required for command file
- execution can be minimized by entering two complete commands in the
- first line of the command file. This will cause Yankee Trader to
- always have a command to execute, even while the script file is
- reading the next line of the command file.
-
- If using a package other then PCPLUS, a comparible file to
- YT.ASP will be required which fulfills the requirements of the package
- being used. (This is assuming that the package has some "command
- file" or "script file" capability.)
-
- If the terminal package in use does not allow command files,
- some of the functionality of this utility package may still be used.
- The minimum requirement is that the package support capture of the
- log to a disk file. If this requirement if fulfilled, the utilities
- for generating trading information, etc. may still be used. Only
- the command files will not be able to be used.
-
- Should there be any questions concerning specific terminal
- packages, please contact the author.
-
- GENERAL COMMENTS
-
- This software package is being released, as is, into the
- public domain by the author, Harlan Worchel. None of the executable
- files may be modified without express written permission of the
- author. Under no circumstances may any or all of the software be
- used for any commercial reasons. The software may be redistributed
- as desired, but no fee may be charged for doing so, with the exception
- of a nominal media fee. This document MUST be included with the
- software package.
-
- This package is being released with the knowledge and consent
- of Alan Davenport, the author of Yankee Trader. If anyone wishes
- to make any contribution towards development of this package, 25%
- of that donation will be forwarded to Al as recognition of all the
- work he has done in creating and maintaining this great game.
-
- If you have any questions about any of this software or
- documentation, or if you have any suggestions for improvements of
- any kind, or ideas on how you would like to see these functions
- implemented into a terminal package, please contact the author:
-
- Harlan Worchel
- 510 Woodcrest Dr.
- Mechanicsburg, PA 17055
-
- I can also be reached on the Al's Cabin BBS (717-686-3037) Fidonet
- 1:13/75 in Milford, PA.; or on the Sunburst BBS (717-932-2104) in
- New Cumberland, Pa. I am also available on Prodigy as VNHH50A.
-
- May 23, 1991
-