![]() | Alliances |
If two players want to co-operate in a game they need to share information and to co-ordinate their actions so that their ships and planets work with each other. PHost implements several features to support co-operative play.
PHost supports formal alliances between players by modifying its behavior as necessary in order to enable the allies to easily co-operate. Thus, allies can fly through each other's minefields (without matching friendly codes), allies can avoid fighting each other in combat (without matching friendly codes), allies can see each other's ships, and so on. Moreover, each of these alliance features can be tailored for each alliance so that different levels of trust and co-operation can be established. Team games especially benefit from PHost's implementation of alliances.
PHost also offers a number of features for players to co-operate without explicitly forming an alliance.
Alliances are controlled using the allies command processor command.
Forming an alliance is a two-step process in PHost:
You can perform both steps at once. You can offer privileges without waiting for your partner to confirm it. If you do that, your partner will see what you offer, and will benefit from it as soon as he offers back.
Alliance levels can be offered conditional or unconditional. If you offer an alliance conditionally, the ally can only use it when he also offers you the same level back, conditional or unconditional. If you offer it unconditionally, he can benefit from it even if he doesn't offer back.
Depending on the DelayAllianceCommands option, alliances take effect at the beginning or end of the host run. Normally, alliance changes take effect immediately. If you decide to drop an alliance and invade your ex-ally's territory, you can do that. With DelayAllianceCommands=Yes, alliance commands are processed at the end of the turn. Your ex-ally will have one turn to react on your withdrawal of the alliance.
You form an alliance by sending an allies add command, like this:
allies add 5 |
This will offer the Privateers (player 5) an alliance. To confirm the alliance, the Privateers must have to send the same command, with your race number. If you are Birds (player 3), he has to write
allies add 3 |
To revoke an alliance, or take back an offer, you send an allies drop command:
allies drop 5 |
To offer or revoke privileges, you use the allies config command, like this:
allies config 5 +m ~c -s |
The number is again the ally's player number. The following parameters specify the levels to offer:
Parameter | Action |
---|---|
+priv | Offer privilege unconditionally |
~priv | Offer privilege conditionally |
-priv | Withdraw privilege |
+/-ships | Offer/withdraw ship level |
+/-planets | Offer/withdraw planet level |
+/-mines | Offer/withdraw mine level |
+/-combat | Offer/withdraw combat level |
+/-vision | Offer/withdraw vision level |
The privilege codes can abbreviated up to their first letter, as has been shown in the example command. The example command would offer mine level unconditionally, combat conditionally, and not offer ship level.
The alliance levels are described in detail below.
Let's assume you have started a new game as Birds, and want to offer an alliance to the Privateers. You could send the following commands (the same as above):
allies add 5 allies config 5 +m ~c -s |
The first command would offer the alliance, the second one defines that you want to offer mine level (unconditionally) and combat level (conditionally).
PHost would confirm that by sending you the following alliance status report:
(-h0000)<<< Alliance Status Report >>> Race Offered to Race Allowed by Race ---- --------------- --------------- 5 -s -p +m ~c -v |
The alliance is now in status offered until the Privateers offer it back. Until they do that, they cannot use your friendly mine level offer. As you see, the default value for alliance levels is "not offered" ("-").
The Privateers will be notified by your offer, they receive the following message:
(-h0000)<<< Alliance Status Report >>> Race Offered to Race Allowed by Race ---- --------------- --------------- 3 -s -p +m ~c -v |
They could now send the following commands:
allies add 3 allies config 3 ~c |
This would complete the alliance. Your alliance report would now look like this:
(-h0000)<<< Alliance Status Report >>> Race Offered to Race Allowed by Race ---- --------------- --------------- 5 -s -p +m ~c -v -s -p -m ~c -v |
Since you have offered +m to the Privateers, they'll be immune to your minefields. Since they have not offered mine level in return, their minefields still are a danger to you.
You have offered ~c, and they have offered ~c, too. Your ships will no longer attack each other. The Privateers could also have offered that level unconditionally, +c, so they would not have attacked you even if you drop your ~c. If they had not offered you combat level at all (-c), your ships would still fight Privateers.
The DOS Planets client (planets.exe), shareware Winplan, and their unpack tools have a limit of 50 scanned foreign ships each turn. Even if you see many more ships by means of an alliance, PHost will suppress the excess ships, and send them via util.dat. See also the relevant FAQ entry.
If you use third-party software only, you can use the
bigtargets command to turn off this
limitation. However, most current third-party software does not
need that (VPA, EchoView
and
PCC
can read ships from either place,
other programs most likely can do that, too).
Registered Winplan users will always see all targets. When PHost detects a registered Winplan client, it will encode the "excess" targets in a format Winplan can read.
Alliances always involve two race. The following paragraphs have been written with you meaning the player who offers an alliance, and them the race who receives the offer.
An alliance is formed when you and they both have offered it (allies add command). Even when no privileges (levels) have been offered yet, this has the following effects:
These rules are intended to prevent people from teaming up to generate build points by "trading" ships or planets back and forth.
When you offer ship level, they will have the following benefits:
When you offer planet level, they will have the following benefits:
When you offer minefield level, they will have the following benefits:
When you offer combat level, they will have the following benefits:
When you offer vision level, they will have the following benefits:
Note that, as usual, there is no double-forwarding. Messages you receive from someone are not automatically forwarded to your vision allies.
HOST 3.22.007 implements a different alliance system ("locking alliance friendly codes"). PHost does not implement this system, because PHost's system is older and we believe it's more flexible.
When one player ("Alice") offers an alliance to another one ("Bob") in HOST, this has the following effects:
This is approximately the same as offering Mine Level, Combat Level and Planet Level in PHost.
HOST 3.22.036 adds a second level of alliance, named "FF allies". When Alice offers this level to Bob, Bob will get all the above benefits, plus he will see all the ship Alice sees. This roughly equals offering the Vision Level in PHost.
Sometimes, you want to work together with someone without making a formal alliance. The VGA Planets game has offered quite a number of ways to achieve that, and PHost supports and improves these.
Friendly Code Matching: When two objects have the same friendly code, they behave (roughly) as if they were allied. See Friendly Code Matching for details. The Universal Minefield Friendly Code helps you to coordinate movement.
Giving away things: You can transfer cargo to foreign ships and planets. Some such cargo transfers can be done directly, some need a mission (Beam down credits, Transfer torpedoes, Transfer fighters, Transfer money) or friendly codes (bdm, btX, bum). You can give away ships using the gsX friendly code or the give command. The latter also works for planets. See there for a more detailed description.
Sharing Information: No-one prevents you from telling others where your weak spots are (unless AllowPlayerMessages is off, of course). Some client programs include functions to transmit data to other players in a way that the receiver sees the information in his starchart.
If you send someone else your Result file, so he can see everything you see, you should probably better make a formal alliance.
There's nothing immoral in this sort of information sharing. However, PHost will not know about it. If your friend attempts to intercept one of your ships, for example, PHost will reject his Turn for intercepting a ship he doesn't see. If you have offered him ship level, this problem does not occur.
Even if you have a full alliance, sending the Result file is not superfluous. It will contain even more information than PHost-generated alliance data.
Last updated 21 October 2003.