Quick Answers / 'Newbie' Questions

Thanks, that makes a lot of sense!

What map scripts would you recommend? Hemispheres with massive continents have produced decent results for me so far.
From what I observed, the AI seems to have more issues handling small islands/snaky continents. Marathon speed also seems to screw with the AI somewhat.
Fractal is my go to map script. Generally the AI is optimised for the default settings, so anything that deviates from that will disadvantage it.
 
Why fractal? I‘ve seen it being recommended multiple times now, what is so good about it?
It is hard to say for sure, other that I tend to prefer the games with that than with others.

I THINK is is just the right balance of variability (such that one starts in all sorts of different terrain types, and it may be a pangea or continents) and consistency/balance (there tends to not be too vast differences in quality of starting spot, not too frequently alone on an island, that sort of thing).
 
My personal favorite map script type is Inland Sea, with +1 AI (assuming standard size). Very even distribution of land and AIs, at the cost of higher than average Barbarian trouble.
 
Reasons why I play nearly 100% fractal:
  • archipelago/water maps are way too easy, because GLH is OP and AI is extremely weak on watery maps.
  • pangaeaish maps are strategically too simple. You know from the get-go what you need to win - a military tech and enough troops to capitulate every AI. This works even on deity. Perhaps bigger maps can be better, but still...
  • continents can be interesting, but after meeting the AIs on your continent there is nothing pushing you to scout further, because you know the rest of the AI are unreachable pre-astro.
  • fractal offers you variety and rewards scouting, sometimes creating strategically unique situations which reward "out of the box"-thinking. Of course, most of the time it's just one of the above, but at least you need to find out which one it is. ;)
Sometimes you get a very tough game and sometimes a very easy one, but I'm not sure if that is such a horrible thing.
 
Interesting perspective, thanks! My last game turned out to be completely busted - marathon game with Roosevelt where I got a wicked workboat start, tons of coastal cities with GLH and colossus. It got very boring very fast. That felt pretty busted, good to know it wasn't an outlier.

I think I like the idea of having continents. It could lead to an entirely new game post astronomy. But maybe that will turn out to be very boring in practice :)
Maybe I should try Totestra, that script seems to produce good looking results. Dunno if those will play well though.
 
Recently, Númenór wanted to invade me, Isengard. Looking at the map, I thought, well, Númenór needs to cross Dunland to reach me. So I contacted Dunland, and wanted to ask this civilisation to stop trading with Númenór, so that the open borders would be cancelled.

Curiously enough, I didn't have the option of asking Dunland to stop trading with Númenór - is this because they would have signed open borders less than 10/20 turns ago, and so it couldn't be cancelled yet?

I could, however, ask them to stop trading with Rivendell, although the option was red, and had the text: "Not before we have erected a most beautiful monument to our everlasting glory."
I have never seen this text before, but, I would >assume< it implies Rivendell is supplying them with a resource that boosts the production of a wonder? Because I have no wonder that absolutely requires a resource in my game.

But, curious, I entered the World Builder, and saw that Dunland was building Culture in all of its cities. So they weren't building a wonder at all. So what does this text mean?
Google knows nothing, and the XML file calls it 'TXT_KEY_DENIAL_MYSTERY'.

(Númenór ended up invading me through the lands of Rohan, hmpf)
 
Sounds like you were playing a mod.
 
Sounds like you were playing a mod.
Obviously (my own). But 'TXT_KEY_DENIAL_MYSTERY' is present in the base game, so that is irrelevant.
 
[...] But 'TXT_KEY_DENIAL_MYSTERY' is present in the base game [...]
It is present and says "We have our reasons" – but the original game doesn't ever give that reason when refusing to stop trading: CvPlayerAI.cpp#L7137
No DENIAL_MYSTERY in there, just DENIAL_POWER_THEM (vassal refusing to stop trading with master) and attitude-based denials. DENIAL_MYSTERY is only used when refusing a tech trade, namely, when the tech would allow the recipient to compete for a wonder that the AI is currently constructing. To get to the bottom of this, I would try searching the source code of the mod's DLL for DENIAL_MYSTERY.

As far as I can tell, one can't ask the AI to stop trading if there is no deal that can currently be canceled (see the definition of and calls to isTradingWithTeam in CvPlayer.cpp). So that seems to work as in BtS in your mod's DLL.
 
Ah ha, I didn't realise that this mod might change what exists in the basegame - thank you for pointing that out for me! And indeed, in CvPlayerAI:
Code:
    {
        if (GET_TEAM(getTeam()).isOpenBorders(eTradeTeam))
        {
            if (GET_TEAM(getTeam()).getAnyWarPlanCount(true) > 0)
            {
                return DENIAL_MYSTERY;
            }
        }

    }
