Menu

#50 Franklin has no effect

Current
open
nobody
7
2013-01-16
2012-01-22
Calebrw
No

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.

Discussion

  • Calebrw

    Calebrw - 2012-01-23

    English Attack with provacation or notice.

     
  • Calebrw

    Calebrw - 2012-01-23

    English attack without provacation or notice.

     
  • Calebrw

    Calebrw - 2012-01-24

    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.

     
  • Mike Pope

    Mike Pope - 2012-01-24

    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 Pope

    Mike Pope - 2012-01-24
    • labels: 517858 -->
    • milestone: 727529 -->
    • priority: 5 --> 7
     
  • Calebrw

    Calebrw - 2012-01-24

    Mike,

    Tell me what you need tested and I can test it. Specifics if you don't mind.

    Thanks,

    - Caleb

     
  • Mike Pope

    Mike Pope - 2012-01-25

    > 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:-).

     
  • Calebrw

    Calebrw - 2012-01-25

    >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?

     
  • Mike Pope

    Mike Pope - 2012-01-25

    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.

     
  • Calebrw

    Calebrw - 2012-01-25

    Okay. I'll make a list and add that to it.

     
  • Calebrw

    Calebrw - 2012-02-02

    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.

     
  • Mike Pope

    Mike Pope - 2012-02-02

    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?

     
  • Calebrw

    Calebrw - 2012-02-02

    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.

     
  • Mike Pope

    Mike Pope - 2012-02-03

    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.

     
  • Calebrw

    Calebrw - 2012-02-03

    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.

     
  • Calebrw

    Calebrw - 2012-02-03

    A process tree of how foreign power negotiations in Col1.

     
  • Calebrw

    Calebrw - 2012-02-03

    I have uploaded a list detailing Foreign Power negotiations in Col1. These all assume Franklin is the Continental Congress unless otherwise noted.

     
  • Mike Pope

    Mike Pope - 2013-01-16
    • labels: --> Server Gameplay
    • milestone: --> Current
     

Log in to post a comment.