Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!ucbvax!okamoto From: okamoto@ucbvax.UUCP Newsgroups: net.sources.games Subject: Trek73 (Part 6 of 6) (Doc. Part 2 of 2) Message-ID: <16579@ucbvax.BERKELEY.EDU> Date: Wed, 10-Dec-86 12:32:58 EST Article-I.D.: ucbvax.16579 Posted: Wed Dec 10 12:32:58 1986 Date-Received: Sun, 14-Dec-86 05:29:15 EST Organization: University of California at Berkeley Lines: 552 #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # 08ca.t # 08dn.t # 09dd.t # 09cl.t # 09ca.t # 09dn.t # 10.t # trek73.6 # Makefile # This archive created: Wed Dec 10 09:02:01 1986 # By: Jeff Okamoto () export PATH; PATH=/bin:$PATH if test -f '08ca.t' then echo shar: will not over-write existing file "'08ca.t'" else cat << \SHAR_EOF > '08ca.t' .bp .ce Weapon And Vessel Specifications .ce Heavy Cruiser Class .ce Enemy exceptions are enclosed within [brackets] .sp .DS .ta 2.8iR 3.3i .ce Phasers Number of banks 4 Max range 1000 megameters Max spread 90 degrees (45+45) Min spread 20 degrees (10+10) Max hit with 45 degree spread 10 Max hit with 10 degree spread 45 Loss of shield 1 per hit hit/4.5 Loss of shields 2-3-4 per hit hit/3 Firing angles with engineering 0-125, 235-360 degrees Max charge per bank 10 units Min charge or discharge time 1 sec .sp .ce Tubes Number of tubes 6 Max range 12,000 megameters max launch speed warp 12 Max time delay 10 seconds Max proximity delay 500M Max explosion radius 500M Max number of pods launched 10 Max hit factor 50 Loss of shield 1 per hit hit/3 Loss of shields 2-3-4 per hit hit/2 Firing angles with engineering 0-135, 225-360 degrees .sp .ce Probes Number of probe launchers 1 Max range 3000M Max launch speed 2 Max time delay 15 sec Max proximity delay any Max explosion radius 50 times number of pods Max pods launched fuel available Max hit factor 10 times number of pods Loss of shields per hit same as torpedos Firing angles with engineering all .sp .ce Vessels Max turning rate 55 degrees Max speed warp 9 [11] Min units burned per warp-second 1 [.75] Crew 450 [350] .DE SHAR_EOF chmod +x '08ca.t' fi # end of overwriting check if test -f '08dn.t' then echo shar: will not over-write existing file "'08dn.t'" else cat << \SHAR_EOF > '08dn.t' .bp .ce Weapon And Vessel Specifications .ce Dreadnought Class .ce Enemy exceptions are enclosed within [brackets] .sp .DS .ta 2.8iR 3.3i .ce Phasers Number of banks 6 Max range 1000 megameters Max spread 90 degrees (45+45) Min spread 20 degrees (10+10) Max hit with 45 degree spread 10 Max hit with 10 degree spread 45 Loss of shield 1 per hit hit/7.5 Loss of shields 2-3-4 per hit hit/5 Firing angles with engineering 0-125, 235-360 degrees Max charge per bank 10 units Min charge or discharge time 1 sec .sp .ce Tubes Number of tubes 8 Max range 12,000 megameters max launch speed warp 12 Max time delay 10 seconds Max proximity delay 500M Max explosion radius 500M Max number of pods launched 10 Max hit factor 50 Loss of shield 1 per hit hit/6 Loss of shields 2-3-4 per hit hit/4 Firing angles with engineering 0-135, 225-360 degrees .sp .ce Probes Number of probe launchers 1 Max range 3000M Max launch speed 2 Max time delay 15 sec Max proximity delay any Max explosion radius 50 times number of pods Max pods launched fuel available Max hit factor 10 times number of pods Loss of shields per hit same as torpedos Firing angles with engineering all .sp .ce Vessels Max turning rate 30 degrees Max speed warp 8 [10] Min units burned per warp-second 2 [1.5] Crew 600 [450] .DE SHAR_EOF chmod +x '08dn.t' fi # end of overwriting check if test -f '09dd.t' then echo shar: will not over-write existing file "'09dd.t'" else cat << \SHAR_EOF > '09dd.t' .bp .ce APPENDIX 4 .sp 2 .ce Initial Settings .ce Destroyer class .sp 1 .ce Enemy exceptions are enclosed within [brackets] .sp .DS .ta 2.8iR 3.3i Crew 200 [150] Speed Warp 1 Course 0 [0-360] degrees Engine Efficiency .5 [.5] Fuel Level 100 Fuel Capacity 150 Regeneration Rate per Second 8.0 Helm Lock None [None] Phaser Deployment 0, 0 Phaser Bank Levels 2 x 10 units Phaser Charge/Discharge Rates 2 x 10 units Shield Drain 2 x 1 units Shield Percentage 2 x 100 Torpedo Deployment 60, 0, 0, 300 Tube Levels 4 x Zero Total Charged Pods Available 190 .sp .DE SHAR_EOF chmod +x '09dd.t' fi # end of overwriting check if test -f '09cl.t' then echo shar: will not over-write existing file "'09cl.t'" else cat << \SHAR_EOF > '09cl.t' .ce Initial Settings .ce Light Cruiser Class .sp 1 .ce Enemy exceptions are enclosed within [brackets] .sp .DS .ta 2.8iR 3.3i Crew 350 [250] Speed Warp 1 Course 0 [0-360] degrees Engine Efficiency .75 [.5] Fuel Level 125 Fuel Capacity 175 Regeneration Rate per Second 10 Helm Lock None [None] Phaser Deployment 90, 0, 0, 270 Phaser Bank Levels 4 x 10 units Phaser Charge/Discharge Rates 4 x 10 units Shield Drain 4 x 1 units Shield Percentage 4 x 100 Torpedo Deployment 60, 0, 0, 300 Tube Levels 4 x Zero Total Charged Pods Available 190 .sp .DE SHAR_EOF chmod +x '09cl.t' fi # end of overwriting check if test -f '09ca.t' then echo shar: will not over-write existing file "'09ca.t'" else cat << \SHAR_EOF > '09ca.t' .bp .ce Initial Settings .ce Heavy Cruiser Class .sp 1 .ce Enemy exceptions are enclosed within [brackets] .sp .DS .ta 2.8iR 3.3i Crew 450 [350] Speed Warp 1 Course 0 [0-360] degrees Engine Efficiency 1 [.75] Fuel Level 150 Fuel Capacity 200 Regeneration Rate per Second 10 Helm Lock None [None] Phaser Deployment 90, 0, 0, 270 Phaser Bank Levels 4 x 10 units Phaser Charge/Discharge Rates 4 x 10 units Shield Drain 4 x 1 units Shield Percentage 4 x 100 Torpedo Deployment 120, 60, 0, 0, 300, 240 Tube Levels 6 x Zero Total Charged Pods Available 190 .sp .DE SHAR_EOF chmod +x '09ca.t' fi # end of overwriting check if test -f '09dn.t' then echo shar: will not over-write existing file "'09dn.t'" else cat << \SHAR_EOF > '09dn.t' .ce Initial Settings .ce Dreadnought Class .sp 1 .ce Enemy exceptions are enclosed within [brackets] .sp .DS .ta 2.8iR 3.3i Crew 600 [450] Speed Warp 1 Course 0 [0-360] degrees Engine Efficiency 2 [1.5] Fuel Level 200 Fuel Capacity 200 Regeneration Rate per Second 15 Helm Lock None [None] Phaser Deployment 90, 90, 0, 0, 270, 270 Phaser Bank Levels 6 x 10 units Phaser Charge/Discharge Rates 6 x 10 units Shield Drain 4 x 1 units Shield Percentage 4 x 100 Torpedo Deployment 120, 60, 60, 0, 0, 300, 300, 240 Tube Levels 8 x Zero Total Charged Pods Available 190 .sp .DE SHAR_EOF chmod +x '09dn.t' fi # end of overwriting check if test -f '10.t' then echo shar: will not over-write existing file "'10.t'" else cat << \SHAR_EOF > '10.t' .bp .ce APPENDIX 5 .sp 2 .ce Designer's Notes .sp 2 .PP When I was about 10 or 11, I would go to the Lawrence Hall of Science quite frequently. There, on their time-sharing system, I would sit at a Teletype Model 33 and play trek. .PP Sadly, LHS replaced their system and trek went away. It was my intention that it should not be forgotten. I had had a copy of a slightly different version of trek written in BASIC, but it was sadly unimplementable on my Apple computer. .PP When I learned of an implementation of trek written in C, I jumped at the chance to bring it to the systems here at UC Berkeley. At that time, the game was mostly a direct translation of the original BASIC source. Many of the commands and routines were either missing or faulty. With Peter Yee, we worked together to fix up the program and managed to get it running. .PP Once it was running, the time came for improvements. I admit to pulling many concepts from the game Star Fleet Battles, most notably the different races (Hydrans, Lyrans, etc.) and the ship names. .PP This version of the game represents many hours of thinking and debugging. I hope you enjoy playing it as much as I did coding it. .sp .IP " " 30 -Jeff Okamoto .sp 2 .PP My first experience with TREK73 was also at the Lawrence Hall of Science. I had been taking classes in Time-Sharing Basic and noticed that other people always talked about a game called $TREK that was a real CPU hog and was usually turned off. Naturally I was intrigued. Soon I was paying $2.00 an hour for the chance to play that game. Many long hours and quite a few dollars went into playing $TREK, so it was with a certain sadness that I learned that the DG Ecllipse on which $TREK ran was being phased out. I made several attempts to obtain the source before it went away, but I was unable to get it. .PP Fortunately for me, Dave Pare at UC San Diego was also a fan of the game, and more importantly, he had an outdated copy of the source from an HP 2000. Dave had started to implement the game in C to run under 4.2 BSD UNIX. Expressing my interest to Dave, I was able to get a copy of Dave's code and thus the TREK Project at Berkeley was started. I spent endless hours tweaking with Dave's code, implementing some of the fifteen or so commands that he had not yet translated. .PP At about this time, I learned that Christopher Williams, here at Berkeley, had also tried to implement the game in C. What is more, he had a copy of the source (in BASIC) from Berkeley High School, and had implemented most of the commands. Merging the work that Chris had done into my copy of Dave's work led to a fairly complete version of the game. There still remained a large number of bugs, poor ideas, and outright mistakes in the code, but it ran. .PP Jeff Okamoto, being a fan of the game and a Star Fleet Battles player, was greatly interested in hacking on the game to bring up to par with the version that ran at LHS and to extend it even beyond that. Thus our partnership was formed and the current version of the game represents several hundred hours of our joint work (and play). Also represented are the suggestions, modifications and bug fixes we received from numerous people, including (to name a few) Matt Dillon, David Sharnoff, Joel Duisman, all at Berkeley, and Roger Noe at Rockwell International. .PP It is hoped that this implementation of a classic game will bring joy (and perhaps fond remembrances) to all who play. .sp .IP " " 30 Live Long and Prosper, .br -Peter Yee SHAR_EOF chmod +x '10.t' fi # end of overwriting check if test -f 'trek73.6' then echo shar: will not over-write existing file "'trek73.6'" else cat << \SHAR_EOF > 'trek73.6' .TH TREK73 6 "04 Mar 1986" .UC 4 .SH NAME trek73 - A Star Trek simulation .SH SYNOPSIS trek73 [-tcsSECNHfrdyTnFl] .SH DESCRIPTION .PP .I Trek73 is one of many Star Trek simulations now available. In its time, it was considered one of the best. .PP The player takes on the role of a starship commander who is involved in a battle against enemy alien ships. .PP Your starship can be one of four classes, or it can even be a ship of your own design -- see shipyard(6). .PP At your control are the ships' massive warp engines, its main weapons, the phaser banks and photon torpedos, and its defensive set of shields. Using these and your own ingenuity, you must form and implement a strategy that will lead you to victory. .PP Also at your disposal are such tactics as the defenseless ruse, and the corbomite bluff. .PP Reminiscent of .I ls (1), .I trek73 has a large number of options: .TP .B \-t Turns on terse mode. No initial scenario description is given. This is useful for terminals running at low baud rates. This option is normally off. .TP .B \-c Allows the specification of the Federation captain's name. .TP .B \-s Specify the sex of the captain of the Federation vessel. .TP .B \-S Specify the name of the Science Officer of the Federation vessel. By default the Science Officer is Mr. Spock. .TP .B \-E Specify the name of the Chief Engineer of the Federation vessel. By default the Chief Engineer is Mr. Scott. .TP .B \-C Specify the name of the Communications Officer of the Federation vessel. By default the Communications Officer is Lieutenant Uhura. .TP .B \-N Specify the name of the Navigator of the Federation vessel. By default the Navigator is Ensign Chekov. .TP .B \-H Specify the name of the Helmsman of the Federation vessel. By default the Helmsman is Lieutenant Sulu. .TP .B \-f Specify the name of the enemy commanding officer. .TP .B \-r Specify the race of the enemy. The race should be one of the following: Klingon, Romulan, Kzinti, Gorn, Hydran, Lyran, Tholian, Orion, or Monty Python. .TP .B \-d Set the delay time for command entry. Higher times can be useful for novices or for playing on very slow terminals. .TP .B \-y Silly option. Adds the Monty Pythons as a possible enemy race. This option is normally off. .TP .B \-T Teletype option. Causes certain parts of the output to come out as they did on the original teletype implementation. Doesn't do much for the game on crts. This option is normally off. .TP .B \-n Specify the name of the Federation vessel. The default name for the Federation vessel is randomly chosen from a set of names. .TP .B \-F Specify the class of the enemy vessel(s). Allowable classes are Destroyer (DD), Light Cruiser (CL), Heavy Cruiser (CA), and Dreadnought (DN). If the argument is none of the above, the program assumes that this is the name of a file where a player-designed ship is stored. .TP .B \-l Specify the class of the Federation vessel. Classes available are the same as the enemy's. .SH AUTHORS William K. Char, Perry Lee, and Dan Gee wrote the initial TREK73 in BASIC. Dave Pare and Chris Williams translated the BASIC into C. Jeff Okamoto, Peter Yee, and others corrected and enhanced the code. .SH SEE ALSO Jeff Okamoto, .I "The Star Trek Battle Manual" .SH BUGS Hopefully none. Bug reports should be sent to: ..!ucbvax!okamoto and ..!ucbvax!yee. SHAR_EOF chmod +x 'trek73.6' fi # end of overwriting check if test -f 'Makefile' then echo shar: will not over-write existing file "'Makefile'" else cat << \SHAR_EOF > 'Makefile' # Makefile for Trek73.doc TEXT = header 00.t 01.t 02.t 03.t 04.t 04.5.t 05.t 06.t 07.t 08dd.t\ 08cl.t 08ca.t 08dn.t 09dd.t 09cl.t 09ca.t 09dn.t 10.t PAGE = trek73.6 DOC = trek73.doc MAN = trek73.man all: ${DOC} ${MAN} ${DOC}: ${TEXT} nroff -ms ${TEXT} > $@ ${MAN}: ${PAGE} nroff -man ${PAGE} > $@ shar: shar.doc1 shar.doc2 shar.doc1: header 00.t 01.t 02.t 03.t 04.t 04.5.t 05.t 06.t 07.t 08dd.t 08cl.t shar header 00.t 01.t 02.t 03.t 04.t 04.5.t 05.t 06.t 07.t 08dd.t 08cl.t >$@ shar.doc2: 08ca.t 08dn.t 09dd.t 09cl.t 09ca.t 09dn.t 10.t trek73.6 Makefile shar 08ca.t 08dn.t 09dd.t 09cl.t 09ca.t 09dn.t 10.t trek73.6 Makefile >$@ clean: rm -f shar.doc1 shar.doc2 make.out ${DOC} ${MAN} SHAR_EOF chmod +x 'Makefile' fi # end of overwriting check # End of shell archive exit 0