![]() | Experience |
A new feature of PHost 4 is that ships (and planets) have experience. Every unit gains experience while operating on your command, and experienced units are better in various aspects than inexperienced ones.
Units have a particular amount of experience points (EP) which is kept secret. From that, PHost derives the unit's rank or experience level which determines the actual bonuses. You know the level of your units, so you can estimate how many points it has. PHost can be configured to support between zero and ten levels which ships can reach. It comes with sensible defaults for 4 experience levels.
In every turn, units gain new experience points. When they have accumulated a particular score, they reach the next experience level. Every unit can advance by at most one level each turn; if you have enough points to advance two levels, the excess points will be discarded.
Unlike the simple experience system in HOST, PHost's system affects the most important part of the game: combat.
Note that ship experience is not a substitute for player experience.
Most parts of the experience system can be configured. We believe that the default values are sensible and balanced, but their practical value still has to be proven. The following sections describe all tunable knobs and their effects.
If you just want to try out the system, use our defaults. All you need to do to enable experience is to set NumExperienceLevels = 4 in your pconfig.src.
NumExperienceLevels = 4 ExperienceLevelNames = Recruit,Soldier,Experienced,Elite,Ultra Elite ExperienceLevels = 1500,4000,10000,20000 |
These parameters define the experience levels which are available. In every case, there is the basic level, or level zero, which is the one all ships and planets start with. The NumExperienceLevels setting defines the number of additional levels available, the ExperienceLevels option specifies the number of experience points you need to reach that level.
For example, a ship with 4000 EP will be awarded level two while a ship with 1400 will be level zero. You can define up to ten levels.
The ExperienceLevelNames parameter specifies the names of these ranks. A level-zero ship will be called "Recruit", a level-three ship will be "Elite". PHost currently doesn't use this parameter, but client programs can use it to name your units.
The default value of NumExperienceLevels is zero which effectively disables the experience system. To enable it with our default values, just say NumExperienceLevels = 4 in your pconfig.src. If you want more or less levels, you probably have to change all of the other parameters, too.
EPShipAging = 15 EPPlanetAging = 25 |
Every ship or planet receives this amount of experience points each turn, for just being there and doing nothing. With these settings, a ship will reach level 1 after 100 turns for just sitting there - not necessarily an effective tactic.
EPShipMovement100LY = 40 EPShipHyperjump = 30 EPShipChunnel = 30 |
Ships get EPShipMovement100LY experience for moving 100 ly. Here, a ship moving 81 ly will receive 32 points. Gravitonic ships get half the rate, a Buccaneer moving 162 ly will also get only 32 points. Ships only gain experience for moving themselves, ships being towed don't get points.
Ships who initiate a chunnel or hyperjump get points, too.
EPCombatKillScaling = 800 EPCombatDamageScaling = 200 |
Combat gets you most experience. When you destroy a ship or planet, you'll be awarded
(Mass_of_Loser * EPCombatKillScaling) / Mass_of_Winner |
EPs. When you damage a ship, you get
(Their_Mass * EPCombatDamageScaling * Damage) / (Your_Mass * 100) |
points. Destroying a unit includes damaging it, hence you get about 1000 EPs for destroying an equally heavy ship with these settings. It is combat mass which counts here, including Engine-Shield Bonus and Fed bonus.
No points are awarded when you fight an ally.
EPShipAlchemy100KT = 5 |
Alchemy ships get this amount of experience for producing 100 kt output.
Note that all values are truncated (fractional digits
removed) after computation. Alchemizing 115 kt gets you the same
amount as making 100 kt due to this rounding. The same goes for
experience through movement and combat.
EPRecrewScaling = 30 |
When crew members are killed in combat, the average experience of the remaining crew doesn't change.
When new crew members are added to a ship, the experience of the new and old crewmen is mixed proportionally.
Crew_experience = ((Old_crew * Old_experience) + (New_crew * New_experience)) / (Old_crew + New_crew) |
In particular, when you capture a ship by killing off its crew, it will start out with the experience level of that capturing ship (Old_crew will be zero in that case).
Since experience isn't only a matter of brains, but also a matter of technology - fine-tuned engines, weapons, computer archives -, you also keep parts of the experience which is in the ship's technology:
Tech_experience = Old_experience |
These two components form the new experience:
New_experience = (Tech_experience * EPRecrewScaling + Crew_experience * (100 - EPRecrewScaling)) / 100 |
That is, at the default configuration, technology affects experience to 30%, and crew affects it to 70%.
Example: assume you capture a ship, and give it 10 of your crewmen. Your ship has 3000 EP, the captured one had 1000. Since the old crew got completely killed, the new Crew_experience is exactly 3000 (=(0*1000 + 10*3000) / 10); the Tech_experience is 1000 (same as the old ship's experience). This yields a new experience of 2400 (=30%*1000 + 70%*3000) for the captured ship. The captor's experience will not change.
Assume now you add 50 more crewmen at a starbase. Crewmen from starbases start with 0 EP. The new Crew_experience now is 400 (=(10*2400 + 50*0) / 60), the Tech_experience is 2400, so the new ship experience is 1000. The base's experience will not change.
Here is a list of all actions which add crew to a ship:
Experienced ships have bonuses. Figuring out these bonuses is a tedious and time-consuming task, and it's not easy to understand.
In a nutshell, it amounts to the following rule: Unexperienced ships behave as they ever did. Experienced ships are better.
Level | Battle Power |
1 | 110% |
2 | 120% |
3 | 135% |
4 | 150% |
That's the intention of our default configuration, values will differ if you use a different set of experience levels, or a different configuration.
EModBayRechargeRate = 1,2,3,4 EModBayRechargeBonus = 0,0,0,0 EModBeamRechargeRate = 0,0,0,0 EModBeamRechargeBonus = 0,0,0,0 EModTubeRechargeRate = 1,2,3,8 EModBeamHitFighterCharge = 0,0,0,0 EModTorpHitOdds = 9,18,27,35 EModBeamHitOdds = 0,0,0,0 EModBeamHitBonus = 0,0,0,0 EModStrikesPerFighter = 1,2,3,4 EModFighterBeamExplosive = 0,0,0,0 EModFighterBeamKill = 0,0,0,0 EModFighterMovementSpeed = 0,0,0,0 EModMaxFightersLaunched = 0,0,0,0 EModTorpHitBonus = 0,0,0,0 EModTubeRechargeBonus = 0,0,0,0 EModExtraFighterBays = 0,0,0,0 EModEngineShieldBonusRate = 0,0,0,0 |
Don't run away screaming from this huge amount of numbers (but remember I told you it wasn't easy :-). These are modificators to the combat configuration options. Not all options are covered, but those should suffice for everyone.
These values determine the offensive bonuses of a ship or planet. They are simply added to their normal combat configuration counterpart: a level-one ship adds column one, and so on. For example, a level-two ship has its torp hit odds improved by 18%, and two extra strikes per fighter, because that's what column two of EModTorpHitOdds and EModStrikesPerFighter says.
For all options, positive values mean better. The EModBeamHitFighterCharge option is an exception; to make the ship fire earlier, the bonus must be negative.
EModShieldDamageScaling = 0,0,0,0 EModShieldKillScaling = 0,0,0,0 EModHullDamageScaling = 0,0,0,0 EModCrewKillScaling = -5,-10,-15,-20 |
These options are handled exactly like the above set, but these are defensive bonuses. A negative value means that the ship gets less damage when hit by enemy fire.
EModMineHitOddsBonus = 5,10,15,20 |
This parameter reduces the risk of hitting a mine. This bonus is in percent of the normal mine hit odds. For example, the normal mine hit odds are one percent. A level 1 ship has a hit risk of only 0.95% (five percent less than 1%), level 2 has 0.9%, and level 4 has a risk of only 0.8% per light year.
When a ship colonizes a planet using the Colonize mission, the planet will start with the former experience level of that ship.
When you capture a planet in combat, that planet's experience will be reduced according to the ColonistCombatSurvivalRate. At the default value of zero, the planet will start out with no experience.
Planets you colonize normally, by dropping clans or doing Imperial Assault, start with zero experience.
Ship crews can gain experience by learning, training, practicing. Therefore, set your ship's mission to "Training".
A ship which is training can't do anything else:
Training costs supplies. The ship must be orbiting a friendly planet which provides the supplies. The mission parameter is the number of supplies to consume; you can convert up to 10000 supplies per turn into experience. Supplies aboard the ship are not touched.
Supplies are converted into experience as follows:
let S be the number of supplies, then E is amount of experience: if S <= 25: E = S if S > 25: E = 25 + Trunc(Sqrt(8 * (S-25))) |
(This formula is similar in style to the "maximum structures on a planet" formulas.)
You can get up to 307 experience points each turn using training.
PHost will send you a report each turn, containing the experience levels of your ships and planets. You'll also be told the experience levels of the ships of your ship-level allies, and of your planet-level allies' planets.
You will not know the experience level of an enemy ship until you encounter it in combat.
Experience reports look like this:
(-h000)<<< Ship Experience Report >>> Id Ship Name Level --- -------------------- ----- 1 Endeavour 1 12 Voyager 2 (+) 139 Immatrikulationsamt 1 (!) 490 GORBIE CLASS CARRIER - |
The Level column contains the level of the ship; it is - (dash) if the ship is inexperienced. For example, #490 is a new ship which started out with 0 experience points.
The (+) sign tells you that the ship went up one level this turn.
(!) means the ship got re-crewed and may thus have changed its level. The ship might have gone up or down, or not changed its level at all. All this tells you is that the experience points have changed beyond regular experience gain.
Last updated 18 May 2003.