I have Ben Franklin in my congress, but when a warring nation's troops appear next to my colony rather than talk, as in the original game, they just attack.
The function of Franklin is somewhat contested. ATM it guarantees that your scouts will be offered peace if they negotiate for it, and that your monarch can no longer arbitrarily declare war. The issue of taxes is unclear--- the current `foreign war' text is just an excuse, it might as well read `I am raising your taxes because I slept badly' --- but if that remains we should at least fix the documentation to clarify that Franklin does not prevent this.
Once again, we could benefit from some serious Col1-testing to nail down exactly what Franklin did or did not do.
The original concern that foreign powers do not immediately attack but negotiate/threaten first is of course a legitimate Col1-incompatibility. As such, I am raising the priority of this report and transferring it to the "Pending Features for FreeCol 1" tracker.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
OK, here to the best of my recollection are the things that I have seen stated as properties of Franklin, which it would be great to get confirmation for:
1. Stops the monarch declaring war (note: I am also interested to hear if the monarch ever declares wars on native players, which is reported as occurring but is not implemented in FreeCol ATM)
2. Stops the monarch declaring peace (note: this does not happen in FreeCol, so bonus points for confirming that it happens at all. If so, its an easy one to fix)
3. Guarantees that all attempts to negotiate peace are successful.
3.1 Guarantees that if peace is negotiated, that it lasts for at least <n> turns.
4. Stops the monarch using war as an excuse to raise your taxes.
I realize there are cases here where we are trying to prove a negative, but careful observations are always welcome and helpful. Beware that rules are sometimes difficulty-level-sensitive. For reference, FreeCol currently implements 1 and 3 (not 3.1).
While you are at it, the other obvious thing to look out for is the events that prompted this report--- hostile nations arriving and talking before attacking. Some guidance on whether this always reliably happens, whether tribute was involved (and if so, how much), how often it happened before hostilities commenced, and time periods between visits etc, and obviously to confirm whether Franklin changes any of this.
And in case it is not obvious, assume you are talking to someone who has never played Colonization 1:-).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
>Stops the monarch declaring war (note: I am also interested to hear if
the monarch ever declares wars on native players, which is reported as
occurring but is not implemented in FreeCol ATM)
What do you mean by native players?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Native == Native Americans == Indians. They are implemented with the same Java class (Player) as all the others, the only difference is that they are controlled by the NativeAIPlayer class.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1). The monarch will not declare war on either natives or the other European nations if you have Franklin in your Congress.
2). The monarch does not declare peace with Franklin in the Congress.
3). All negotiations were successful, even if you have been attacking colonies or using privateers against other colonies for example.
3.1). Peace seems to last as long as the game runs, not for an "n" turns scenario, unless you attack the Europeans first.
Note: There seems to be a bug in Col1 where European nations in the new world will attack your colonies without declaring war. I cannot reproduce this bug consistently.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
> 3.1). Peace seems to last as long as the game runs, not for an "n" turns scenario, unless you attack the Europeans first.
> Note: There seems to be a bug in Col1 where European nations in the new
world will attack your colonies without declaring war.
These two points seem to contradict each other. Do you mean that the European AIs can break a Franklin-negotiated peace, or does the second point only apply to non-Franklin peace states?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
OK, thanks for that. I agree that European AIs should explicitly declare war (which is both more historically consistent and distinguishes them from the Native AIs where war/peace is deliberately less clear cut), and I really hope FreeCol is now doing this... it has been a really buggy area alas.
We need to implement monarch-declared peaces (which are suppressed by Franklin). This is quite easy, I have a patch in testing. However, ATM this only includes the other Europeans, and I have to wonder if there is any disincentive to just ignore the monarch on these. If the monarch declared peace just when your forces were massed for an attack on a hated enemy colony, was there any reprisal from the monarch if you pressed on with the attack and thus declared war again against the monarch's wishes?
I think it is best that Franklin not completely prevent the AIs from ever attacking you again, but that we have a bad bug with the current AIs such that they break Franklin-peaces very quickly. What definitely needs doing is to implement the warnings of oncoming conflict mentioned in PF#2490111 `Wars should not come without warning'. These are much harder cases as they require hacking the AI behaviour, which is a black art.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
From a code point of view the following logic should happen:
When a European.AI unit moves toward a colony held by the player:
if (Franklin is the Congress) { start negotiation; } else //if Franklin is not in congress { attack as normal }
Negotiation (with Franklin):
* Go in Peace
Peace Declared if needed.
* Withdrawn foreign players from tiles surrounding player's colonies
* Player pays for withdrawal
* Threaten the foreign power if they don't
* Declare War (even with Franklin in Congress)
* Laugh it off
* Capitulate
* Demand tribute from Foreign Power
* Foreign Power pays Player
* Foreign Power laughs it off
* Foreign Power declares war (without Franklin)
* Player Suggests an Alliance with Foreign Power.
* Foreign Power is at war with Selected Nation (or Tribe)
* Foreign Power demands payment
* Player Pays Foreign Power and Foreign Power declares
* Player declines paying the money demanded.
When at war (with Franklin in Congress) and Foreign Power initiates contact.
* The Foreign Power tries to get you to enter war with either a 1) foreign power they are at war with, or 2) a native tribe they are at war with. With Franklin, it doesn't matter which you choose, but without, refusal to join in a war treaty may be grounds for War with the Foreign Power.
* Agree to a partition of Foreign Nation and Player's Nation.
* Yes, agree to truce.
* No, prepare for war, even with Franklin.
* See the above.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
See this turn for the french arrival.
http://www.calebwilliamsphotography.com/freecol/autosave/Autosave-8957d137_Swedish_1627_2_Autumn.fsg
And then, the colony has been captured.
http://www.calebwilliamsphotography.com/freecol/autosave/Autosave-8957d137_Swedish_1628_1_Spring.fsg
English Attack with provacation or notice.
English attack without provacation or notice.
Please see http://calebwilliamsphotography.com/freecol/3477349-Franklin-not-working.zip
For another bug where Franklin's effect is null. Basically the King raises taxes because of a foreign war.
The function of Franklin is somewhat contested. ATM it guarantees that your scouts will be offered peace if they negotiate for it, and that your monarch can no longer arbitrarily declare war. The issue of taxes is unclear--- the current `foreign war' text is just an excuse, it might as well read `I am raising your taxes because I slept badly' --- but if that remains we should at least fix the documentation to clarify that Franklin does not prevent this.
Once again, we could benefit from some serious Col1-testing to nail down exactly what Franklin did or did not do.
The original concern that foreign powers do not immediately attack but negotiate/threaten first is of course a legitimate Col1-incompatibility. As such, I am raising the priority of this report and transferring it to the "Pending Features for FreeCol 1" tracker.
Mike,
Tell me what you need tested and I can test it. Specifics if you don't mind.
Thanks,
- Caleb
> Tell me what you need tested and I can test it
OK, here to the best of my recollection are the things that I have seen stated as properties of Franklin, which it would be great to get confirmation for:
1. Stops the monarch declaring war (note: I am also interested to hear if the monarch ever declares wars on native players, which is reported as occurring but is not implemented in FreeCol ATM)
2. Stops the monarch declaring peace (note: this does not happen in FreeCol, so bonus points for confirming that it happens at all. If so, its an easy one to fix)
3. Guarantees that all attempts to negotiate peace are successful.
3.1 Guarantees that if peace is negotiated, that it lasts for at least <n> turns.
4. Stops the monarch using war as an excuse to raise your taxes.
I realize there are cases here where we are trying to prove a negative, but careful observations are always welcome and helpful. Beware that rules are sometimes difficulty-level-sensitive. For reference, FreeCol currently implements 1 and 3 (not 3.1).
While you are at it, the other obvious thing to look out for is the events that prompted this report--- hostile nations arriving and talking before attacking. Some guidance on whether this always reliably happens, whether tribute was involved (and if so, how much), how often it happened before hostilities commenced, and time periods between visits etc, and obviously to confirm whether Franklin changes any of this.
And in case it is not obvious, assume you are talking to someone who has never played Colonization 1:-).
>Stops the monarch declaring war (note: I am also interested to hear if
the monarch ever declares wars on native players, which is reported as
occurring but is not implemented in FreeCol ATM)
What do you mean by native players?
Native == Native Americans == Indians. They are implemented with the same Java class (Player) as all the others, the only difference is that they are controlled by the NativeAIPlayer class.
Okay. I'll make a list and add that to it.
Okay, I've done some testing.
1). The monarch will not declare war on either natives or the other European nations if you have Franklin in your Congress.
2). The monarch does not declare peace with Franklin in the Congress.
3). All negotiations were successful, even if you have been attacking colonies or using privateers against other colonies for example.
3.1). Peace seems to last as long as the game runs, not for an "n" turns scenario, unless you attack the Europeans first.
Note: There seems to be a bug in Col1 where European nations in the new world will attack your colonies without declaring war. I cannot reproduce this bug consistently.
OK, but as a point of clarification:
> 3.1). Peace seems to last as long as the game runs, not for an "n" turns scenario, unless you attack the Europeans first.
> Note: There seems to be a bug in Col1 where European nations in the new
world will attack your colonies without declaring war.
These two points seem to contradict each other. Do you mean that the European AIs can break a Franklin-negotiated peace, or does the second point only apply to non-Franklin peace states?
It's kind of weird, but yes, in absolute terms the other nations in the New World break the truce without declaring war and attack.
More often than not when this occurs, either one or maybe two units attack and are routed and do not attack again in the next turn.
However, a Col1 game I was playing today, they units kept attacking without declaring war for at least 2 or 3 turns and captured my colony.
I had Franklin and the nation that had attacked me had within the last five turns, negotiated for peace.
As I have said, I have always considered this a bug in Col1.
OK, thanks for that. I agree that European AIs should explicitly declare war (which is both more historically consistent and distinguishes them from the Native AIs where war/peace is deliberately less clear cut), and I really hope FreeCol is now doing this... it has been a really buggy area alas.
We need to implement monarch-declared peaces (which are suppressed by Franklin). This is quite easy, I have a patch in testing. However, ATM this only includes the other Europeans, and I have to wonder if there is any disincentive to just ignore the monarch on these. If the monarch declared peace just when your forces were massed for an attack on a hated enemy colony, was there any reprisal from the monarch if you pressed on with the attack and thus declared war again against the monarch's wishes?
I think it is best that Franklin not completely prevent the AIs from ever attacking you again, but that we have a bad bug with the current AIs such that they break Franklin-peaces very quickly. What definitely needs doing is to implement the warnings of oncoming conflict mentioned in PF#2490111 `Wars should not come without warning'. These are much harder cases as they require hacking the AI behaviour, which is a black art.
From a code point of view the following logic should happen:
When a European.AI unit moves toward a colony held by the player:
if (Franklin is the Congress) { start negotiation; } else //if Franklin is not in congress { attack as normal }
Negotiation (with Franklin):
* Go in Peace
Peace Declared if needed.
* Withdrawn foreign players from tiles surrounding player's colonies
* Player pays for withdrawal
* Threaten the foreign power if they don't
* Declare War (even with Franklin in Congress)
* Laugh it off
* Capitulate
* Demand tribute from Foreign Power
* Foreign Power pays Player
* Foreign Power laughs it off
* Foreign Power declares war (without Franklin)
* Player Suggests an Alliance with Foreign Power.
* Foreign Power is at war with Selected Nation (or Tribe)
* Foreign Power demands payment
* Player Pays Foreign Power and Foreign Power declares
* Player declines paying the money demanded.
When at war (with Franklin in Congress) and Foreign Power initiates contact.
* The Foreign Power tries to get you to enter war with either a 1) foreign power they are at war with, or 2) a native tribe they are at war with. With Franklin, it doesn't matter which you choose, but without, refusal to join in a war treaty may be grounds for War with the Foreign Power.
* Agree to a partition of Foreign Nation and Player's Nation.
* Yes, agree to truce.
* No, prepare for war, even with Franklin.
* See the above.
A process tree of how foreign power negotiations in Col1.
I have uploaded a list detailing Foreign Power negotiations in Col1. These all assume Franklin is the Continental Congress unless otherwise noted.