This is the original build queue system of PHost 3. The ship build queue is entirely driven by priorities. Build points (Player Activity Level, PAL) directly translate into a priority for your ships. The ship which has the highest priority will be built first.

Build orders newly enqueued will get a priority related to your total player activity level:

PAL * PALPlayerRate% * SBQNewBuildPALBoost

In addition, build orders gain priority each turn from your turn activity level (TAL, build points received this turn):

TAL * PALPlayerRate% * SBQBuildPALBoost * scale + SBQPointsForAging

The scale factor is there to encourage players to build only ships they really need. Mathematically, it is

1/N ^ (SBQBoostExpX100 / 100)

where N is the number of build orders the player has. The SBQBoostExpX100 values have the following meanings:

  • At the default value 0, the number of orders does not matter. When you get a TAL of 800, each priority is increased by 800 (assuming a PALPlayerRate and SBQBuildPALBoost of 100%). So it does not make a difference whether a player only builds important warships, or fills build queue slots with "junk" build orders just to get a good position in the queue. This is the behavior of PHost 3.2 and earlier.
  • At the value 100, the priority boost is divided by the number of build orders. When you have two pending build orders, the above 800 points would turn into a 400-point boost for each order. If you had 20 build orders instead, each of them would get a mere 40 points only.
  • Values in-between can be used to reduce the penalty each additional build order gives: at a value of 50, the boost is divided by SQRT(N), so having four times as many build orders reduces the boost to one half.
  • You can also use values outside this range for, ummm, interesting effects.

In addition to the PAL points, every build order receives SBQPointsForAging points each turn. This way, build orders which are waiting for a long time tend to have a higher priority than new ones.

When you change a build order, it will be given a penalty of SBQBuildChangePenalty (in addition to BuildChangeRelativePenalty). The default value is 2147483647, that's almost "infinity" in computer terms. Because no build order will ever reach such a priority, changed build orders will start to walk the build queue anew as if they were completely new orders. By lowering this value, you can lower that penalty.