home *** CD-ROM | disk | FTP | other *** search
- Documentation (heh!) for the Trade Wars Viewer programs -- DOS version
- Last revision: 3/11/92 by Woody
-
- Abstract:
- ---------
-
- The game Trade Wars is a delightful mix of economic strategy, exploration, and
- military conquest. For the first two to succeed, however, requires a good
- working knowledge of the universe. Unfortunately, keeping all the information
- about which sectors you've visited, which are ports, and which is connected to
- which can become a nightmare. The two main programs, "Convert" and "Examine"
- should help to make keeping that information straight a little easier, and
- increase your enjoyment of the game.
-
- The first program, "Convert," creates a data base of explored sectors, warps
- for each sector, if it is a port or not, and if a port, what it is selling.
- It is able to use the "interrogation" mode of your Crai, to enable fairly
- rapid and simple collection of data about the universe.
-
- The second, "Examine," allows you to look at that data base in a variety of
- ways, from visual graphing of the data to asking questions about nearby ports
- and so on.
-
- A third, "Offline," performs various inquiry tasks.
-
-
- What you need to run the programs:
- ----------------------------------
-
- To create the data base, you need to be in a terminal program that allows
- ASCII uploads and ASCII captures. The best situation is one that allows you
- to do them simultaneously, i.e., capture input while uploading a file.
- Second best is to have a large scrollback buffer, that allows you to take
- pieces out of the scrollback and append them to a file.
-
- There are two versions of the programs, one for DOS machines and another for
- Macs. (Source code is available if anyone wants to port it to the Amiga or
- something. It should only require minor changes to file I/O and graphics.)
- If you are running the DOS version, you will need the device driver (.BGI
- files) suitable for your machine.
-
-
- HOW TO CREATE AND MAINTAIN THE ORIGINAL DATA BASE:
- --------------------------------------------------
-
- There are two methods to develop the data base. Which you use depends on (i)
- how good you are at flinging files about and (ii) how much new information you
- are trying to collect. If you just want to find out about a few sectors, use
- the "old" method. If you want to collect a full set of data, use the "new"
- computer interrogation mode.
-
- In both modes, you should should turn ANSI off at least for the duration of
- the transfer. Do this with <N> from the main computer menu.
-
-
- The "Old" method.
- -----------------
-
- First, log into the game, and invoke the ship's computer. Tell the computer
- you want the known universe report, by hitting K. Now start an ASCII capture.
- If you have explored more than half the universe, tell the computer that you
- want unexplored sectors by hitting U and return. The computer will list your
- unexplored sectors. If you have explored less than half, tell the computer
- you want explored sectors by hitting E and return. The computer will list
- your known sectors. If you've explored a lot of sectors, there may be a
- [PAUSE] in the listing; just hit the space bar and go on past it. (Its okay
- if it shows up in your ASCII download.) When the listing is finished, turn
- off the capture. Your captured file must contain either the line that says
- "You have explored the following sectors:" or "You have NOT explored the
- following sectors:" and at least one blank line after the sectors. (A little
- more before or after is okay too.)
-
- Now shift from your terminal program to the program "Convert". At the first
- prompt, it is asking for your initial data base. If you've already developed
- a data base, and are just updating it, give the name of your old base; if you
- don't have an existing data base, just hit a return. Next, it will ask if it
- should be reading a list of explored sectors, a log of inter-warp and port
- information, and so on. Choose option 1. Next, it'll ask for your "Explored
- Sectors" or "Unexplored Sectors" file. Next, it will ask you to name the file
- to generate: use anything you like here but being careful to not accidentally
- overwrite something you want to keep. (The program is smart enough to ask if
- you really mean to clobber a file.) The last question the program will ask
- you is if you want an update on your ports: this will add a request for update
- for every port. The program maintains information about current trading levels
- for each known in the game; this will freshen that information to the current
- data. It probably isn't needed very often, but once in a while to update
- things it is useful. (I generally use that only if I've lots of time to play
- around: I refresh "interesting" ports by using an upload from the "Examine"
- program.)
-
- What this step will do is create a file that you can upload to generate lots
- of printouts. Essentially, what it creates is a file with I<sector number>
- and R<sector number> for every new sector. The nice thing is that this will
- interface well with the Crai on board your ship.
-
- Now back to Tradewars. You are probably still in Computer mode; if not, get
- there. What you want to do is upload the contents of the file you just
- generated with the Convert program into the Crai on your ship. If you can
- do that while doing an ASCII capture, start the capture and then start the
- upload. Otherwise, you may have to start the upload and then retrieve the
- results later from your scrollback buffer. In any case, your captured file
- should contain all the I reports (sector nnn has warps to : xxx - yyy - zzz
- etc) and all the R reports (Commerce report for ...). There will be lots of
- "I have no record of a port in that sector."'s: that's okay -- have to find
- out if there is a port there or not. If there are a couple of ports that
- you are trying to keep track of, you can also call up a port report on them
- and store that in the downloaded file: just make sure that when you hit your
- R you don't just carriage return but explicitly type in the sector number.
-
- Back to the "Convert" program. Again, tell the program your old data file
- (or hit return to start fresh) and this time we are in part 2. Tell it the
- name of the ascii download or capture you just made, and the name you want to
- use for your database. The program will generate the data base.
-
-
- The "New" method.
- -----------------
-
- First you have to get into computer interrogation mode of your Crai. To do
- this, you need to send ASCII characters 200 through 205 to the Crai. There
- is a file "ON.TXT" included in this package -- do an ASCII upload of ON.TXT
- after you have activated the Crai, and you will see a ":" appear.
- Alternatively, if you are on an IBM, you can hold down the Alt key, then
- type 200, release, hold down alt, type 201, release, etc.
-
- Now that you are in interrogation mode, start your ASCII capture; I recommend
- using an extension of .SCT. Type I, and the computer will immediately begin
- spewing out sector numbers and warps. When that finishes, stop the capture,
- and start another capture, this time using an extention of .PRT. Type R, and
- the computer will begin spewing out port information. When that finishes,
- stop that capture, shell to DOS, and run the program "Convert."
-
- There are two new options in convert: option 8, which parses the .SCT report
- you prepared, and option 9 which parses the .PRT report. Invoke them, then
- exit Convert and your data base is complete.
-
- This "new" method does not identify class 0 ports (Terra, for one), nor does
- it identify the star dock (as the old method did from logs). That information
- is not available from interrogation mode, so you have to add them manually by
- using the edit mode of "Convert."
-
-
- OTHER CONVERT OPTIONS
- ---------------------
-
- This takes care of 1 & 2 (old style sector/port info processing) and 8 & 9
- (new style sector/port info processing). For to have the program remember
- where you have left fighters, capture a <G> report from the main menu
- (remember, with ANSI turned off) and then feed that through option 3.
-
- For the Major Space Lanes data (those sectors that get cleared by the Feds
- each night) I have a problem. It turns out that the Martin's haven't used
- any of the standard shortest path algorithms in their program. (Amateurs,
- sigh..) So we have to get the Crai to do the shortest path computation.
- To do the computation, you have to know the location of the stardock, and
- the two other ports that sell fighters and shields other than Terra. Option
- 4 will generate an upload file, that option 5 will then parse.
-
- Many people have reported problems getting the upload file to work properly.
- There are two solutions: either fiddle with your ascii upload so that it
- doesn't send out more characters until the computer finishes working with
- the previous set, or just enter the file generated in #4 by hand yourself.
- Its a fairly small file to type.
-
- Option 6 allows fellow teammates to collaborate. You can feed in their
- information about sectors, ports, and so on, and use it for yourself. Of
- course, ports that you haven't visited will be marked as "blocked" next time
- you do a port scan (since you aren't receiving info from them) but you will
- be able to see what kind of port they are, and approximately how much they
- are selling.
-
- Option 7 allows direct editing. This is important if, for example, you've
- been using the "New" method only, and you know where the ports that sell
- Holds, Fighters, and Shields are; if you know the location of the Stardock;
- if someone in the game destroys a port you've visited (and you want to mark
- that as empty space again); if you create a port; and a new feature to 0.91,
- if you want to mark a sector as to be avoided (so TWVIEW won't plot a path
- across that sector or show paths from it on the display). Just choose 7 and
- follow the prompts.
-
- STRUCTURE OF THE DATA BASE
- --------------------------
-
- The database is in plain text, so you can examine it yourself if you like.
- Information is divided into several categories. First, are the two lines:
- ::Tradewars Data file::
- SpaceDock is 200
- or whatever the corresponding sector is if you have visited the space dock,
- or possibly "SpaceDock is 0" if you have not visited it or do not know the
- location of the space dock sector.
-
- Next is a line of the form:
- 7 <- number of notes
- where the integer represents how many "Notes" you've stored for the game.
-
- A note has the form:
- 13 Don't Go Near This Sector!!!!
- i.e., a sector number, and a short bit of text. You can add or delete notes
- from within the "Examine" program, as well as display those sectors for which
- you've recorded notes.
-
- Next is a line of the form:
- 105 <- number of Port Infos
- followed by lines of the form:
- 120 3000 3280 -2530 100 32 100
- where the first integer is the sector number for the port; next are the levels
- for the three trade goods "Fuel Ore," "Organics," and "Equipment." A positive
- number means that the port is selling the stuff, and a negative number means
- the port is buying up to that much of the stuff. (Remember that the larger
- the magnitude of the number, the better the price you get -- ports are more
- willing to stretch when the numbers are higher!) The last three numbers are
- percentages of maximum use: a value of 100 means the port is fully refreshed
- for that good, 0 means they are all sold out or are not interested in buying
- anything.
-
- Special Note: If a port doesn't show up on the R report, but there had been
- port information stored for it, the previous sales levels are preserved, but
- the port usages are all set to zero. This allows you to identify ports that
- have been captured by the Ferrengi or opposing players.
-
-
- The sectors are in no special order (actually, in order of appearance from the
- logs over time) but there must be as many lines as specified in the "<- number
- of Port Infos."
-
- Next is a line of the form:
- Sector data starts here ...
- followed by lines of the form:
- 1 6 2 3 4 5 6 7 8 2
- <sector> <number of warps> <warp1> ... <warpn> <port code> <etc code>
-
- Here, for example, is a report for sector 1: it has six warps, to positions 2
- through 7, a port code of 8 (which actually corresponds to class 0) and an
- "etc" code of 2. A "Port Code" corresponds to -1, if the sector is not a
- port, 0 through 7 based upon a three bit representation of selling or buying
- (for example, sector 120 is selling Ore and Organics and buying Equipment, so
- its port code would be 1 * 1 + 1 * 2 + 0 * 4 = 3; don't worry about it, the
- program handles figuring out port codes and so on). The "etc" code tells
- about various pieces of information, again depending on bit representation.
- Currently the codes in use are:
- NoteExists = 1;
- IsPort = 2;
- HasFighters= 4;
- SpaceLane = 8;
- Avoid = 16;
- Stardock = 128;
- but others will probably follow. (Note that the Stardock is also a port; so
- its etc code is 128 + 2 = 130; if a random port had a note attached, its code
- would be 2 + 1 = 3.)
-
-
- HOW TO USE THE DATA BASE VIEWER
- -------------------------------
-
- Its pretty well impossible to draw a decent map with all 1000 sectors, so the
- data base viewer doesn't try to do that. Run "Examine", and tell it the name
- of your data base. You will be presented with a list of options. In version
- 0.91, you get to choose from the following list:
-
- Choose one of:
- <A>dd note
- <B>usiest ports
- <C>lassify ports
- <D>elete note
- Closest place to buy <F>ighters, shields, and holds
- Note <I>nformation
- <L>ength of path between two sectors
- <M>isc config options
- <N>earest port
- <P>aired ports
- <Q>uit
- Nearest <S>ectors
- <T>ranswarp menu
- Nearest <U>nexplored sectors
- <V>iew space in graphic format
- <W>here is nearest fighter cloud
- Net change <X>
-
- Here is what the commands will do:
-
- <A>dd note
- <D>elete note
- Note <I>nformation
- These manage the notes that you may have stored on your universe. Typical
- notes might be "enemy base here!", "great trading spot", "Fedspace", or
- whatever. Option "A" will add a note to a sector, option "D" will delete a
- note from a sector, and option "I" will present you with a list of the notes
- you've made, sorted by distance from a current sector.
-
- <B>usiest ports
- This will offer a display of your ports, sorted by usage. First to be listed
- will be all class 0 ports and all ports with a usage field of 0. (In
- particular, any port that has been previously scanned, but for which you can
- not now obtain a scan will appear here.) Then will occur all ports sorted by
- fraction of maximum use.
-
- <C>lassify ports
- Want to know where all the BBB ports are? This is the command for you. It
- will list all known ports of a specific class. Choose the class from the
- menu, and you get the regular port listing.
-
- Closest place to buy <F>ighters, shields, and holds
- Invoke this option, and you will be asked for your current sector. The
- computer will then display the path from that sector to any place it knows of
- to buy fighters: if the only class 0 port you know is Terra, that is the only
- one it will display, but if you know of the others, it will display a shortest
- path to the closest of those sectors.
-
- <L>ength & path between two sectors
- You specify two sectors, and it will tell you the shortest way it knows of to
- get between those two sectors. Note that this may NOT be the actual shortest
- path if there are sectors you have not yet explored that might give you a
- better route. It gives you the shortest path YOU'VE EXPLORED between those
- two sectors. It will not route your path across an avoid. The program will
- actually list the path in both directions, with a pause (for a return) in
- between.
-
- <M>isc config options
- Currently, there are two allowed configuration options. You can turn the
- color off: this prints everything in monochrome, and changes port colors to
- small printouts of the actual ports. It looks good on my laptop... your
- mileage may vary. (Suggestions?) Anyway, if you load GRAPHICS.COM, this
- allows you to print the screen and still see port sector numbers. The other
- option is for verbose or terse sector descriptors. In verbose mode, it will
- print "Fighters", "Space Lane", "Dead End", "Avoid", etc. In terse mode, it
- will print "F", "SL", "DE", "AV" and so shouldn't overflow the line.
-
- <N>earest port
- Nearest <S>ectors
- Nearest <U>nexplored sectors
- These displays will give you information about what is close to your current
- position. Information displayed includes if the sector has been explored, any
- notes, if its a port, its status (SSB for example, means selling Ore, selling
- Organics, and buying Equipment) and levels of production. If you ask for the
- "Nearest Port" report, only ports are listed. I find the "Nearest Unexplored
- sectors" report VERY useful for exploration purposes: I can just head toward
- the nearest unexplored sector easily this way.
-
- <P>aired ports
- This is one of my favorites. What it does is go through the data base and
- find ports that are adjacent (i.e. you can warp between them using normal
- space in one turn) and are compatible (i.e. at port A you can buy a good
- that is sold at port B, and you can sell a good that is bought at port B).
- You can be selective (greedy) and only specify ports that are compatible in
- the very profitable Organic-Equipment trade, or ask for all compatible pairs.
- The program will offer you the opportunity to have the results sent to a text
- file, which you can print later (if you can't run the program simultaneously
- with your terminal emulator, you can get hard copy of the "hot sectors") and
- you can have the results sent to a text file that are compatible for upload
- (i.e. part 2 of the "Convert" program so you can keep an eye on trading levels
- at these critical ports). Displayed to the screen is an integer "factor" --
- this number is based upon levels of goods available in the critical trades,
- and will give a rough estimate of how good a deal you are going to get.
-
- <T>ranswarp menu
- This drops down to a submenu that deals with locations of deployed fighters
- and using a transwarp drive. Most submenu items are pretty obvious: you
- specify where you have deployed fighters, or tell the data base that some
- #%!%@$ has shot up your deployed fighters, or list the places the data base
- knows you've deployed your fighters. The only thing that needs mentioning
- is the shortest route submenu item: you specify where you are, and where you
- want to go. It figures out, based upon where your fighters are located, the
- fastest route to get there (using a transwarp jump and then normal autopilot).
- It may say to transwarp to your current sector -- that just means the shortest
- route lies through normal space.
-
- <V>iew space in graphic format
- Viewing the data will attempt a graphic display on your screen of space: you
- tell it about how many rows across and columns up and down of sectors to use
- (maximums are given in the program: hit a return, and you get a default value
- that is about 3/4 of maximum); you tell it the base sector you want in the
- center of the screen (it has to be a sector you've visited!); and you tell it
- how large a radius to display (all sectors it is aware of no more than that
- distance away from your base sector). It will try to display the collection
- of warps that make up your known space. Ordinary, visited sectors are shown
- as circles, ports as rectangles. (Unexplored sectors just have their numbers
- floating in space, and if you have color are in yellow.) Lines connecting
- sectors means there is a warp connecting one with the other. Dashed lines
- mean that you don't know if the warp is two way or not: if one end of the line
- connects to an unexplored sector, you will have a dashed line. If both of the
- sectors at each end are explored, the warp really is one way! (Try graphing
- around the StarDock and around the class 0 ports.) Don't try to graph too
- many sectors at once: the screen gets too busy, and you won't be able to tell
- what connects to what.
-
-
- Use of the OFFLINE program
- --------------------------
-
- The OFFLINE program is envisioned as something you use while not logged into
- the game, to decide upon strategy and the like. Version 0.91 gives the
- following menu:
-
- <C>ontrolled sector status
- <D>ead end analysis
- suggest <E>therprobe targets
- visit <M>ultiple sectors efficiently
- <Q>uit
- <S>tellar dispersion
- <T>raffic area analysis
- <V>isit every sector
-
- The <C>ontrolled sector status display is useful to look for backdoors or
- sectors that you have missed in setting out a domain. Essentially, you
- specify militarized sectors that mark the perimeter of your domain, and then
- a sector that is "inside". It runs through the area you can get to without
- running a militarized gauntlet. If it finds an opening out into the major
- space lanes, there is a problem...
-
- The <D>ead end analysis provides you with the dispersion of the dead ends by
- tunnel length. A tunnel is a sequence of sectors adjacent to only two
- sectors, the last of which is a dead end. These are convenient places to
- place your citadels, as you can fortify the citadel and make someone fire
- off lots of photon torpedos or fight through lots of defenses to get to your
- home sector. After displaying the dispersion, it asks for a tunnel length,
- and then will display all tunnels of that length. It checks for "back
- door"s, i.e. one way warps into your tunnel, then displays the distance of
- the home sector from terra.
-
- suggest <E>therprobe targets and <V>isit every sector efficiently are two
- commands that you might use in the endgame. Lets assume you have already
- mapped all the sectors and are just looking for where your opponents have
- built up their citadels. What these allow is building up of a "map" of
- sectors you have recently visited/scanned recently, so you can tell where
- your opponents are hiding. The former will make a suggestion to sectors
- that will show lots of new sectors for you, and the last will actually offer
- a circular path through the galaxy that will allow you to visit or scan
- every possible sector. (Incidentally, a galactic tour, from scratch, takes
- about 1000 moves. A scout can easily do that in a week. If you use up a
- bunch of etherprobes, you can do it in a long (and expensive) day.)
-
- visit <M>ultiple sectors efficiently is intended to provide the following:
- you know that you want to hit sectors A, B, C, D, and are going to go through
- normal space -- the program will suggest which is the best order to visit
- the sectors. Unfortunately, its getting late, and while there is an easy
- recursive procedure here, I just don't feel like writing it from scratch at
- this point, then testing it... oh, well, you get docs instead. Watch for it
- in version 0.92.
-
- <S>tellar dispersion will provide the dispersion of sectors from a given
- sector. This will give you a general feel for whether a sector is near the
- middle of the galaxy (lots of sectors at distance 3, 4, 5, 6) or on the rim
- of the galaxy (lots of sectors at distance 11, 12, 13, 14). Useful,
- somewhat, in deciding where to hide citadels or place threatening fighter
- clouds.
-
- <T>raffic area analysis will take a long time to compute... but when it
- finishes, it will determine via connectivity what the most likely sector to
- find a trader is. Basically, it runs through all million paths between
- pairs of sectors, weights the path by its ends (in "uniform" weights, the
- weight is 1; in "port heavy" weights, the weights are
-
- Port Type Weight
- blank sector 0
- BBB, SSS 1
- SBB, BSS 2
- BSB, BBS 4
- SSB, SBS 4
- HFS 10
- Terra 20
- space.dock 50
-
- The number that comes out is the number of paths through that given sector,
- with paths weighted as above. High numbers are good places to put
- fighter/mine blockades; or small numbers of fighters to collect tolls or
- just track the trader traveling through the sector.
-
- So, that is the program at the moment. There are still lots of things I
- want to add, but I make my living as a professor, not a programmer... this
- is supposed to be fun, see? :-) Still, the program will probably make it to
- version 1.0, so I can stop dealing with it, someday...
-
-
- FEEDBACK
- --------
-
- WWIVnet: The best place for info is 510-376-1554; leave mail to number 1.
- If you are part of a WWIVnet board, you can mail 1@5056.
-
- internet: I can be reached as woody@galileo.stmarys-ca.edu. The current
- version of the program is also available by anonymous ftp from
- galileo.stmarys-ca.edu (149.137.1.1) under /pub/twview.
-
- Yes, I do consider suggestions. Sometimes the answer is "no". Sometimes it
- works its way into the program. If you want your suggestion to almost
- surely be included in the code, include a source patch! ;-)
-
-
-
- ACKNOWLEDGEMENTS
- ----------------
-
- Thanks, of course, to the Martins for such a great game!
-
-
- COPYRIGHT AND LICENSING STUFF
- -----------------------------
-
- Copyright 1991, 1992 by Robert Weaver. All Rights Reserved. You may not
- distribute this for any fee beyond the reasonable costs of distribution.
- Permission is granted to distribute this document and the related
- executables and source code provided this notice is preserved, and anyone
- you give the executable has the ability to obtain this documentation and the
- accompanying source files.
-