I'll start by assuming you've read the docs of the current version of host.exe (3.22.012) and that you're familiar with the concepts of the 'Ship Building Queue' and the '500 Ship Limit'. If you're not, you should first read the docs that come with Host.exe.
In this article I'll try to share my little bit of knowledge about the Ship Queue with you. First I'll give a description of the building and cloning of ships and how it works precisely. I'll introduce the Priority Build Points, and after that I'll describe the odd behaviour of the Ship Queue. Finally I'll give you ten tips of how to use your new knowledge of the queue to the uppermost level of devastation...!
Ship Building and the Mission Ordering
Before anything else you'll have to know where exactly the building of new ships happens between all other commands processed by host.exe. The following is taken from the most recent version of Infolist, v 3.1 (1).
Starbase Fix/Recycle functions
New ship building
** Federation Super Refit mission **
Star Base missions
COMBAT! Ship to Ship
COMBAT! Ship to Planet
New ship building
As you can see there are two moments where new ships are build. I've numbered them phase 1 and phase 2. What's the difference between those two phases? Well, phase 1 is the same as the 'regular' building phase of host 3.1x. Phase 2 has been added since the coming of host 3.2x (and the Ship Queue). Hmmmm, what does this exactly mean?
The difference between Phase 1....
When there is a free ship slot when the host enters phase one, a ship will be build.
All ships will be build in phase one until the game hits the 500 ship limit. Simple as that. When there are still free ship slots left after all queued ships have been build in phase one, ships can be cloned. When all queued ships have been build in the first phase the second build phase won't be used.
.... and Phase 2
In between phase 1 and phase 2 there is the COMBAT phase: ships will be destroyed, and there will be some free ship slots again. When there are still queued ships left host.exe will build those in phase 2.
After the ship limit most ships will be build in the second phase. This means that in most cases YOUR SHIPS WILL BE BUILD AFTER COMBAT WHEN THE SHIP LIMIT HAS BEEN REACHED, and not before..... (This could be important when your starbase is under attack...)
See also note (2).
Free Ship Slots after the Ship Limit
To make the difference between phase 1 and 2 I'll give some examples of how ship slots are freed and when they are used. The game has reached the ship limit. (Or else phase 2 wouldn't be used, remember?)
Take a look at the extract of the Mission Ordering of the Infolist above, and examine this:
- When a ship is destroyed in a ship to ship battle, a new ship with the same ID as the destroyed ship will be build in phase 2. (Combat happens between phase 1 and phase 2.)
- When a ship is recycled, a new ship with the same ID as the recycled ship will be build in phase 1. (Recycling happens before building phase 1.)
- When a ship is colonised, a new ship with the same ID will be built in phase 2. (Colonising happens after movement.)
- When a Glory Device sets of, a new ship with the same ID as the exploded ship will be build in... right: phase 2.
The ship slots that are used in the first phase after the ship limit are the ship slots that are freed by:
Host addons will destroy their ships in Auxhost 1 and 2. Think for example of ships captured by alien marauders, destroyed in wormholes, lost performing a Quadbenium jump or crashed on a planet by a Rebel boobytrap. (3)
- recycling ships at starbases;
- ships exploding in Ion Storms;
- every event that destroy ships in Auxhost 1;
- idem Auxhost 2.
The ship slots used in phase 2 include the ones freed by:
Still got it? Simple question: When a game hasn't reached the ship limit and a ship gets destroyed, when will an other ship fill that ship slot? (4)
- ships exploding in minefields;
- the Colonise ship mission;
- Glory Devices;
You can clone a ship before the ship limit, and you can't clone a ship after the ship limit has been reached. Why? Simple: Cloning happens right after the first building phase - and before the ship limit there are still free ship slots when the host processes the Cloning phase. After the 500 ship limit all free slots - if there were any - will have been filled by queued ships in the first building phase.
If you want to clone a ship after the 500 ship limit you will have to take care that there are enough free ship slots in the first building phase for all queued ships and your clone. You could do this by doing one or more of the following:
As you can see this is quite impossible in a game with other players: they too will have to withdraw their ships from the Ship Queue (or else they would use the ship slots that get free by recycling your ships). In short: Impossible.
- cancelling/withdrawing of all queued ships on most (if not all) starbases;
- freeing lots of ship slots before phase 1 by recycling ships;
- using KillRace.exe.
Priority Build Points
I'll introduce the use of Priority Build Points (PBPs) here. If you don't know what they are, read the docs. In general you earn PBPs when you are the player freeing a ship slot.
You will get PBPs for:
An example of the latter: when you set off two Glory Devices with 'pop' and you hit two Cobols (115 kT hull mass) and a Cygnus (90 kT hull mass), you'll get 2 PBPs for the 2 Glory Devices, 2 x 2 PBPs for the Cobols and 1 PBP for the Cygnus: all together 2 + 4 + 1 = 7 PBPs.
- Destroying an enemy ship in a ship vs. ship combat (1 PBP for every 100 kt of enemy hull mass, rounded up);
- Capturing an enemy ship in a ship vs. ship combat (1 PBP)
[host 3.22.008 and older];
- Recycling your ship (1 PBP);
- Colonising your ship (1 PBP);
- Setting of your Glory Device (1 PBP);
- Destroying an enemy ship using Glory Devices (1 PBP for every 100 kt of enemy hull mass, rounded up).
You won't get any PBP for:
The first two should be clear: as no ships are destroyed nobody gets a PBP bonus, right? The third and fourth options are just 'features' of the game. :-)
- Surrendering a ship at a starbase (without fuel or with matching Friendly Codes).
- Giving ships away using the 'gsN' Friendly Codes.
- Destroying an enemy ship in a ship vs. planet/starbase combat.
- Destroying an enemy ship in a minefield.
Using Priority Points
You'll start using your Priority Points when you've got more than 20 PBPs. (This holds true for everything mentioned below.)
So if you've got 21 or more points and there are free ship slots you will use your priority points. This means that before the game hits the 500 ship limit you can't accumulate priority points with the intention to collect an enormous stockpile of points and use them after the ship limit. That won't work.
The rules for using PBPs are simple: the player with the most PBPs will get the first free ship slot. When that player has his new ship, his PBPs are recalculated. Then again the player with the most PBPs will get the next free ship slot. This could be the same player, but it could be another. Etc.
In older versions of host.exe, these rules could result in two nasty situations:
- When the player with the most PBPs doesn't use them, no other player can use his PBPs. Of course ships will be build, but without using priority points. This can be extremely annoying when this player is a Computer Player. This is fixed in host v3.22.006: If the player with the most PBPs doesn't build any ships, the player with the second to most (but still more than 20) PBPs will get the next free ship slot etc.
- The Ship Queue could skip one of the queued ships on your starbases. This is fixed in host v 3.22.11 - the regular queue (i.e. that queue that won't use PBPs) isn't influenced by the other, PBP using queue.
Crawling the Queue
Thus far all rules and features I've described are 'logical' and they can (easily) be understood. I've kept away from linking the behaviour of the Ship Queue to starbase IDs. I'll try to describe the (odd) behaviour of the Ship Queue and how it selects the starbase IDs to build ships.
Priority Build Friendly Codes
As of host v3.22.011, Tim has introduced the Priority Build Friendly Codes (PBFC). These codes are planetary friendly codes and regulate the Priority Build Queue only. The codes are 'PB1', 'PB2' .... to 'PB9'. They work very simple: if you have more than 20 PBPs and there is a ship slot free, a ship will be build on the starbase that carries the lowest PBFC. This build will cost you PBPs. Additional:
- This is valid for both build phases.
- The 'PB0' friendly code doesn't work.
- When there are duplicate PBFCs (for example when you have set the FC 'PB1' on two starbases) the ship will be build on your starbase with the lower ID.
- A PBFC on a planet (without a starbase) will be ignored.
- If you don't use these Friendly Codes (STUPID! STUPID! STUPID!) your priority builds will happen at your first ships in the Regular Queue.
Before the ship limit
Since host v3.22.011 there are two queues: the Regular Build queue that keeps on cycling from base ID #1 to base ID #500, and the Priority Queue that jumps to the starbases where you've set the PB Friendly Codes.
- All ship ID's will be completely randomized.
- All ships will be build in phase 1.
After the ship limit
- The Regular Queue cycles from the starbase with the lowest ID to the starbase with the highest ID, no matter the owner of the starbases. After the starbase with the hightest ID (500?) comes the starbase with the lowest ID (1?) and the cycle continues.
- The Regular Queue keeps remembers the ID of the last starbase in a cycle that built a ship - whoever the owner of that base is. When there are ship slots free and the Regular Queue starts cycling again, it will recall that last starbase and start cycling at the next starbase.
- The Queue visits only that number of starbases with queued ships every turn as there are ship slots free.
Rumours about the Ship Queue
Before I'll give my ten tips of how to tackle the Ship Queue as described above I have to eliminate some rumours about the Ship Queue, rumours that keep popping up in the alt.games.vga-planets newsgroup.
- A rumour from the host docs: "Newly built ships are given a random ID number." This is true for phase 1. In phase 2 however the starbase with the lower ID still gets the ship with a lower ID.
- Replacing a ship in the queue by another ship won't affect the Ship Queue at all. It doesn't matter if you replace for example ship type A with type X lasers by ship type B or by ship type A with type Y lasers. The Ship Queue doesn't remember the ship type, but looks every time there are free ship slots for starbases with queued ships.
(It does however matter for Phost. Read the Phost docs for more info.)
- The amount of PBPs you need to build a ship is not always calculated correctly. For example for a Fearless Wing Cruiser having an hull mass of 150 kT you should use 3 PBPs but you'll need 4 PBPs. (You'd better build Resolutes anyway.) This is fixed in host 3.22.006 and higher. (Not mentioned in the docs.)
- A rumour: "When a ship has been build at a starbase, next turn the Ship Queue will start on the next starbase with a higher ID." This is not true for host 3.22.005 and older. Due to a feature/bug in host.exe you will be allowed to build two ships on the same starbase in two turns in sequence (after the ship limit of course.) This has been fixed for host 3.22.006 and higher.
- Next rumour: It is said that when you've got enough PBPs you can clone and build a ship at the same starbase in the same turn. This can only happen before the ship limit. (I've explained cloning is almost impossible after the ship limit.) And you'll need more than 20 PBPs - if you don't have enough PBPs you will clone the ship and the build order will be postponed till a next turn. If you do have enough PBPs the ship will be build with priority first, so when the queue scans the starbases for ships to be cloned it will only find a queued clone.
- Building (lots of) ship parts won't affect the Ship Queue in any way.
- Refitting ships (by race 1 - the Federation) and Fixing ships won't affect the Ship Queue either. You can REFIT as many ships as you want any time.
- Not exactly a rumour but more a nasty glitch of Winplan: it's not always possible to cancel a build order and to withdraw the ship from the queue.. I don't know why, but the cancelled ship keeps popping up in the next turn. This is finally fixed for Winplan v3.52.003.
- There might be a bug in the techlevels you need for cloning ships. The docs state: "The starbases' tech levels must be equal to or greater than the ship being cloned."
Well, not necessarely so..... Read this:
I managed to clone a ship with Heavy Nova drives (== tech 6) on a Starbase with an engine tech level of 5. I didn't do this only once - I did it two times. Of course this was before the 500 ship limit.
Host 3.2 beta 3J was used for this, but as Tim told me he didn't fix this bug, you could give it a try...Why not? Let me know if you succeed!
1 The Infolist is compiled by Eden Tan . Recent updates are available at his homepage at: http://robotics.eecs.berkeley.edu/~edentan/eden.html
2 When you take a look at your messages you can see whether your ship is build in phase 1 or in phase 2... The sequence of messages is the same as the mission ordering:
This sequence can easily be observed in DosPlan, Informer etc. In Winplan you'll have to look at the number of the message (in the upper right corner of the 'Read Messages' window).
- host + player messages
- configuration messages (from host) ...........
- building of new ships (PHASE 1)
- combat messages (long range scanners reporting explosions + battles won + battles lost)
- planetary production (messages from planets about clans dying of extreme temperature)
- building of new ships (PHASE 2)
3 You can anticipate on the ship slots freed in Auxhost 2 in the next turn....
4 Just like any other ships before the ship limit: in phase 1. Not in the same turn of course, but in a next.
5 In host version 3.22.005 and older the Ship Queue tend to stick the same starbase when Priority Points are used. Often, but not always: When a starbase can't build a ship a turn (-), the Queue skips that base and continues to the next. Sometimes it could happen that a starbase with a lower ID puts a ship in the queue that unexpectedly gets built... Odd, very odd, but it happened...
6 In a game using host 3.22.006 and older I have build about 55 ships in the 45 turns since we've hit the ship limit. I've got about 10 productive starbases. When the Ship Queue would function correctly this would give an average of about 5 newly built ships per starbase.. NOT! My starbase with the lowest ID has build 10 ships, the second to lowest 7 and all others are in the range of 3 to 5 new ships.
7 I like to scare people, but I think you've already guessed that. :-)
8 For host v3.22.006 to v3.22.010 - where there is no Priority Queue nor a Regular Queue, and priority ship builds still influence regular builds:
- When the Queue lets a player use his PBPs, that player will build a ship with priority on his next starbase as seen from the starbase that build the last ship. This will generally mean that the queue will skip bases of other players.
- When all PBP scores are below 21 and there are still ship slots free, the Queue will continue building free ships - starting at the last starbase that build a ship with priority. So when you don't have enough PBPs to build with priority, you'll end up with ships having relatively high IDs. (Of course this is depending on the IDs of the ships that are destroyed that turn.)
In closing, I'd like to say.....
Have you ever thought about the Queue? I mean like in: when you're playing offensive/aggressive you've got the advantage? If you win a confrontation with your enemy, you will get (his) low ID ship slots.
The low ID ships, they are the best!
- sweep enemy mines first (before your enemy can scoop them up)
- scoop your mines first (before your enemy can sweep them)
- gather minerals first
- tow enemy ships first
- even fight first (when they have the same FC as other ships at the same location).
In short: the will do *everything* before all other ships, and that's a real advantage.... keep it in mind.
Thanks to Sirius/Dr. Jan Klingele" (100441.3504@CompuServe.COM) for careful reading and pointing me at a few errors.
Drunken Host Cartoon © by me (Timo Kreike :-)