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