Announcement

Collapse
No announcement yet.

My experiences trying to make a 'fair' game

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • My experiences trying to make a 'fair' game

    After becoming aware that the AI gets a number of advantages over the player in Noble, I decided to try and equalize these and see how the game plays out. Now, I'm aware a lot of these handicaps are there because the AI is lacking in certain skills - i.e., they get big unit upgrade bonuses because they don't know which units not to upgrade, they get the same bonuses vs. barbarians and animals that the human gets on Settler so they aren't wiped out by them early in the game, they pay minimal upkeep and supply costs so they don't bankrupt themselves when going to war. My intention was not to make a better, more fun, difficulty level, but to make one that allowed you to see how the AI would deal with having the same rules as the player, and the results were interesting.

    To keep things simple, I modified the already existing Settler difficulty level, as that's one that will never get used (even my 4 year old stepdaughter plays on Chieftan). I copied all the AI behavior sections from Noble (barbarian attack %, likelihood to build wonders, etc.), but set all AI and player percentage values for upkeep, research, support, etc. to 100% (this makes some things significantly harder for the player than in Noble). I took away all player and AI advantages against barbarians and animals. I took out the 2 'free wins' against barbarians that you normally get on Noble. I levelled the playing field as much as possible. I then started up a standard continents map and gave it a shot.

    For a while there, I wasn't sure I would make it. I lost a warrior and a scout to animals that normally I would have no problem with. Then the barbarians showed up and I was barely able to beat them, even the first wave of just warriors (I was playing as Incas). When I first encountered the other civilizations, my score was lower than most of them, while one was significantly lower than all the rest (score of 400ish while everybody else was 600-800) - I figured Julius Caesar had problems with barbarians. I was able to alleviate my problems with barbarians by giving open borders to anybody who asked - barbarians are a LOT more likely to attack the AI civilizations when the AI loses that 70% bonus vs. barbarians, apparently the reason why they have tended to ignore the AI in favor of the player is because they go for easier targets.

    I was not able to expand as fast, building a second city forced me to drop my science rate to 90% to pay for it. My science rate had to go as low as 60% before I started getting money techs, but even after getting banking and two shrines, I could not do 100% research without losing some money. The AI seemed to adjust to the higher maintenance costs as well, and at 1000 AD there were still portions of my continent (with 4 civilizations on it) that were not within anyones borders. When I had to quit at 1912AD I was just getting railroad and riflemen, and was at a tech level which I usually reach by 1800 in Noble, where I usually play.

    I fought two wars, both with Julius Caesar - he was the one who was always behind everyone else, and so he was attacking the person with the weakest military. The first time he attacked with two stacks of about 5 archers, and if I didn't slave-rush some horse archers he would have had me, but I got Elizabeth to declare war on him and he sued for peace soon after. The next time he attacked he seemed to adjust to the higher upkeep costs by using small stacks of powerful units - 3 stacks of 1 praetorian and 1 elephant, one of which also had a crossbowman. I couldn't get any help on this battle, but by then I had pikemen and knights so I didn't have too much trouble beating him.

    It was actually a pretty fun game. The AI did not seem as aggressive, I was sure my neighbor Mansa Musa was going to attack me for a while because his army was so much bigger than mine, but he stayed friendly. An AI civ that had a continent to himself only had a score about 8% above the closest AI on my shared continent, so I'm guessing the tougher barbarians slow down that problem of civs being overpowered from having a continent to themselves. I'm sure this would be easier than Noble for a warmonger because the AI can't field stupidly large armies and can't fight long wars, but for someone who primarily plays as a builder with the occasional retributive strike against warmongers, it was a lot of fun. I was very impressed with how the AI adjusted to my rule changes.

    If anyone's interested, I can post the file tonight. I'm looking forward to modding the game further as I learn more about it...there is a lot of potential in those XML files.

  • #2
    I had noticed that the AI was getting some advantages even on the easiest levels. One that bugs me is that they start with extra warriors on Noble and Prince. Before I was even able to build a second warrior (as the first thing I built), my starting warrior got close enough to a capitol city to see that they already had two warriors protecting it, and a third that was out exploring. This was probably turn 15 or so.

    Comment


    • #3
      I wasn't sure how to remove that, too...there ares settings for ExtraDefensiveUnits and ExtraWorkerUnits (or something like that, I'm at work and don't have access to the file), but on Noble they were all set to 0. From what I've heard, even on easier than Noble settings the AI starts with either two warriors or a warrior and a scout, so they never have to choose between exploring and defending their capital. Maybe that's in another file that applies to all difficulty settings.

      One thing I found interesting that I mentioned in passing was teh number of 'free wins' vs. barbarians. I'm ASSUMING this means that the first few times barbarians attack, you will win automatically, though maybe it just means you get free extra hits in during the multiple phases of the combat round, not sure. Knowing you have this is pretty exploitable, you could level up your scout by making sure it is the unit that uses up all your free wins.

      Comment


      • #4
        Here's what I have for my 'Settler' difficulty now. I've played two games with it so far, seems tech growth is slowed down for both players and AI. I'm really starting to like this difficulty setting, it's between Noble and Warlord in difficulty level after you get into the Medieval period, but the start is really hairy when you are put on fair footing with barbarians.

        Edited out because I don't know how to make the XML show up right in a post...I tried using the CODE tag around it, didn't work.

        Edited again because I made a sloppy workaround. I replaced the < symbol with @, and the > symbol with *. Do a find and replace to put the original symbols back in, and replace the Settler setting in the CIV4HandicapIndo.xml file with the result, and you can try it out.

        Edited again because I followed a suggestion below and replaced the symbols with { and }.

        Edited again, finally got it right.

        PHP Code:
        <HandicapInfo>
                    <
        Type>HANDICAP_SETTLER</Type>
                    <
        Description>TXT_KEY_HANDICAP_SETTLER</Description>
                    <
        Help>TXT_KEY_HANDICAP_SETTLER_HELP</Help>
                    <
        iFreeWinsVsBarbs>0</iFreeWinsVsBarbs>
                    <
        iAnimalAttackProb>75</iAnimalAttackProb>
                    <
        iStartingLocPercent>10</iStartingLocPercent>
                    <
        iGold>0</iGold>
                    <
        iFreeUnits>0</iFreeUnits>
                    <
        iUnitCostPercent>100</iUnitCostPercent>
                    <
        iResearchPercent>100</iResearchPercent>
                    <
        iDistanceMaintenancePercent>100</iDistanceMaintenancePercent>
                    <
        iNumCitiesMaintenancePercent>100</iNumCitiesMaintenancePercent>
                    <
        iMaxNumCitiesMaintenance>5</iMaxNumCitiesMaintenance>
                    <
        iCivicUpkeepPercent>100</iCivicUpkeepPercent>
                    <
        iInflationPercent>100</iInflationPercent>
                    <
        iHealthBonus>3</iHealthBonus>
                    <
        iHappyBonus>5</iHappyBonus>
                    <
        iAttitudeChange>0</iAttitudeChange>
                    <
        iNoTechTradeModifier>70</iNoTechTradeModifier>
                    <
        iTechTradeKnownModifier>0</iTechTradeKnownModifier>
                    <
        iUnownedTilesPerGameAnimal>50</iUnownedTilesPerGameAnimal>
                    <
        iUnownedTilesPerBarbarianUnit>60</iUnownedTilesPerBarbarianUnit>
                    <
        iUnownedWaterTilesPerBarbarianUnit>2000</iUnownedWaterTilesPerBarbarianUnit>
                    <
        iUnownedTilesPerBarbarianCity>130</iUnownedTilesPerBarbarianCity>
                    <
        iBarbarianCreationTurnsElapsed>35</iBarbarianCreationTurnsElapsed>
                    <
        iBarbarianCityCreationTurnsElapsed>40</iBarbarianCityCreationTurnsElapsed>
                    <
        iBarbarianCityCreationProb>6</iBarbarianCityCreationProb>
                    <
        iAnimalBonus>0</iAnimalBonus>
                    <
        iBarbarianBonus>0</iBarbarianBonus>
                    <
        iAIAnimalBonus>0</iAIAnimalBonus>
                    <
        iAIBarbarianBonus>0</iAIBarbarianBonus>
                    <
        iStartingDefenseUnits>0</iStartingDefenseUnits>
                    <
        iStartingWorkerUnits>0</iStartingWorkerUnits>
                    <
        iStartingExploreUnits>0</iStartingExploreUnits>
                    <
        iAIStartingUnitMultiplier>0</iAIStartingUnitMultiplier>
                    <
        iAIStartingDefenseUnits>0</iAIStartingDefenseUnits>
                    <
        iAIStartingWorkerUnits>0</iAIStartingWorkerUnits>
                    <
        iAIStartingExploreUnits>0</iAIStartingExploreUnits>
                    <
        iBarbarianDefenders>2</iBarbarianDefenders>
                    <
        iAIDeclareWarProb>100</iAIDeclareWarProb>
                    <
        iAIWorkRateModifier>0</iAIWorkRateModifier>
                    <
        iAIGrowthPercent>100</iAIGrowthPercent>
                    <
        iAITrainPercent>100</iAITrainPercent>
                    <
        iAIWorldTrainPercent>100</iAIWorldTrainPercent>
                    <
        iAIConstructPercent>100</iAIConstructPercent>
                    <
        iAIWorldConstructPercent>100</iAIWorldConstructPercent>
                    <
        iAICreatePercent>100</iAICreatePercent>
                    <
        iAIWorldCreatePercent>100</iAIWorldCreatePercent>
                    <
        iAICivicUpkeepPercent>100</iAICivicUpkeepPercent>
                    <
        iAIUnitCostPercent>100</iAIUnitCostPercent>
                    <
        iAIUnitSupplyPercent>100</iAIUnitSupplyPercent>
                    <
        iAIUnitUpgradePercent>100</iAIUnitUpgradePercent>
                    <
        iAIInflationPercent>100</iAIInflationPercent>
                    <
        iAIWarWearinessPercent>100</iAIWarWearinessPercent>
                    <
        iAIPerEraModifier>0</iAIPerEraModifier>
                    <
        Goodies>
                        <
        GoodyType>GOODY_MAP</GoodyType>
                        <
        GoodyType>GOODY_MAP</GoodyType>
                        <
        GoodyType>GOODY_SETTLER</GoodyType>
                        <
        GoodyType>GOODY_SETTLER</GoodyType>
                        <
        GoodyType>GOODY_WARRIOR</GoodyType>
                        <
        GoodyType>GOODY_WARRIOR</GoodyType>
                        <
        GoodyType>GOODY_SCOUT</GoodyType>
                        <
        GoodyType>GOODY_WORKER</GoodyType>
                        <
        GoodyType>GOODY_WORKER</GoodyType>
                        <
        GoodyType>GOODY_EXPERIENCE</GoodyType>
                        <
        GoodyType>GOODY_EXPERIENCE</GoodyType>
                        <
        GoodyType>GOODY_HEALING</GoodyType>
                        <
        GoodyType>GOODY_TECH</GoodyType>
                        <
        GoodyType>GOODY_TECH</GoodyType>
                        <
        GoodyType>GOODY_TECH</GoodyType>
                        <
        GoodyType>GOODY_TECH</GoodyType>
                        <
        GoodyType>GOODY_BARBARIANS_WEAK</GoodyType>
                        <
        GoodyType>GOODY_BARBARIANS_WEAK</GoodyType>
                        <
        GoodyType>GOODY_BARBARIANS_WEAK</GoodyType>
                        <
        GoodyType>GOODY_BARBARIANS_STRONG</GoodyType>
                    </
        Goodies>
                    <
        FreeTechs>
                        <
        FreeTech>
                            <
        TechType>TECH_THE_WHEEL</TechType>
                            <
        bFreeTech>1</bFreeTech>
                        </
        FreeTech>
                        <
        FreeTech>
                            <
        TechType>TECH_AGRICULTURE</TechType>
                            <
        bFreeTech>1</bFreeTech>
                        </
        FreeTech>
                        <
        FreeTech>
                            <
        TechType>TECH_MINING</TechType>
                            <
        bFreeTech>1</bFreeTech>
                        </
        FreeTech>
                    </
        FreeTechs>
                    <
        AIFreeTechs/>
                </
        HandicapInfo
        Last edited by Badtz Maru; December 17, 2005, 21:05.

        Comment


        • #5
          [SIZE=1] Originally posted by Badtz Maru Edited out because I don't know how to make the XML show up right in a post...I tried using the CODE tag around it, didn't work.

          Edited again because I made a sloppy workaround. I replaced the < symbol with @, and the > symbol with *. Do a find and replace to put the original symbols back in, and replace the Settler setting in the CIV4HandicapIndo.xml file with the result, and you can try it out.
          Thanks for the info. It is definitely interesting. I believe I will try to adjust the settings as well.
          I think that you may try to post this in the general or strategy forum as well for a debate.

          As for the > and < symbols, I replace them with {}, so it looks almost like the original With @ and * it is not so intuitive to read it.

          Code:
          {HandicapInfo}
          {Type}HANDICAP_SETTLER{/Type}
          {Description}TXT_KEY_HANDICAP_SETTLER{/Description}
          "The only way to avoid being miserable is not to have enough leisure to wonder whether you are happy or not. "
          --George Bernard Shaw
          A fast word about oral contraception. I asked a girl to go to bed with me and she said "no".
          --Woody Allen

          Comment


          • #6
            Use
            Code:
            [php]
            It displays the < > properly.

            Bh

            Comment


            • #7
              Has anyone tried this 'mod' yet? Any impressions? Have I missed any AI bonuses? I think I may have made goodie huts too good, but I wanted to make scouts more of an advantage by making the consequences of getting a hostile hut worse and the benefits of a good one better.

              Comment

              Working...
              X