So the AI is planning a war, for which it might need open borders with another civilisation, and so it doesn't want to stop trading with that civilisation. Smart!

But also, in CvTeamAI.cpp:
Code:
DenialTypes CvTeamAI::AI_techTrade(TechTypes eTech, TeamTypes eTeam) const
...
    for (iI = 0; iI < GC.getNumUnitInfos(); iI++)
    {
        if (isTechRequiredForUnit(eTech, ((UnitTypes)iI)))
        {
            if (isWorldUnitClass((UnitClassTypes)(GC.getUnitInfo((UnitTypes)iI).getUnitClassType())))
            {
                if (getUnitClassMaking((UnitClassTypes)(GC.getUnitInfo((UnitTypes)iI).getUnitClassType())) > 0)
                {
                    return DENIAL_MYSTERY;
                }
            }
        }
    }

    for (iI = 0; iI < GC.getNumBuildingInfos(); iI++)
    {
        if (isTechRequiredForBuilding(eTech, ((BuildingTypes)iI)))
        {
            if (isWorldWonderClass((BuildingClassTypes)(GC.getBuildingInfo((BuildingTypes)iI).getBuildingClassType())))
            {
                if (getBuildingClassMaking((BuildingClassTypes)(GC.getBuildingInfo((BuildingTypes)iI).getBuildingClassType())) > 0)
                {
                    return DENIAL_MYSTERY;
                }
            }
        }
    }

    for (iI = 0; iI < GC.getNumProjectInfos(); iI++)
    {
        if (GC.getProjectInfo((ProjectTypes)iI).getTechPrereq() == eTech)
        {
            if (isWorldProject((ProjectTypes)iI))
            {
                if (getProjectMaking((ProjectTypes)iI) > 0)
                {
                    return DENIAL_MYSTERY;
                }
            }
This seems to be about not selling a technology that would allow an opposing civilisation to build stronger units, wonders, or projects.

And later on:
Code:
DenialTypes CvTeamAI::AI_mapTrade(TeamTypes eTeam) const
...
if (GC.getGameINLINE().isOption(GAMEOPTION_RUTHLESS_AI))
    {
        if (AI_getWarPlan(eTeam) != NO_WARPLAN)
        {
            return DENIAL_MYSTERY;
        }
...
else if (bWarplans)
        {
            return DENIAL_MYSTERY;
        }
And this seems to say that, if we plan on going to war against someone, don't sell them our map.

A fun dive into files I normally never visit, thank you! :)
 
Last edited:
Ah ha, I didn't realise that this mod might change what exists in the basegame - thank you for pointing that out for me! And indeed, in CvPlayerAI: [...] So the AI is planning a war, for which it might need open borders with another civilisation, and so it doesn't want to stop trading with that civilisation. Smart!
Cool. :thumbsup: Someone just forgot to adjust the DENIAL_MYSTERY text (or to use a new or different type of denial). DENIAL_RECENT_CANCEL would work ("not right now, maybe we'll change our mind in a few years"). Though, in any case, this smart AI move gives away the AI war plan and rewards the human player for constantly checking the trade screen, so I'm not sold on this change.
Edit:
This seems to be about not selling a technology that would allow an opposing civilisation to build stronger units, wonders, or projects.
That's this:
when the tech would allow the recipient to compete for a wonder that the AI is currently constructing.
And it also applies to world projects and world units (if a mod adds those). So this part is as in BtS.
 
Last edited:
Is there a way to make all units of a stack appear by default instead of just one unit of the stack appearing when it is not selected?

1668479952629.png
 
What advice would you give to immortal players who struggle to beat deity?
1. Value every turn. Things like finding better first city placements (2:hammers: tiles aka plains hills, stone or marble). Getting fogbusters out instead of warriors or scouts running around curiously.
2. Diplo with AIs. Know which bonuses you can get (open borders, resources, gifts etc.), playing too proud and ignoring them can lead to pain ;)
 
What was the key combo to clear the notifications on top middle of the screen ?
 
"Civ4 hide city names"

Can I hide the city names in civ4? Not everything but just the city names.
 
1. Value every turn. Things like finding better first city placements (2:hammers: tiles aka plains hills, stone or marble). Getting fogbusters out instead of warriors or scouts running around curiously.
2. Diplo with AIs. Know which bonuses you can get (open borders, resources, gifts etc.), playing too proud and ignoring them can lead to pain ;)
"Getting fogbusters out instead of warriors or scouts running around curiously."

By that, you mean builds units more powerful than warriors to be more effective against barbarians when we send them out to places we haven't settled yet?
 
Top Bottom