1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

[Religion and Revolution]: Feedback and Questions

Discussion in 'Civ4Col - Religion and Revolution' started by raystuttgart, Jul 13, 2012.

  1. lethiel

    lethiel Streaming Col at https://www.twitch.tv/lethiel01

    Joined:
    Jul 1, 2008
    Messages:
    129
    Location:
    Denmark
    Agreed. But I don't think this is a part of a new combat system but rather a code issue in the loop for the combat system. The units basically always withdraw if they are about to loose which is of course wrong. You cant lose a unit in an offensive battle this way. Hoping for a 2.1 compatible fix so I can finish current game. :)
     
  2. agnat86

    agnat86 Warlord

    Joined:
    Jun 30, 2011
    Messages:
    218
    I don't believe that's it, as it sometimes (but rarely) happens that the attacking party loses. But in my experience only in combat with a party that is very clearly stronger (95% winning chance or more), there is a large chance the weaker unit gets killed. But the AI obviously never attacks if its winning chances are that low.

    I recall someone saying that combat stops automatically after 5 "combat rounds." If this is it, then perhaps that number can just be increased to 6 or 7. I believe that Commander Bello programmed it, se perhaps he knows that.:dunno:
     
  3. Commander Bello

    Commander Bello Say No 2 Net Validations

    Joined:
    Sep 3, 2003
    Messages:
    3,858
    Location:
    near Koblenz, Germany
    It is quite simple.
    Meanwhile, the combat is performed in (internal) rounds where the upper limit has been set to 7.
    In each of the internal rounds, either the attacker or the defender will hit the opponent. There aren't any draws. If the attacker hits, he hits and not the defender. If the attacker does not hit, this is counted as hit by the defender (this is unchanged vanilla).
    Depending on the relative strengths, per hit a certain portion of hitpoints will be subtracted from the opponent's total health.
    If after the 7 rounds not all hitpoints have been subtracted, the unit survives (which is true for both, the attacker as well as the defender, obviously).

    As typically the human player as well as the AI will do an attack only if the chances are good, the likeliness for the attacker to survive is quite good, too.
    If the combat ended without the attacker been killed (vanilla: if the attacking unit has been killed but had a retreat chance which resulted in retreat = true) then a message "Unit retreated" will be issued.
    This means that in the vanilla combat, the unit actually would have been killed if not the random calculation for retreat would have been applied.

    I hadn't bothered to change this message, as in principle this message is correct: your unit did not continue the combat (which is some kind of retreating from the combat). The real life examples would be losses of the attacker too high, nightfall, whatsoever.

    There is no such functionality as to end the combat prior to the 7 internal rounds, only death of one of the two units involved.
    Even now, only if the attacking unit would have been killed within the range of the 7 rounds, the "real" retreat would be calculated (if the attacking unit would have a retreat chance, in other words would be a mounted unit; or as a special case, would be a ship with evasion chance - but then you'd get a different message).

    One word to the whole concept:
    The number 7 was chosen by experience.
    In vanilla, a combat between two almost equally powerful units can last up to 10 internal rounds (that is due to how the combat, the chances, the hitpoints are calculated). For two units of exactly the same strength the combat would last for max. 9 turns. The higher the difference in strengths, the longer the combat (theoretically) may last.
    Unfortunately, the random generator often returns "streaks" of results leading to the infamous "99 percent victory chance and got killed nevertheless" results. This can still happen, but the chances have been drastically reduced (once again, just because the number of internal rounds has been reduced; there has been no other modification to the combat system).
    I personally really prefer it that way.

    Now, I can understand that at first glance it may lead to your attacks ending with no result. But that is only if you're looking at just this gameturn. In the next turn, both, attacker and defender are still there (if not the defender ran away) and based on their strengths you can engage again.
    This offers some new options now, as you as the human player now can make use of this feature to soften enemy positions. On the other hand, as mentioned, the defender may have taken the chance to retreat (after the combat).
    The higher the level on which you're playing the sooner the enemy (the AI) may recover which adds another facet to warfare.
    In total I think the battlefield has become a bit more "living" by this change.

    I admit though, that many weaknesses of the whole combat system are still in place and that much work still is to be done.
     
  4. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,356
    Theoredically 99% chance of winning should mean you lose your unit 1% of the time. The way you describe it makes it sound like it's way more than 1%, in which case either the prediction, calculation or random number is buggy. We can easily replace the random number generator if we like. However making a good random number generator with predictable numbers, which feels random is quite hard.

    I wonder if we should make it possible to make "light attacks", which intentionally works for less rounds (say 4). When you have 3 units you can attack with and the enemy has one strong one, then attacks like this would be useful to weaken the unit without actually turning your units into kamikaze fighters.
     
  5. agnat86

    agnat86 Warlord

    Joined:
    Jun 30, 2011
    Messages:
    218
    Sounds like a very good idea. In all of human history, weaker powers have attempted to defend themselves against stronger ones by demoralizing them through small skirmishes. Even in modern times, this strategy is still applied by guerrilla fighters everywhere.

    I think this would be especially flavorful for natives. Maybe, in addition to being able to raid or attack treasures without declaring war, they should have the ability to attack other units in such a "light attack." Obviously, that would need to be balanced in such a way that it can also go wrong for natives, resulting in them being killed.
     
  6. Commander Bello

    Commander Bello Say No 2 Net Validations

    Joined:
    Sep 3, 2003
    Messages:
    3,858
    Location:
    near Koblenz, Germany
    I have no doubt that the randon number generator works within the limits of a computer-based RNG. It is just that sometimes such a streak at one end of the number range may happen.
    If your RNG shall deliver numbers between 0 and 999 and the chances for the attacker to hit are 99%, then a streak of results like 997, 991, 995, 997, 993, 999, 992 would be technically ok, yet lead to the attacker losing anyway.
    Of course similar streaks may happen in the other interval, too... but there they don't affect the gaming experience, as you're having that 99% chance, anyway.

    Actually, I for my person don't think this is necessary anymore.
    As said above, I am fine with the current results of the little change I made.

    (And as soon as I once will have realized the additional changes I'm having in mind the problem would be solved in any case)
     
  7. rah

    rah Deity Supporter

    Joined:
    Sep 12, 2005
    Messages:
    10,119
    Location:
    Chicago
    I think there are too many withdraws nows. It seems that there are more than before.

    I did a few non scientific trials.

    At a displayed 75% chance of winning. 20 combats.
    A majority were withdraws but even worse about half the time there was more damage to the attaching unit.
    With cannons OP power to attack cities, this just makes attacking cities even easier than defending them. If you can't kill those cannons before they can attack the city, you lose.

    I'm even seeing quite a few withdraws in the upper 90's. This is just silly. Seeing promoted 4 strength units withdrawing from pioneers just seems ridiculous.
     
  8. Commander Bello

    Commander Bello Say No 2 Net Validations

    Joined:
    Sep 3, 2003
    Messages:
    3,858
    Location:
    near Koblenz, Germany
    That the attacker may suffer more damage at a given point in time is due to the (unchanged) combat system, not due to the rounds limitation.

    This is a valid argument. :think:
    In general, one could say that you as a defender nevertheless will have the chance to destroy the now damaged cannons; after all, your units will have survived the combat, too.
    The problem lays with the AI, as it doesn't counterattack, at least not often and not good enough.


    I agree, but losing those units from a fight with pioneers would be even worse, no?

    Once again, the fact that much stronger units may suffer damage "where they shouldn't do so" is not caused by this change. It is inherent to the combat system as it currently is.

    Any stronger unit will never need more than 5 hits to destroy the weaker one. The more powerful it is in comparison to the opponent, the more likely it is that even less hits are needed, but it will need to be much more powerful.
    A musketman with Vet1 and Vet2 (eff. strength 3.6) fighting a brave on uncovered terrain has a victory chance of 95.9% and then needs only 4 hits.
    The native then will need 7 hits to kill the musketman.
    So, the max. number of internal rounds will be 10, as the 11th turn in any case will destroy either the musketman or the brave.

    Due to the limitation to 7 internal rounds, the chance for the musketman to survive indeed has been increased, as the brave would need 7 hits out of 7 attempts, meaning that much stronger units will almost all times survive.
    This was indeed my intention. The "withdrawal" (or more correct: the stopping of the fight) just means that the stronger unit didn't manage to kill the weaker one in the time available (as I've said before already, real life equivalents would be bad weather conditions, nightfall, and own losses getting too high).

    Edit:
    I think at least in my modmod I will create a XML tag for the limited combat rounds, which each player then can set to the desired value.
    A combat should never last for more than 15 turns under current combat rules, so a value of "99" would in fact mean a return to the old, "traditional" system of fighting "for death or glory".
     
  9. lethiel

    lethiel Streaming Col at https://www.twitch.tv/lethiel01

    Joined:
    Jul 1, 2008
    Messages:
    129
    Location:
    Denmark
    I see you are making the combat system more Civilization V style :(. Thats one way but I'm definitely not a fan of it. Last time I played Civ V, which is a while ago, the AI was utterly incapable of handling the combat tactics. I fear the same would be true here since these things are presumably hard to teach the AI (and if you succeed it becomes very powerful like a Chess computer).
    Withdrawals/ combat stops also remove that intense feeling from risking your pressures unit when attacking.
    IMO the the current (old) system especially with the new blades feature and balancing is working pretty well :goodjob: and is rather realistic to how battles were fought. This system should be strengthened not replaced.
     
  10. agnat86

    agnat86 Warlord

    Joined:
    Jun 30, 2011
    Messages:
    218
    Another drawback of the new combat system is that Privateers have become much less useful. These can only capture goods if they destroy the opposing vessel.

    The vast majority of the times, they withdraw now, and they never get a second chance to attack the same ship, as the ship they attacked will be either in a city or in Europe the next turn.

    But it's a good idea to add the XML tag. That way, we can easily test it out, and properly balance this feature.
     
  11. vetiarvind

    vetiarvind Prince

    Joined:
    Oct 20, 2013
    Messages:
    328
    Location:
    Chennai, South India
    I second this. Maybe you can add a base withdrawal chance of 10% to all units using the existing promotion system and keep the combat system the same.
     
  12. Commander Bello

    Commander Bello Say No 2 Net Validations

    Joined:
    Sep 3, 2003
    Messages:
    3,858
    Location:
    near Koblenz, Germany
    Hi Schmiddie, I just found your remark:

    Just wanted to mention that I don't agree. :)
     
  13. vetiarvind

    vetiarvind Prince

    Joined:
    Oct 20, 2013
    Messages:
    328
    Location:
    Chennai, South India
    Yeah, natives are a lot of fun on gigantic. I once had an invasion where I had to pull out all my colonists from the continent into one coastal fortress and into my islands, where the colonists patiently built up their strength, counter attacked and defeated 30 natives sieging that town. It was freaking awesome.
     
  14. Schmiddie

    Schmiddie Emperor

    Joined:
    Feb 27, 2012
    Messages:
    1,371
    Location:
    Germany
    Ok, good to hear! I made the experience in some games that they are maybe to strong since the European KI Player could no handle the "invasions" and has been wiped out.
     
  15. agnat86

    agnat86 Warlord

    Joined:
    Jun 30, 2011
    Messages:
    218
    I have experienced that a long time ago, back in version 1.3 or something. Currently, Europeans usually have very little trouble wiping out the natives, mostly because they attack with large stacks of cannons, and natives don't attack those. Instead, they just wait patiently in their villages to get slaughtered.

    But that's one of many AI issues, of course.
     
  16. agnat86

    agnat86 Warlord

    Joined:
    Jun 30, 2011
    Messages:
    218
    @Schmiddie

    Did you deliberately increase the number of troops the king sends as reinforcements? I got 10 Hessians, 5 Artillery and 3 Man o Wars in 1603. That is not just a little overpowered.

    May I suggest setting those three values in GlobalDefines back to 1? Getting one of each of those units for free already is a very good deal.
     
  17. rah

    rah Deity Supporter

    Joined:
    Sep 12, 2005
    Messages:
    10,119
    Location:
    Chicago
    If the odds are 96% I expect to lose 4% of the time. When you do 1000's of combats it happens.
    But to not win the amount of times I'm seeing withdrawals now just seems a bit much.

    I'm not against the concepts, just think it needs to be tweaked a bit.

    Holy crap, I haven't gotten that yet. Yeah that might be a bit much.
    I like the one of each but 2 of one and the rest one would be fine too.


    And please don't equate discussion with unhappiness with the game.
    I'm still enjoying it and REALLY appreciate all the effort that has been put into it.
     
  18. Commander Bello

    Commander Bello Say No 2 Net Validations

    Joined:
    Sep 3, 2003
    Messages:
    3,858
    Location:
    near Koblenz, Germany
    I strongly recommend removing the "invisibility" feature of the Ranger.

    I'm currently having a long war with the Swedes which are sending large stacks of artillery against me. Unfortunately, they have to cross an almost endless forest, in which I can kill turn per turn one of these units. As they can't see me (and due to the invisibility, even cannot attack me), it is just farming of experience points.
     
  19. agnat86

    agnat86 Warlord

    Joined:
    Jun 30, 2011
    Messages:
    218
    Is it also possible to make Rangers remain visible for one turn after attacking?
     
  20. Commander Bello

    Commander Bello Say No 2 Net Validations

    Joined:
    Sep 3, 2003
    Messages:
    3,858
    Location:
    near Koblenz, Germany
    In general, yes.
    One could add a counter to the unit which triggers the invisibility.
    Say, having an integer "iIsInvisble" which is set to "0". After an attack of the invisible unit, it is incremented to "1".
    In the next turn, (when the unit no longer shall be invisible), a routine investigates for something like this (pseudo-code):
    Code:
    int iIsInvisible = 0;
    ...
    if (iIsInvisible > 0)
      {
       iIsInvisible++;
       if (iIsInvisible > 2)
          {
           setInvisibiliy();
           iIsInvisible = 0;
          }
      }
    else 
      {
        removeInvisibility();
      }
    removeInvisibility() and setInvisibiliy() would be new function to switch invisibility on or off.
    Should work, I'd guess.
     

Share This Page