GAME FACTS Various trivia about the game rules. See also "ship-table.{dvi,ps}" ---------------------------------------------------------------------- Date: Sun, 21 Apr 91 22:24:55 -0400 (EDT) From: "Terence M. Chang" To: Bulletin Board Administration Subject: Exploding ships Um, I suggest those who really care about such things look at the source file ntserv/daemonII.c (get sources via anonymous ftp from scam.berkeley.edu). The maximum damage an exploding DD/CA/BB/AS does is 100 (all other ships with centers within one shield radius take maximum damage). The exploding SC maximum is 75, and the exploding SB maximum is 200. For ships within 1 to about 8.5 shield radii away the damage falls off lineary from maximum to zero. I'm not sure how big 8.5 shield radii is, but I'd say the bitmap for an SB explosion is about 4-6 radii. The blast radius is the same for all ship classes. And, just for your information, a SC is just as "big" as a BB as far as a torp is concerned, whether or not shields are up. Terence ------------------------------ Date: Mon, 13 May 91 11:07:28 -0400 (EDT) From: Harry Karatassos To: Bulletin Board Administration Subject: Ship Statistics These are the unmodified ship statistics. Ofcourse they can be different for different servers. case SCOUT: shipp->s_type = SCOUT; shipp->s_torpspeed = 16; shipp->s_torpdamage = 25; shipp->s_phaserdamage = 75; shipp->s_tractstr = 2000; shipp->s_tractrng = .7; shipp->s_maxspeed = 12; shipp->s_maxfuel = 5000; shipp->s_maxarmies = 2; shipp->s_maxshield = 75; shipp->s_maxdamage = 75; shipp->s_maxwpntemp = 1000; shipp->s_maxegntemp = 1200; break; case DESTROYER: shipp->s_type = DESTROYER; shipp->s_torpspeed = 14; shipp->s_torpdamage = 30; shipp->s_phaserdamage = 85; shipp->s_tractstr = 2500; shipp->s_tractrng = .9; shipp->s_maxspeed = 10; shipp->s_maxfuel = 7000; shipp->s_maxarmies = 5; shipp->s_maxshield = 85; shipp->s_maxdamage = 85; shipp->s_maxwpntemp = 1000; shipp->s_maxegntemp = 1000; break; case BATTLESHIP: shipp->s_type = BATTLESHIP; shipp->s_torpspeed = 12; shipp->s_torpdamage = 40; shipp->s_phaserdamage = 105; shipp->s_tractstr = 3700; shipp->s_tractrng = 1.2; shipp->s_maxspeed = 8; shipp->s_maxfuel = 14000; shipp->s_maxarmies = 6; shipp->s_maxshield = 130; shipp->s_maxdamage = 130; shipp->s_maxwpntemp = 1000; shipp->s_maxegntemp = 1000; break; case ASSAULT: shipp->s_type = ASSAULT; shipp->s_torpspeed = 16; shipp->s_torpdamage = 30; shipp->s_phaserdamage = 80; shipp->s_tractstr = 2500; shipp->s_tractrng = .7; shipp->s_maxspeed = 8; shipp->s_maxfuel = 6000; shipp->s_maxarmies = 20; shipp->s_maxshield = 80; shipp->s_maxdamage = 200; shipp->s_maxwpntemp = 1000; shipp->s_maxegntemp = 1200; break; case STARBASE: shipp->s_type = STARBASE; shipp->s_torpspeed = 14; shipp->s_torpdamage = 30; shipp->s_phaserdamage = 120; shipp->s_tractstr = 8000; shipp->s_tractrng = 1.5; shipp->s_maxspeed = 2; shipp->s_maxfuel = 60000; shipp->s_maxarmies = 25; shipp->s_maxshield = 500; shipp->s_maxdamage = 600; shipp->s_maxwpntemp = 1300; shipp->s_maxegntemp = 1000; break; case CRUISER: default: shipp->s_type = CRUISER; shipp->s_torpspeed = 12; shipp->s_torpdamage = 40; shipp->s_phaserdamage = 100; shipp->s_tractstr = 3000; shipp->s_tractrng = 1.0; shipp->s_maxspeed = 9; shipp->s_maxfuel = 10000; shipp->s_maxarmies = 10; shipp->s_maxshield = 100; shipp->s_maxdamage = 100; shipp->s_maxwpntemp = 1000; shipp->s_maxegntemp = 1000; break; ------------------------------ Date: Wed, 7 Aug 91 06:34:58 -0400 (EDT) From: "Terence M. Chang" To: Bulletin Board Administration Subject: Torps, ECE network downtime For reference, these are the standard torp and plasma velocities (on rwd4 you can add +/- max. warp for each ship class): shipp->s_torpspeed = 16; /* scout: */ shipp->s_torpspeed = 14; /* destroyer: */ shipp->s_torpspeed = 12; /* cruiser: */ shipp->s_torpspeed = 12; /* battleship: */ shipp->s_torpspeed = 16; /* assault */ shipp->s_torpspeed = 14; /* starbase */ shipp->s_plasmaspeed = 15; /* destroyer: */ shipp->s_plasmaspeed = 15; /* cruiser: */ shipp->s_plasmaspeed = 15; /* battleship: */ shipp->s_plasmaspeed = 15; /* starbase */ Terence ------------------------------ Newsgroups: alt.games.xtrek From: sfd@soda.berkeley.edu (Scott Drellishak) Subject: Re: Ship Explosions and StarBases Date: 16 Oct 91 08:53:13 GMT The damage done by a ship explosion goes like this: - if the ship is within your shield radius, full damage (see above) - if the ship is outside your shield, but within SHIPDAMDIST (which is the same for all ships, about a third of the way to the edge of the tactical display) then damage is (full damage) * (SHIPDAMDIST - dist) / (SHIPDAMDIST - shieldradius) So, the "explosion damage range" is the same for all ships, it's just the damage for each ship type that varies. Note that this is all in the standard distribution -- your mileage may vary, depending on server hacks. Scott Drellishak ------------------------------ Newsgroups: alt.games.xtrek From: hde+@CS.CMU.EDU (Herbert Enderton) Subject: netrek trivia Date: Mon, 21 Oct 91 22:50:19 GMT Long nerdy post alert! I was browsing through the netrek server code and thought I'd summarise some of the lesser known facts about the game. Note that any of this may have been changed on your server, and that I've probably made an error or three. (So if you really need to settle a bet, look at the source.) I was going to post the ship stats from getship.c, but Spaceman Spiff beat me to it by a few hours, thanks Jonathan. Here are few lines to add to his table, gleaned from other parts of the code: SC DD BB AS SB CA shield cost 2 3 3 3 6 3 torpedo wpn temp 7 11 26 17 20 18 phaser wpn temp 52 59 105 56 96 70 plasma wpn temp -- 142 307 -- 292 292 Note that these weapon temps are in tenths, relative to what you see on the client's display. Other things that might be interesting to figure out include: Fuel used at max warp, per second, including what you recharge. Total amount of damage you can possibly do with one tank of fuel. Time to get from one home world to another without overheating, and how much fuel you'd have left. Expected number of armies bombed from a planet that starts at 30. Some slightly interesting #defined constants from defs.h: MAXTORP 8 MAXPLASMA 1 GWIDTH 100000 /* galaxy is 100000 spaces on a side */ WARP1 20 /* warp one will move 20 spaces per update */ SCALE 40 /* Window will be one pixel for 20 spaces */ EXPDIST 350 /* At this range a torp will explode */ DAMDIST 2000 /* At this range a torp does damage */ SHIPDAMDIST 3000 /* At this range, an exploding ship does damage */ PLASDAMDIST 2500 /* At this range, a plasma does damage */ DETDIST 1600 /* At this range a torp can be detonated */ PHASEDIST 6000 /* At this range a player can do damage with phasers */ ENTORBDIST 900 /* At this range a player can orbit a planet */ ORBDIST 800 /* A player will orbit at this radius */ ORBSPEED 2 /* This is the fastest a person can go into orbit */ PFIREDIST 1500 /* At this range a planet will shoot at a player */ UPDATE 100000 /* Update time is 100000 micro-seconds */ SBFUELMIN 10000 /* If starbase's fuel is less than this, it will not refuel docked vessels */ TRACTDIST 6000 /* maximum effective tractor beam range */ TRACTEHEAT 5 /* ammount tractor beams heat engines */ TRACTCOST 20 /* fuel cost of activated tractor beam */ More random facts (?) I noted in the code: A "tick" is 1/10 of a second. Most of the cost constants above are per tick. (So 10 updates per second makes a lot more sense than 9). It looks like the duration of a torpedo's flight is the torpfuse plus a random 1-20 ticks. Only thing is, that means a starbase's torps should only go the same distance as a destroyer's; is this true? Phasers hit if the beam passes within EXPDIST of a ship or within EXPDIST/4 of a plasma. Phaser range is proportional to phaserdamage. Phaser damage is multiplied by (1 - dist / phrange), i.e. drops off linearly. Every tick, your ship's speed is added to etemp, and you lose warpcost*speed in fuel. There's additional cost if you're a SB moving with docked ships. When etemp goes over maxegntemp, there's a 1/40 chance (per tick) of getting an overheat lasting 100 + random()%150 ticks. Which is why I still have to wait a few seconds after my scout cools to 0 before I can move. Weapon temperature works the same way. Detonating heats weapons by 20 (remember it looks like 2 to the client) regardless of whether there's anything to det. I couldn't figure out what happens when you try to tractor a docked ship, or tractor when you yourself are docked. We'll have to experiment. You can instantly pull somebody out of orbit, of course. When you tractor or are tractored, the change in your position is tractor strength divided by your mass; it doesn't depend on the other ship's mass. Adding fuel (every tick): In orbit around friendly fuel planet, 8 * recharge. Else if docked on a starbase with at least SBFUELMIN, you take 12 * recharge from the SB. Else 2 * recharge. Repairing (every tick): If in repair mode shields gain repair * 4, in thousandths. If in orbit around friendly repair planet another repair * 4. If docked repair * 6. Else repair * 2. Hull damage is same way, but repairs half as fast. Yellow alert range is GWIDTH/7. Red alert range is GWIDTH/10. The "seen" flag is set if you are within GWIDTH/7 (or GWIDTH/3 if uncloaked) of a player (not robot) of any other team, unless in orbit around planet you don't own (includes third-party planets). This is what determines whether they see you on the galactic map (even as ??). So avoid yellow alerts when you really want to be sneaky. If it's not t-mode everybody sees you regardless. You take no damage from your own torps. (Plasma is different.) If a teammate dets an enemy torp it doesn't hurt you at all. Damage from a torp you det is multiplied by (2000 - dist)/1650. Which means if you det it at 1600 (the best you can do), it will do 24.2% damage. This is independent of ship class. You can get hurt or killed by your own teammate's torps (or the torps of a mutually peaceful ship) if they explode on somebody else. You get 1 + 0.1 * (A + K) kills for offing a K-kill ship carrying A armies. Ships blowing up: Starbase does 200, scouts 75, others 100. If the ship is farther than 350 away, this damage is multiplied (3000-dist)/2650. Ships that quit don't hurt. You get to bomb every 5 ticks. It rolls a number 0-99, and you get: 0-49: nothing 50-79: 1 army 80-89: 2 armies 90-99: 3 armies. 21-99: if assault ship, one additional army. Doesn't look like this jibes with figures jch posted, so maybe I'm wrong. Also every 5 ticks the planet will fire on you, if you're hostile and within the 1500 planetary fire range. The damage is 2 + pl_armies/10, truncated to an integer. Every 400 ticks (40 seconds) the planets all have a chance to "pop". If random()%3000 < pl_armies, plague losing random() % pl_armies. If < 4 armies, 1/20 chance of pl_armies++. If agri, pl_armies++ always. 1/10 chance pl_armies += (random % 3) + 1. If agri, 1/5 chance of additional pl_armies++. This appears to mean that there are 40 seconds interludes in which you can be sure that nothing will pop, not even that 1 army agri world. I find this difficult to believe; maybe I'm missing something. You can beam an army every 8 ticks. Send me corrections and additional trivia, and I'll post another compilation. -- Red Shirt ------------------------------ Newsgroups: alt.games.xtrek From: hde+@CS.CMU.EDU (Herbert Enderton) Subject: More numbers comparing ships Date: Wed, 23 Oct 91 00:01:52 GMT More netrek trivia. All this stuff can be computed from the table of ship stats and the notes in my last trivia post, I think. The distance units are the netrek server internal distance units. A ship going warp 1 travels 200 units per second. No guarantees of correctness for these figures. I have not checked them empirically, but I'll check some of them when I get a chance. SC DD BB AS SB CA Net fuel/sec at maxwarp, shields down, uncloaked -80 -80 -200 -40 500 -120 Seconds cloaked at maxwarp before running out of fuel 20 24.1 28 28.6 240 26.3 Distance traveled doing that 48000 48276 44800 45714 96000 47368 Time to maximum safe engine temperature, at max warp 25 25 50 60 -- 33.3 Distance for this 60000 50000 80000 96000 -- 60000 Number of torps in fuel tank 28 33 38 22 200 35 Total damage from these torps 700 990 1520 660 6000 1400 Number of phasers in fuel tank 9 11 13 10 62 14 Total damage from these 675 935 1365 800 7440 1400 With empty fuel tank, damage delivered per second, warp 0, shields down. * 23 31 31 29 88 34 Same but with shields up 20 27 28 24 80 30 Repair/sec to shields 1.6 2.0 2.5 2.4 2.8 2.2 (x2 if in repair mode) Maximum phaser range 4500 5100 6300 4800 7200 6000 30 point phaser range 2700 3300 4500 3000 5400 4200 Average torpedo range 8480 11340 12120 12960 11340 12120 0-maxwarp acceleration time (in seconds) 6 5 10 8 2 6 Distance to do this 7200 5000 8000 6400 400 5400 Maxwarp-2 braking time (in seconds) 3.7 2.7 3.3 3.0 0 3.5 Distance to do this 5185 3200 3333 3000 0 3850 Time from earth orbit to canopus orbit (dist 20615) (seconds) 12.8 13.4 18.6 17.4 50.3 15.3 Time from earth orbit to romulus orbit (dist 60000) (seconds) 29.2 33.1** 43.2 42.1 148.8 37.2 Notes: * This is the average amount of damage you can do by recharging fuel and and hitting whenever you can. For assault ships and starbases the best average is with phasers (assuming point-blank range), and for battleships it's with torps. The figures above are with the best strategy for the ship. ** There's some chance of overheating the engines doing this in a destroyer. Add a little extra time (I'm not sure how much, maybe a second) to avoid this. I've deducted 900 distance for orbit radius, and factored in the acceleration and deceleration times. -- Red Shirt ------------------------------ Newsgroups: alt.games.xtrek From: hde+@CS.CMU.EDU (Herbert Enderton) Subject: Re: KSU Galaxy Server Code Date: Thu, 05 Dec 91 18:56:02 GMT In article <1991Dec5.051736.6089@m.cs.uiuc.edu>, carroll@cs.uiuc.edu (Alan M. Carroll) writes: |> is listed below). Note that if (rnd<50), the continue statement is |> executed, restarting the loop. Therefore if the control flow reaches |> the last statement, it must be that (rnd>=50), which seems to make the |> (rnd>20) check pointless. This might also explain some discrepancies |> in J. Hardwick's Netrek hints files about the bombing effectiveness |> of assault ships, since one claims that an assault only has a 20% of |> not hitting an army, yet this code gives it (like all other ships) a |> 50% of not hitting anything, and a 0% chance of hitting only 1. Yes, I think you're right, and I misread the code, so the bombing numbers I posted (weeks ago) are wrong. That code is so unnecessarily messy. Here's my interpretation now, maybe I have it right now, maybe not: You get to bomb every 5 ticks. It rolls a number 0-99, and you get: 0-49: nothing 50-79: 1 army, or 2 if you're an assault ship 80-89: 2 armies, or 3 if you're an assault ship 90-99: 3 armies, or 4 if you're an assault ship So normal ships bomb on average 1.6 armies per second, and assault ships bomb on average 2.6 armies per second. Corrected simulation results: SC DD CA BB AS =============================================================== LD-50 * 23 25 28 33 58 (armies) # left, starting at 5 3.4 3.4 3.4 3.4 2.4 (armies) # left, starting at 12 3.5 3.5 3.5 3.5 3.2 (armies) # left, starting at 30 13.9 11.4 9.5 4.5 3.1 (armies) Time, starting at 30 10.1 11.6 13.7 16.0 10.3 (seconds) =============================================================== * The LD-50 (stands for Lethal Dose) is the most number of armies the planet can start with and still allow the ship a 50% chance of flattening it. The ship will average about 85% damage if it lives. What this also means is that assault ships do best when bombing planets with odd numbers of armies. Here's some more data on that: Planet starts with: 5 6 7 8 9 10 11 12 A.S. bombs it to: 2.4 3.4 2.8 3.3 2.9 3.25 2.95 3.2 In particular, if a planet has 6 armies, you're best off using a scout or something to bomb it to 5, and then bring in the assault ship. In most cases it's probably not worth the extra time to do maneuvers like that, but I might do it sometimes just for fun. -- Red Shirt ------------------------------ Newsgroups: alt.games.xtrek From: hde+@CS.CMU.EDU (Herbert Enderton) Subject: Re: KSU Galaxy Server Code Date: Fri, 06 Dec 91 00:17:22 GMT I tested it, and it's true, an assault ship can't bomb just 1 army. You can watch the army count as you bomb a planet from 50 to 3 or whatever, and the jumps are all two or more. So yeah, next time I'm in an assault ship with 4 armies and going to take a planet that has 5 armies, I won't peek at the planet between bombing and beaming like I used to do, because I know I'll take it. (Especially once I've got that 40 second timer to tell me when the planet can pop!) --Bert ------------------------------ From: jmt@legend.cma.fr (Jean-Marc Tanzi) Newsgroups: rec.games.netrek Subject: More stats on ships Date: 1 Jul 93 09:00:05 GMT Ever wonder where the weapon costs came from? Look at the following, it's the maximum damage each ship can do by devoting all its fuel production to the said weapon (by tick: 1/10sec): SC DD CA BB AS phaser 2.29 3.14 3.43 2.80 2.86 torp 2.29 3.14 3.43 3.11 1.67 Nice coincidences here! Once again we see the BB phasers are much over-priced, and even the torps aren't a real bargain. Everyone already knew the AS torps are luxury. Now, let's see if the BB with its large fuel tank can be a real fire tower. Here are the maximum damages each ship can do with its full fuel tank: SC DD CA BB AS phaser 714 1000 1428 1400 857 torp 714 1000 1428 1555 500 Last point: the ships repair possibilities are the following (total hull+shields) each tick (shields repair twice as fast as hull): SC DD CA BB AS .24 .30 .33 .375 .36 So weapons have a real edge, if they don't miss. ------------------------------ From: "Joseph E. Beck" Newsgroups: rec.games.netrek Subject: Re: Clue-O-Meter Date: Sat, 7 Aug 1993 21:14:19 -0400 Useful bits of info about planet pops: armies popped in 40 seconds (average) Normal planet with less than 4 armies: .2 Normal planet with more than 4 armies: .15 AGRI with less than 4 armies : 1.4 AGRI with more than 4 armies : .35 So, if you drop 2 armies on an AGRI, it will pop 1.4 armies in 40 seconds, reducing your investment to .6 armies. So, unless you're up by a lot, don't do it (newbie proverb, obviously this isn't always true). plain ------------------------------ From: markiel@callisto.pas.rochester.edu Newsgroups: rec.games.netrek Gordon Macdonald (gmacdona@butterfly.uvic.ca) wrote: > This could be FAQ....but I didn't see it on the list. > What controls how many armies each planet produces/per period of time? > My first guess whas that there is a finite number of armies in the game, > and bombing one sides armies switches them to your planets, but I don't > think I'm right. Nope. Each planet is checked once every 40 seconds for a random chance of producing armies. The chance depends on the type of planet, as well as the number of armies on it. The algorithm goes like this (if I read the code right): for non-agri planets: 1) If the planet has less than 4 armies, there's a 5% chance of growing 1 army. 2) in addition to (1), the planet has a 10% chance of growing 1-3 armies (if the 10% chance hits, there's an equal chance to grow 1, 2, or 3). This chance occurs no matter how many armies the planet has. for agri planets: 1) If the agri has less than 4 armies, it automatically grows one, and has a 5% chance of growing a second. 2) In addition to (1), the agri has a 10% chance of growing 1-3 armies (exactly the same way as non-agris). 3) In addition to (1) and (2), the agri has a 20% chance of growing 1 army. Thus, if I read the code right, it's possible for an agri to go from 3 to 9 in a single pop, although that would be unlikely (0.033% chance). There has been some discussion about when planets should be checked for the chance to grow armies. The old way was to check all of the planets at the same time once every 40 seconds; not only does this produce a net traffic spike every 40 seconds, it's easy for people to time the pop cycle and thus know exactly when a planet might grow. The way the INL server does it (and a number of public servers) is to randomly order the 40 planets, then pick one each second and check it for growth. Once all 40 have been checked, reshuffle the list and go through again. This tends to preserve the same growth behavior while removing the predicting power (and the net spike). In addition to planet growth, there's a chance for the planet to have a plague which removes armies (this is to keep abandoned planets from growing to astronomical numbers). I won't dig up the formula, particularly as there are a few ways to do it, but basically the more armies there are on a planet, the more likely a plague will occur (they are very rare for the 10 or so armies you usually have on planets, but reasonably likely when the number gets up to 30-50 or so). -Grey Elf markiel@callisto.pas.rochester.edu ------------------------------ End of GAME FACTS *****************