Civil War | War Financing Issues


  • Moderators

    I know that the developers want this in GitHub, but I rather prefer opening map only bugs in forum, if that is fine, especially since I'm not a player of this map; so I'm mostly asking others what the hell or if I'm overlooking something (hopefully some Civil War player answers).

    With Union, if I only, as soon as possible:
    Take $200 loan.
    and, then, do nothing at all, I first receive the "Finance Debt" (at 20%, for 25 PUs cost), then the interest rate remains the same (for new loans too) (at 20%) (despite the fact that I was warned it would increase, if I didn't pay, as I didn't) and I receive the "PRIORITY: Debt Backpayment", and, from now on, for the remaining installments, if I keep just skipping everything, I just keep getting this same collection of actions (also the arrears don't cumulate, but the backpayment remains at 25 PUs cost, either the past or the new accrued one being forgotten). So what's the point of paying, then?

    On the other hand, with Confederate, if I only, as soon as possible:
    Take $200 loan.
    and, then, do nothing at all, I first receive the "Finance Debt" (at 30%), then the interest rate is increased to 35% and I receive the "PRIORITY: Debt Backpayment", then, immediately thereafter, "All resources are set to 0 and all units except militia are disbanded", then I can still take new loans at another +5% (40%, at this point).

    I assume the Union must be bugged; but is the Confederate all right, and how it should work for the Union too, except at 10% lower rates, respectively?

    Side note, it doesn't make sense to me that my normal instalments go up if I miss one, in the moment I've an action for the arrears, but I see this is intended, I assume to keep it simple (I tend to think that only new loans should, then, results in higher instalments for them).

    What the notes say is:

    "
    Players each have 3 loan "slots" and therefore can only have a total of 3 active loans at any one time. Loans are lump sums of cash (PUs) given to the player as soon as a player takes out a loan, and are repaid as principal plus interest in flat bimonthly installments every subsequent round. If a player skips a payment or is unable to pay these debt commitments, then the interest rate on all of the player's debt and on any future loans is increased by 5% and owes backpay the subsequent round. If a player fails to pay for two rounds in a row, the player defaults on their loans, which is very, very bad. For example:
    You take out a loan for $200 at 25% compounded interest. Congratulations, you suddenly have $200.
    Starting the subsequent round for 12 rounds, your payment each round will be $27, for a total of $324 you will have paid by the time you finish repaying your loan.
    If you miss a payment, all of your interest rates increase to 30% and the prices of your monthly payments are adjusted.
    The next round, you will have to pay $30 (the new price) for the backpay you missed AND another $30 for the payment owed that round.
    If you miss your payment again, you default on your loans.
    There are no interest rates available above 50%. If you miss a payment priced at 50%, you default as well.
    When a player default on their loans:
    All resource stockpiles are set to 0
    All non-infrastructure units except militia are disbanded and removed from the map.
    If you still have loan slots left, you can of course take out new loans to finance your old debt, but that's a pyramid scheme and not sustainable long-term. The chart below explains the payment prices for loans in detail.
    "

    A lot of this appears not to be true.

    First of all, at the start of the whole thing, I don't have 3 actual loan choices, but only 1 choice repeated 3 times, that I can take only once in total (so, apparently, factually the same as having a single choice, for the first time). I get, by how it works, that this means I cannot take all 3 at once, but at least over 3 rounds, but this limit is not actually explained in the notes.
    The notes talk about taking a loan at 25% interest, like that is the first loan you take, while the union starts at 20% and the confederate at 30%, so that adds to the confusion, and my guessing is that maybe the notes are referring to a version were both players were getting 25% at start (the only way the description would make consistently sense).
    Same thing, the notes are telling me that my payment each round will be 27 PUs, while it is actually 30 PUs for the confederates and 25 PUs for the union (and 27 PUs for noone I can see), but I get it, that is in keeping with the 25%, while we have 30% and 20%, as said; so this is not a major problem.
    Then it tells me that 25% goes to 30%, while, in game, it appears to be 30% to 35% for the confederate, while the union just stays at 20%, regardless.
    Then it tells me that if I skip the backpayment I default on my loans, with all of a series of bad effects, and this seems working for the confederates, but not at all for the union.
    Then it doesn't tell anything about how and if loans still work after default, while the game appear to allow confederate to refresh and restart taking loans after default, but at the higher interest rates (at least 10% higher, as you need to at least skip two payments to default).

    Is this an actual game (thus map) bug? How do the players of this game (or the other one in the same map) deal with all of this? Any other similar issues, if any?


  • Moderators

    I don't actually understand how this can be played at all, unless by always deselecting loans, in options ("Players Can Take Loans"). If this is what the players of this map always do (?), I'd just remove all the loan related code from both games, if the repository admins are supportive and nobody wants to take ownership of this map (I guess it is abandoned) and I'm not missing something here.


  • Admin

    Honestly I've played Civil War a decent amount but never have seen anyone not make loan payments or default so can't say whether the triggers work properly.


  • Moderators

    @redrum Thanks for the answer. So I guess it works because nobody ever skips any payment? So what happens when you skip never needs to work.
    They don't for Union. Just take a loan and never pay it back; you will see you get no penalty nor default.
    I can just change costPU to costResources keeping the (partially broken) functionality as it is.
    But I'm open to other suggestions from Civil War players, but that would require someone to play the game after I change / fix it, preferably someone that played it a couple times beforehand.
    Possibilities I see are:

    1. Leave stuff as it is (while converting to resources).
    2. Make the Union work as Confederates, except starting at 10% less.
    3. Simplify the system by having the payment automated (triggers instead of actions), if this is what the players would anyways always do and always have the money to (in particular, I'm not sure if you would ever want to default?).

    Mostly reporting this so that people know that, after the eventual changes, these issues (and maybe others) were already present (so it was not me). Of course, easiest for me to just do the changes without fixing anything.


  • Moderators

    1. Always do payment unless you have no resources for, but this would require being able to test for resources.

  • Moderators

    @cernel I would advice / go with 2, if a Civil War player can confirm Confederate works fine, while Union don't, and volunteers to playtest it shortly thereafter (even if nobody ever defaults, I think it's cool that you can, and it might just be the intended design).
    If anyone who plays this map wants also to update the War Financing notes to be in line, then, with the game behaviour (refer to my first post), that would possibly solve this issue completely.


  • Admin

    @cernel Yeah, option 2 is definitely the best and what is intended. I'd have to test to verify but if confederate is working that way and union is not then I'm guessing its just a bug.


  • Admin

    @cernel @ redrum Number 2 is the way it is supposed to be. I played some games with pulicat and I never saw the Union defaulting, Confeds for sure. Especially if the Union blockade is in effect.
    I wouldn't go with triggers. Sometimes you just need those 20/30/whatever PUs in a certain round to achieve a certain goal


  • Moderators

    Regardless, I'm surprised that, apparently, no Union player ever tried to skip a payment, noticed that he was getting no interest rates increase, and reported this issue. Or, rather, since it seems that only the Confederate skip, then somebody should have noticed his Union rate going up after the Confederate skipped.
    The way I see the game works now is that you can simply never pay back anything with Union, without any consequences: loans are gifts.
    Well, you get the backpayment warning / option, but you can ignore that as well, without any consequences.

    The problem is that, for all a series of conditions, there are pairs of conditions with the same name, one attached to Confederate and one to Union, used, respectively, by triggers attached to the same players.
    The consequence is that both the Confederate and the Union triggers look only at the Confederate conditions, never at the Union ones.

    For example, you have these conditions, with the same name (conditions should never have the same name, as only the first one would get tested, but the engine don't give you any errors if they do (so, easily buried bugs (not the first mapmaker I see having duplicate named conditions; likely not the last one, either))):

        <attachment name="conditionAttachment_HasPayment_Anywhere" attachTo="Confederate" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
          <option name="conditions" value="conditionAttachment_Confederate_Loan1_Has1Payment:conditionAttachment_Confederate_Loan2_Has1Payment:conditionAttachment_Confederate_Loan3_Has1Payment"/>
          <option name="conditionType" value="OR"/>
        </attachment>
    
        <attachment name="conditionAttachment_HasPayment_Anywhere" attachTo="Union" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
          <option name="conditions" value="conditionAttachment_Union_Loan1_Has1Payment:conditionAttachment_Union_Loan2_Has1Payment:conditionAttachment_Union_Loan3_Has1Payment"/>
          <option name="conditionType" value="OR"/>
        </attachment>
    

    Such conditions, or should I say only the first one of them, are used by the following triggers, among many others:

        <attachment name="triggerAttachment_Confederate_Loan1_Interest_20_to_25" attachTo="Confederate" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
          <option name="conditions" value="conditionAttachment_HasPayment_Anywhere:conditionAttachment_Confederate_Rate_at20"/>
          <option name="when" value="after:ConfederateUserActions"/>
          <option name="activateTrigger" value="triggerAttachment_Confederate_Loan1_BackPayment_20_to_25:1:false:false:false:false"/>
          <option name="playerAttachmentName" value="UserActionAttachment" count="userActionAttachment_Confederate_Take_Loan1"/>
          <option name="playerProperty" value="text" count="Confederate_Take_Loan_at25"/>
          <option name="players" value="Confederate"/>
        </attachment>
    
        <attachment name="triggerAttachment_Union_Loan1_Interest_20_to_25" attachTo="Union" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
          <option name="conditions" value="conditionAttachment_HasPayment_Anywhere:conditionAttachment_Union_Rate_at20"/>
          <option name="when" value="after:UnionUserActions"/>
          <option name="activateTrigger" value="triggerAttachment_Union_Loan1_BackPayment_20_to_25:1:false:false:false:false"/>
          <option name="playerAttachmentName" value="UserActionAttachment" count="userActionAttachment_Union_Take_Loan1"/>
          <option name="playerProperty" value="text" count="Union_Take_Loan_at25"/>
          <option name="players" value="Union"/>
        </attachment>
    

    Consequently, both the above Confederate and Union triggers are testing for the Confederate "conditionAttachment_HasPayment_Anywhere" condition, which is fine for Confederate but, obviously, not for Union.

    Regardless, the triggers are badly made for both players. Just the ones for the Confederate happen to work.

    The consequences of this are twofold, and can be exemplified thus:

    1. If you do nothing but taking 1 loan with Union, skipping any payment won't cause any interest increase (your rate will always remain at 20%, that means 25 PUs cost actions).

    2. If you do nothing but taking 1 loan with Confederate (at your first chance to do so (on round 1)) then, on round 3 (after having skipped round 2), you will, then, see that your Union rate has increased to 25% (since the fact that Confederate skipped a payment on round 2 triggered an increase in interest rates for Union on the same round) (despite the fact that you never even took any loans) (at the same round, the Confederate interest rate will be up to 35% (and you will default if skipping), and this is probably intended, tho in conflict with the notes).

    If anyone can test the above two numbered points (just start the game, at default options, and do what described), and confirm the bug, that would be good (I don't really need it, but I'd like the behaviour to be confirmed by another user, before any changes, in case of any problems after my fix).


  • Admin

    @cernel Tested it and you are right. No dafaulting for the Union. I'm probably the one with the most games on this map and I had never seen anybody skip a Union payment. There have never been a reason to do so. Long before the Union can't afford the payments they would have lost on other victory conditions, most likely Diplomatic or Military. On the other side a default for Confederates usually leads to a Union victory, if it isn't for a very late game with a Moral or Political victory.


  • Moderators

    @wirkey If you can take a look at one of your savegames in which the Confederate default or in any round after the one where the Confederate didn't honour a payment, you should see that the Union payment are increased (like from 25 to 27 PUs cost), if you can confirm this too.


  • Admin

    @cernel I don't have any of those old save games. But I just tested it with a new one. Union payback increases if Confeds don't pay their debt.



  • @cernel Is there any actual reason for this complexity? Governments always borrow as much as they can in a war and that should be reflected in their normal production.The burdens of unsustainable debts and taxes are best handled as timed events.


  • Moderators

    @rogercooper I don't believe the American Civil War is well known outside of America, or at least it is not well known by me (side note, here it is called "Secession War", because if the South just wants to break away, then it is not a Civil War, that would mean both want to impose their sway on the whole polity), and, anyways, I've not a strong opinion. Aside from historicity, I'm mixed, as well, but I think, if any, I would represent only the external loans, and not the internal debt. The only thing that looks really wrong to me is that everything but militia dies if you default; I've a hard time believing that's realistic, but I don't even know what actually happened historically with the Confederate debt (having lost the war, I guess they defaulted at some point).


    Veqryn used to say that triggers like these are bad practice, and may cause problems:

        <attachment name="triggerAttachment_Confederate_Default" attachTo="Confederate" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
          <option name="conditions" value="conditionAttachment_Confederate_HasBackPayment_Anywhere"/>
          <option name="when" value="after:ConfederateUserActions"/>
          <option name="removeUnits" value="all:ConfederatePayment:ConfederateDebt:infantry:elite_infantry:cavalry:elite_cavalry:artillery:general:gunboat:ironclad:frigate:battleship:submarine:engineers" count="10000"/>
          <option name="notification" value="ConfederateDefault"/>
          <option name="players" value="Confederate"/>
          <option name="resource" value="PUs"/>
          <option name="resourceCount" value="-10000"/>
        </attachment>
    

    I think I'm leaving them alone, not sure, mainly because otherwise I would need to refactor a lot, but just giving the info here.

    I'm also curious if any developers know if it is true that they might give problems, or not anymore, and why? I never understood why, just took Veqryns word, but it does seem more logical to me to have 1 trigger per each actual thing.

    Practically, I believe the above sigle trigger should have rather been 3 triggers like these, or at least this is what Veqryn wanted (tho I don't actually know why):

        <attachment name="triggerAttachment_Confederate_Default1" attachTo="Confederate" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
          <option name="conditions" value="conditionAttachment_Confederate_HasBackPayment_Anywhere"/>
          <option name="when" value="after:ConfederateUserActions"/>
          <option name="removeUnits" value="all:ConfederatePayment:ConfederateDebt:infantry:elite_infantry:cavalry:elite_cavalry:artillery:general:gunboat:ironclad:frigate:battleship:submarine:engineers" count="10000"/>
        </attachment>
    
        <attachment name="triggerAttachment_Confederate_Default2" attachTo="Confederate" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
          <option name="conditions" value="conditionAttachment_Confederate_HasBackPayment_Anywhere"/>
          <option name="when" value="after:ConfederateUserActions"/>
          <option name="notification" value="ConfederateDefault"/>
        </attachment>
    
        <attachment name="triggerAttachment_Confederate_Default3" attachTo="Confederate" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
          <option name="conditions" value="conditionAttachment_Confederate_HasBackPayment_Anywhere"/>
          <option name="when" value="after:ConfederateUserActions"/>
          <option name="resource" value="PUs"/>
          <option name="resourceCount" value="-10000"/>
        </attachment>
    

    So, if a developer can clarify if it doesn't matter anymore, or if it still does, and why, that's a thing that I've never understood (or, rather, was never explained). If it is still preferred to split, I might refactor a few this way, while I'm at it.

    Also, it would be good having a trigger that allows you to set resources at a specific amount so, among other things, you can just define them at 0, instead of removing 10000, or so (of course, it practically works, but it's a workaround an unsupported feature).


  • Admin

    @cernel I'm not aware of any particular reason that having 1 trigger instead of 3 in that case would be any worse.

    Setting to a specific amount instead of adding/subtracting is probably a good feature request.


  • Moderators

    A thing that feels really strange to me is how the limit of 50% interest is handled.
    It makes sense that you cannot go over 50% interest, or some level (and, being trigger based, you gotta stop at some point).
    But what I would expect is that, if you go over 50%, that means nobody gives you new loans anymore.
    Instead, how it works (and here it seems this is intended) is that you just never go above 50%, but they keep giving you loans at 50%, no matter if you keep defaulting them again and again.
    Anyway, it might be a moot point. Does anyone know of a game where somebody actually reached 50% (with Confederate)?

    p.s.: I'm almost done.


  • Moderators

    This is the pull request for the new Civil War that, hopefully, makes War Financing bug free and a little more intuitive the use and track.
    https://github.com/triplea-maps/civil_war/pull/6

    This is the yaml update:
    https://github.com/triplea-game/triplea/pull/3469

    @redrum @LaFayette to merge.

    This is the changelog, I've added at the end of game notes of both games:

    • Refactored War Financing, to correct several unintended behaviours (the Union never had consequences for not paying instalments or arrears, and Confederate not paying regular instalments increased payment costs for Union too) (xml bugs).
    • Lowered the costPU related to 50% interest payments from 45 PUs to 44 PUs, as per descriptions (xml bugs, assuming the descriptions are correct).
    • Corrected some wrong descriptions for War Financing user actions.
    • Refactored War Financing, to present only one "take loan" action, when multiple would be available (but you are able to take only one and they are equivalent).
    • Refactored War Financing, to allow paying for a regular instalment only after having settled the arrear for the same loan, if any (no point paying the regular instalments if you default).
    • Default on loans messages given to both players, and reworded.
    • Added messages to notify any increases in interest rates (upon skipping payments), given to both players.

    Civil War players of all countries, test!
    I'd like the War Financing part of this game being bug free before updating the costPU.


  • Moderators

    There is another item to address, regarding War Financing.

    When you default, there are triggers removing all the following units for the player:

    infantry:elite_infantry:cavalry:elite_cavalry:artillery:general:gunboat:ironclad:frigate:battleship:submarine:engineers

    Meaning all units are removed except:

    militia
    train
    pontoon_bridge
    transport
    torpedo
    any fortification
    any resource producer

    However, this how the rule is given in notes:

    All non-infrastructure units except militia are disbanded and removed from the map.

    This is contradicting the trigger coding as train, pontoon_bridge and transport are not infrastructures, while they are not removed. Moreover, it may be argued that torpedo is not identified as infrastructure in notes, either, just in the xml definitions.

    So, if we would be using the xml definitions, the info in notes should be changed to:

    All non-infrastructure and non-transport units except militia are disbanded and removed from the map.

    However, this is as much a bad definition as it is correct. Infrastructure is a code definition that it is to some extent unintuitive (I doubt most regular user think you are also talking about torpedo, when saying infrastructure), and it is not actually referenced in the notes or in the units descriptions. Saing "capturable", instead of "infrastructure" would be some better, but still not really good.
    On top of this, torpedo is an infrastructure, code wise, while it is not an infrastructure according to the notes (and the common sense); so better just not using the term infrastructure at all.

    An acceptable definition, making use of the classifications in notes, may, thus, be:

    All combat and command/logistic units except militia and torpedo are removed from the map.

    And, in notifications, we can say it this way:

    combat, command and logistic units except militia and torpedo are disbanded.

    I've updated the pull request at my previous post accordingly.


  • Admin

    @cernel I think adding that clarification to the notes is fine and leaving the trigger as is.



  • @cernel No one was buying Confederate debt internationally. The debt was defaulted on (and the debt of secessionist states was declared void by the US Supreme Court). Only the Union had access to international financial markets. But that was not a significant factor, as the Northern economy could easily produce weapons. The South was able to get weapons in past the blockade, paying for it with cotton. Insanely, Jefferson Davis initially embargoed the sale of cotton, hoping to pressure the British into recognizing the Confederacy.

    The whole loan mechanism in the scenario has little historical relevance.

    Read the Wikipedia article on the American Civil War. The North had a tremendous economic advantage (4-1 in GDP) but the size of the Confederacy, greater military readiness and the way the technology of the time favored the defense, gave South a reasonable prospect of defensive victory.