Ship Build Queue
Ship Build Queue
HOT HOT
[12/05/97] There is a cute bug in host 3.22.12a (and because Tim
didn't remove it the bug should also appear in host v3.22.014 and all older
versions!)
If a Fed player sets a ship with tech 1 engines to SUPER REFIT on a base, and
there are no or not enough engines of a higher tech level on that base,
host.exe will 'copy' the engines of the ship to the starbase stocks. Those new
engines will appear from nowhere - i.e. no minerals nor money from the planet
surface will be used. This is a new Fed mineral bonus - as long as it
lasts.
Host.exe also has a nasty bug: SUPER REFIT will use the ship parts assigned to
queued ships, and if the Priority Queue cycles to your starbase it will
substract the number of PBPs you would need to build the ship, but as the
queued ship hasn't enough engines the ship won't get build.....
There are rumours (...:-) that the next version of host.exe will permit
cloning after the 500 ship limit. Just wait and see...!
[04/04/97] Updated this text and my
tips for use with host v3.22.011 (and host v3.22.012).
INDEX
(click on topics)
>>> Updated 04/04/97 <<<
Crawling the Ship Queue
>>> Updated 04/04/97 <<<
Timo's Top Ten Tips
Tip 11 - The OK System
Special Offer - Tip#12
(A step by step guide to a better understanding of the Ship Building
Queue)
Introduction
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).
Auxhost 1
....
Ion Storms
....
Starbase Fix/Recycle functions
New ship building (1)
Cloning starships
** Federation Super Refit mission **
Ship surrendering
...
Movement
Intercept missions
Glory Devices
...
Star Base missions
Colonize missions
COMBAT! Ship to Ship
COMBAT! Ship to Planet
...
Planetary production
New ship building (2)
....
Auxhost 2
....
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.
In general:
The ship slots that are used in the first phase after the ship limit are the
ship slots that are freed by:
- recycling ships at starbases;
- ships exploding in Ion Storms;
- every event that destroy ships in Auxhost 1;
- idem Auxhost 2.
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)
The ship slots used in phase 2 include the ones freed by:
- ships exploding in minefields;
- the Colonise ship mission;
- Glory Devices;
- Combat.
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)
Cloning Ships
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:
- 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.
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.
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:
- 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).
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.
You won't get any PBP for:
- 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.
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.
:-)
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.
Two Queues
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.
Before the ship limit
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!
Notes
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:
- 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)
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).
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!
They will:
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.
Timo
Thanks to Sirius/Dr. Jan Klingele" ([email protected]) for careful
reading and pointing me at a few errors.
Drunken Host Cartoon © by me (Timo Kreike :-)
[Escape]