Pioneer: XP from Building Improvements + Promotions

Discussion in 'Civ4Col - We The People' started by raystuttgart, Nov 14, 2020.

  1. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Hi guys,

    I was wondering if it would be interesting to give Pioneers
    • a new UnitCombat (only needed to configure their potential Promotions)
    • XP from Building Improvements
    • Promotions they can earn by that X
    Basically the Promotions would simply make them "more efficient Pioneers" - like building Improvements / Roads faster.
    (But they could e.g. also get some Promotions that make them stronger - in case they need to defend.)

    It would be pretty easy to implement actually - even AI should be simple because no special AI adjustments would be needed.
    (Most of the effort would actually be to create the new Promotion Buttons.)

    Would this make the game more fun though? :think:
    I think that nobody would complain about it, but would somebody actually care? :dunno:
     
    Last edited: Nov 14, 2020
    HobyMorgan and jhxp like this.
  2. Schmiddie

    Schmiddie Emperor

    Joined:
    Feb 27, 2012
    Messages:
    1,517
    Location:
    Germany
    A long time ago I thought about a new profession "military pioneer" / sapper - which can also built small fortifications in the field. Maybe this can be combined somehow? Or maybe we separate normal/civil pioneers from the military version? I could amend the pioneer in a way that he get's new combat animations and then can be used as a small defensive military unit.
     
  3. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Actually that is generally basically already possible by existing XML - if we had the graphics.
    (We could easily give this "military pioneer" just the "Build_Actions" to be allowed to build only specific Improvements.)

    It really just depends what you want your "small fortifications" to do.
    (Is it all doable with existing XML settings ? Or do you need new functionality I should code?)

    That is actually the big problem:

    A combination of Pioneer and Defensive Unit is easy to use for Human Player.
    But how do we teach this to AI? The logic required would really not be easy to do.

    If we do not teach this to AI, AI will basically just use this "military version Pioneer" just like a "normal Pioneer".
    It would most likely be like a "Human only feature" - or actually be a disadvantage for AI.

    ----------

    Summary:

    Almost all of your suggestion is no problem considering implementation. If it was just for Human Player the effort would be neglectable.
    But when it comes to teaching this feature to AI it gets really a lot of effort - almost too much for the gameplay benefit.
    (It would mostly be a "flavour feature" with relatively low "strategic value".)

    -------------

    Comment:

    The feature I suggested is about something different.
    (And it is easy to implement and no problem for AI - it would use it out of the box.)

    I do not want to change the purpose of Pioneers - it would still be a "civil unit" and not a "military support unit".
    (Because this would then impact AI.)

    It is simply:

    Pioneers get more experienced (getting XP) as Pioneers by Building Improvements.
    They can spend that XP for Promotions that will make them more efficient Pioneers (e.g building Improvements / Roads faster.)

    That they can also get some Promotions that make them a bit stronger considering defense is optional but would not hurt.
    They would still behave exactly the same for AI - and never e.g. accompany a Miliary Force.
     
    Last edited: Nov 14, 2020
  4. Schmiddie

    Schmiddie Emperor

    Joined:
    Feb 27, 2012
    Messages:
    1,517
    Location:
    Germany
    I like that idea. Graphics for promotions are no problem (e.g. they could have a different color and would have fitting symbols like a spade, heel, pick). Pioneers could then be specialised for building different improvements.
     
  5. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Great. :)

    Thanks. :thumbsup:

    That is basically also the direction I was thinking. :hug:
    (We just need to figure out the names for those Promotions.)

    Special Pioneer Promotions / Specialisations:
    (But we do not need to overexagerate.)

    I think, something like this should be enough:
    • Transportation: Building Roads and River Ferries faster (50%)
    • Fams and Pastures: Building Farms and Pastures faster (50%)
    • Plantations: Building Plantations and Cocoa Planations faster (50%)
    • Ore and Stone: Building Mines and Quarries faster (50%)
    • Fur and Lumber: Building Trapper Huts and Lodges faster (50%)
    • Collector's Posts: Building Vineyards, Coca Post and Collector's Post Faster (50%)
    • Expansion: Building Forts and Monasteries faster (50%) --> Requiring Transportation (so it it less likely for AI)
    ------

    Of course it will all be XML configurable. :thumbsup:

    ------

    Like this it would have at least some strategic value - that will require some thinking. :think:
    It is not completely chaning the game, but it will add some value and fun. :)
     
    Last edited: Nov 14, 2020
    Nenos likes this.
  6. Schmiddie

    Schmiddie Emperor

    Joined:
    Feb 27, 2012
    Messages:
    1,517
    Location:
    Germany
    Maybe the names could be a little bit more distinctive and "role playing"?

    - Transportation: paver expert
    - Farms / Pastures: gardener / corral expert
    - Ore and Stone: duct expert
    - Fur and Lumber: forester
    - Expansion: sapper

    I suggest to split in two or three steps: 10%, 25% and 50%.
     
    raystuttgart likes this.
  7. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Of course. :thumbsup:
    Feel free to call them whatever sounds good.

    What I wrote there was just a "structure" to show how many "Pioneer Promotions" we might need.
    As names of Promotions it would have sounded aweful - I completely agree. :)

    I am not sure, to be honest. :dunno:

    With my structure above we would already have 7 "Pioneer Promotions".
    (Which is already a lot, becaus the required XP increases for every Promotion just like with every other Promotion.)

    If we split that in 3 Levels each we would even have 21 "Pioneer Promotions".
    (But of course you could specialize a lot more on one path.)

    ---------

    We either

    A) Keep it simple with 7 "Pioneer Promotions"
    (Which should completely suffice but has less option for "specialization")

    B) Go "massive" with 14 or 21 "Pioneer Promotions" (2 Promotion levels or 3 Promotion levels)
    (Which has lots of tiny steps but offers much more option for "specialization")

    For AI it will most likely not make a big difference if it "specializes Pioneers" or has "generalized Pioneers".
    (It will never use this feature as intelligent as a Human player could anyways - but that is the case for all features.)

    ---------

    Summary:

    I really do not know what is better. :dunno:
    I am actually fine with both.

    Maybe let us wait for a bit of feedback from team and community first. :thumbsup:

    ---------

    Edit:

    Thought about it again. :)

    I think I like your suggestion with 2 Promotion Levels best. :thumbsup:
    Meaning we would have in total 14 Pioneer Promotions.

    Then we have a bit of specialization but do not completely overexagerate.
     
    Last edited: Nov 14, 2020
    Schmiddie likes this.
  8. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,934
    I like the ideas here, but I wonder if it becomes too much micro management. We shouldn't scare away new players. All pioneers should be able to do everything. It's not like we should make a road builder profession with twice the road building speed, but can't do anything else. Sounds like a cool idea on paper, but it becomes too much management, particularly for inexperienced players. Boosting speed through promotions while allowing building everything is more newbie friendly because the game will still work if a player is overwhelmed and ignores optimizing.

    The Big Merge branch has some changes to how promotions work. Simply put, the cache system is more systematic and recalculates on load rather than saving. This way xml changes applies to existing savegames. In other words a major promotion update should likely be based on big merge.

    There is one issue with pioneer promotions. Promotions apply to UnitCombat and pioneers are civilians, meaning no UnitCombat. I'm not sure what to do about that because if we add one, then the AI will stop treating the unit as a civilian. At least I think so.

    One thing comes to mind though. Medieval Conquest has a list of UnitCombats rather than just one, but it keeps the vanilla code. This means one as a primary for whatever the code is doing now, but the list is used for allowing promotions and stuff like "+25% strength vs mounted". This way dragoons could be both gunpowder units and mounted. A system like this will allow a civilian unit to have no primary UnitCombat, but still list UNITCOMBAT_PIONEER for promotion purposes.

    Good idea, but will it backfire? Won't the AI fill the map with such fortifications?

    If the AI is to build something like that, then we would need to update the "flee on danger" to allow building next to enemy units without fleeing. Something like teaching the AI to keep military units to protect the pioneer in danger.
     
    raystuttgart likes this.
  9. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    They still will, do not worry. :)

    "Pioneer Promotions" will just allow them to get specialized / more efficient.
    It should be extremely easy to understand for new Players.

    I know, but I had already introduced e.g. "UNITCOMBAT_NAVAL_TRADE".
    That way I would simply introduce "UNITCOMBAT_PIONEER".

    It will not impact Combat at all - it is just needed for differentiating the Promotions.
    Trust me, I know how to do it, it is really easy.

    By the way:

    UnitCombats are mostly meaningless for DLL logic other than determining
    • "Combat Modifiers" (e.g. from Promotions or Units XML, ...)
    • "Bonusses from Traits" (e.g. from Civ Traits, Founding Father Traits, ...)
    • "Promotion Rules" (which Unit can get which Promotions)
    So adding new ones is really really painless (and mostly just XML).
    There is e.g. no AI logic that needs to be adapted.

    Exactly. :thumbsup:
    (And once we have it we could one day even also have e.g. CombatModifiers, Traits, ... that make use of it.)
     
    Last edited: Nov 14, 2020
  10. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Yes, AI is the problem with @Schmiddie 's idea ("Military Pioneer" to build "small fortifcations".)
    Lots of effort to teach AI how to handle it properly.
    • It would be absolutely easy to do as "Human only" but I am not really happy with that (and I guess @devolution would not be either).
    • For a "full feature used by AI as well" the gameplay benefits do really not justify the efforts. (And it could as you said really break AI.)
     
    Last edited: Nov 14, 2020
  11. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    It is not really "that major" - but generally adding it to "Big_Merge" is fine for me. :thumbsup:
    Yes I will need to give a few new structured XML tags to PromotionInfos.xml, which might look similar to this:

    For Improvements:
    Code:
                <ImprovementBuildSpeedModifiers>
                    <ImprovementBuildSpeedModifier>
                        <ImprovementType>IMPROVEMENT_FARM</ImprovementType>
                        <iBuildSpeedIncrease>25</iBuildSpeedIncrease>
                    </ImprovementBuildSpeedModifier>
                    <ImprovementBuildSpeedModifier>
                        <ImprovementType>IMPROVEMENT_PLANTATION</ImprovementType>
                        <iBuildSpeedIncrease>25</iBuildSpeedIncrease>
                    </ImprovementBuildSpeedModifier>
                </ImprovementBuildSpeedModifiers>
    
    For Roads:
    Code:
              <iRoadBuildSpeedIncrease>25</iRoadBuildSpeedIncrease>
    
     
    Last edited: Nov 14, 2020
  12. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,934
    I think I remember something about also affecting something else, but that might have been modded code, which is in M:C only. Not sure.

    Still worth considering a list of UnitCombats, but if you believe the pioneer thing can be done without it, then let's not mix up those two. No need to make it more complex than needed.

    I was thinking more like the DLL side of using those tags. Should be designed in a way where the speed is the sum of speed boosts from all promotions. This way it will fit right in the code in Big Merge.
     
  13. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    I had checked this for "UNITCOMBAT_NAVAL_TRADE" and had been surprised myself how little impact "UnitCombats" really have. :)
    (It is really basically just for allowing further XML config to reference / use it.)

    It is absoultely harmless to add further ones - we could have as many as we want.
    (But that would also at some point make e.g. Traits, Promotions, Units ... more difficult to configure - so we should not overexagerate either.)
     
    Last edited: Nov 14, 2020
  14. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Yeah, the new logic for "Pioneers Promotions" would keep me busy for about a weekend.
    It is still not "that major" considering effort. (I would actually consider it "small".)

    I agree. :)

    Ok for me. :thumbsup:

    This however implies that "Pioneer Promotions" will have to wait until branch "Large Rivers" is fully complete, tested and balanced.
    (Only after that I will switch to develop on another branch.)
     
    Last edited: Nov 14, 2020
  15. Red velvet

    Red velvet Chieftain

    Joined:
    Jul 12, 2020
    Messages:
    5
    If you want to have a combat unit with pioneer skills, I would suggest the RANGER unit have two unique promotions (Road building and Fort building). Only allow simple roads and call it "Trailblazing".
     
  16. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Actually we do not - because of AI problems.
    It is too difficult and risky to properly teach AI.

    The concept described above is about something totally different:
    It is about Pioneers getting XP and becoming specialized / more efficient by building Improvements.
     
  17. Nenos

    Nenos Chieftain

    Joined:
    Feb 15, 2006
    Messages:
    34
    Generally, I like the idea.
    I would add one xp per turn if they work on an improvement. And I would add a cap by 2 or 3 promotion per field.

    And another idea is to involved the other social classes who are able to do the pionieering work. Like pasants, the poor and clumsy pickpockers ( criminals, servants, free colonist ).
    As an example I would let a criminal pionier work and let him earn xp to raise up to the next social class. The servants, than to a colonist and than to a skilled pionier. So they earn skills by work and not by fortuna. Like in the real world.
     
  18. raystuttgart

    raystuttgart Civ4Col Modder Supporter

    Joined:
    Jan 24, 2011
    Messages:
    7,517
    Gender:
    Male
    Location:
    Stuttgart, Germany
    It is probably going to be something like:
    2 XP for every Improvement built (finished)
    (Definitely not by turn however - this would generate way too much XP.)

    That basically is exactly what the feature "LbD Become Free" does. :)
    (And it also happens for outdoor professions e.g. Pioneer when they work.)

    People however often do not that it is not purely by "Fortuna". :(
    The Algorithm is just so complex that people think it is pure luck - which it is definitely not.

    The algorithm to "become free" determines chances (per turn) to become free based on turns work.
    (And it is also influenced by e.g. Happiness and other factors.)
     
    Last edited: Nov 16, 2020

Share This Page