is Morocco's UA a joke?

Status
Not open for further replies.
Morocco is very underwhelming and disappointing. They sounded good on paper and I was excited to play as them, but once I played them I realized all of their bonuses aren't as useful as you'd think. Without Petra, the Kasbah is basically a glorified fort. Rarely are you ever going to want to work a tile that only provides 1 food, 1 hammer, and 1 gold.

I sort of agree with the sentiment but disagree with the conclusion and how you get there. On one hand, lots of people who rave about Kasbah are really raving about how good Petra and Desert Folklore are with a desert start bias, not really about the improvement itself. And there's the fact that the yield of Kasbah-ing your tiles is no higher than farming and mining them in terms of gross number of food and hammers. However, that's only with the appropriate techs. Before mine yield improves, you're grossing an extra food per hill. Plus, given how powerful (and scarce compared to G&K) gold is, the fact that you're essentially getting a free trading post (pre-bonus) on top can't be ignored. And then you add golden age gold bonuses on top of that, since flood plains are now 0-gold by default. Even without Petra or Desert Folklore, that makes for really powerful tiles.

Oh, and it gives a defensive bonus, for what it's worth. :crazyeye:

So yes, you're correct that Kasbah doesn't make non-Petra, non-hill, non-irrigated desert worth working on its own, but that's 100% the wrong way to look at it.
 
personally I liked the Kasbah. I had a city with tons of flood plains and no hammers...would have been useless without Kasbahs. Plus a couple extra on hills. It's not a huge bonus but decent.
 
While it appears that people have found parts of the code supporting this, in practice it seems meaningless in a game where you can play as any civ and have exactly the same experience of international peace.

We did not find it, we looked for it and analyzed it. I am truly sorry and honestly apologize if that ruined your anecdotes. I personally prefer to debate on the basis of hard, grounded evidence, and not on the basis of hearsay.

My apologies.
 
We did not find it, we looked for it and analyzed it. I am truly sorry and honestly apologize if that ruined your anecdotes. I personally prefer to debate on the basis of hard, grounded evidence, and not on the basis of hearsay.

My apologies.

You couldn't analyse it if you hadn't found it...?

Looking at what the code says, it appears to set a condition that - if cancelling trade would send an AI into negative gpt - that AI would be unlikely to declare war. If it would send the AI into the red, it would have a modifier making it more likely to declare war.

There are very few circumstances in most of the game where a situation would arise in which an extra 2 gpt would make the difference between positive and negative income, and the Moroccan player can't control who opens trade routes with them. Nothing in the code sections provided specifies the conditions the AI uses when choosing whether to set up a trade (which, indeed, gets back to a point I made that EIC or Petra cities do not appear to be preferred in practice), or indicates whether a civ that is predisposed to be hostile towards you is less likely to set up trade routes to begin with.

Apologies for interrupting the speculation you appear so proud of with a pedantic insistence on evidence, but I do wonder whether the tests you suggested to evaluate how the code applies in practice have been conducted.

The code is telling you something very specific, which you can't extrapolate anything like as wildly as you appear to want - it tells you that, in the absence of other context, a civ is more likely to declare war if the loss of trade won't lead to negative gpt (presuming accurate interpretation of the key "sanity check" design note which appears to have been the subject of more "analysis" than the actual code).

Like anything else in the code, this can't be evaluated to determine its practical effect in different game situations (such as playing Morocco vs. not playing Morocco, number and distribution of trading partners, the strength of any effect with more vs. less aggressive civs, and general levels of gpt with and without trade) without performing multiple replicated experiments - i.e. multiple playthroughs with comparable control and test conditions.

I conceded from the start that anecdotal evidence is just that, however a pretty hypothesis with no experimental evidence at all is valueless.
 
You couldn't analyse it if you hadn't found it...?

Looking at what the code says, it appears to set a condition that - if cancelling trade would send an AI into negative gpt - that AI would be unlikely to declare war. If it would send the AI into the red, it would have a modifier making it more likely to declare war.

There are very few circumstances in most of the game where a situation would arise in which an extra 2 gpt would make the difference between positive and negative income, and the Moroccan player can't control who opens trade routes with them. Nothing in the code sections provided specifies the conditions the AI uses when choosing whether to set up a trade (which, indeed, gets back to a point I made that EIC or Petra cities do not appear to be preferred in practice), or indicates whether a civ that is predisposed to be hostile towards you is less likely to set up trade routes to begin with.

Apologies for interrupting the speculation you appear so proud of with a pedantic insistence on evidence, but I do wonder whether the tests you suggested to evaluate how the code applies in practice have been conducted.

The code is telling you something very specific, which you can't extrapolate anything like as wildly as you appear to want - it tells you that, in the absence of other context, a civ is more likely to declare war if the loss of trade won't lead to negative gpt (presuming accurate interpretation of the key "sanity check" design note which appears to have been the subject of more "analysis" than the actual code).

Like anything else in the code, this can't be evaluated to determine its practical effect in different game situations (such as playing Morocco vs. not playing Morocco, number and distribution of trading partners, the strength of any effect with more vs. less aggressive civs, and general levels of gpt with and without trade) without performing multiple replicated experiments - i.e. multiple playthroughs with comparable control and test conditions.

I conceded from the start that anecdotal evidence is just that, however a pretty hypothesis with no experimental evidence at all is valueless.

Obviously you did not understand anything from the code, yet you try to drive (incorrect) conclusions. I am not here to convince you, nor anyone else. I dug into the code, which is not easy, to try and help stopping senseless ranting and speculation, which is far more and better evidence than just speculating and claiming that one's experience is THE experience. Pedantic? Hmmm...

Please try and understand what that little piece of code is doing, because you have it completely wrong; even better, try to look into the entire file, and the others, and try and put the pieces together, and then try to understand why some things are being observed. Please do not forget this is a piece of software, and it does what the code tells it to do. If you cannot understand that, well, then I cannot help you. I tried to explain it myself, and from what I saw, many people sharing opinions in the other thread seemed to have understood the explanation, so it is hard for me to assume responsibility of YOUR misunderstanding. Maybe you could go over it again?
 
.....

Looking at what the code says, it appears to set a condition that - if cancelling trade would send an AI into negative gpt - that AI would be unlikely to declare war. If it would send the AI into the red, it would have a modifier making it more likely to declare war.
.......

So u agree with my original statement, that being the +2 gold to trade routes sent to Morocco will have a affect on the ai decision to declare war.
 
So u agree with my original statement, that being the +2 gold to trade routes sent to Morocco will have a affect on the ai decision to declare war.

No, and this is exactly the point. The code is saying nothing at all about Morocco. It is doing nothing more than setting out conditions under which an AI will factor economic considerations into a declaration of war. There may be hypothetical situations in which the gold an AI is receiving from the Moroccan UA will affect that decision, but in practical terms these will be rare if they occur at all, and more importantly are wholly outside the Moroccan player's control. My key point - that you can't evaluate the value of the Moroccan UA based on a possibly illusory diplomatic modifier - remains.

Aristos is quite right that a grounding is needed to prevent speculation, and the code is a good baseline for that. Where he's gone wrong is in assuming that, because he has that baseline, anything he extrapolates from it is evidence-based, when in this case his extrapolations have landed him back squarely in the field of speculation. As for a program only doing what the code tells it, sure, but you can't understand its behaviour from that any more than you can understand a species' behaviour by analysing its DNA.

Or, to take a closer analogy such as scientific modelling, if you could determine exactly what result you'll get just by looking at the code for the model you've created, without applying it to any data or running any replicates, there would never be any need to do any actual modelling. Fundamentally, the game code is a model and any given game is a single replicate that inputs certain data (specific civs and map layouts) on which it runs the model. Simply, you can't argue anything based on the model alone without running it through the data.

I'm reminded of a cautionary tale from one of my professors back at university: a doctoral student working on dragonflies, who had a whole raft of theoretical research on the subject behind him and then came across the amazing phenomenon of "two-headed dragonflies" that he only spotted over ponds at certain times of year, and he was full of enthusiasm for investigating this topic. ... Right up until someone in his audience asked him if he knew how dragonflies reproduce.

The relevant section of the code Aristos copied to the other thread states:

int iDeltaGPT = iGPT - iCurrentTradeValue;
if (iGPT >= 0 && (iDeltaGPT < 0))
{
viApproachWeights[MAJOR_CIV_APPROACH_WAR] += iDeltaGPT;

i.e., for a given player, check whether the change in gold income from losing trade with that player (iCurrentTradeValue, defined in an earlier section of the code, and modified by various context-dependent modifiers related to AI personality and relationship status) will result in gpt income falling below 0, when it was previously equal to or above 0 (iGPT>=0). If so, the code then adds a penalty that increases the chance of declaring war.

I specify this in detail here, because the original thread Aristos posted goes into some detail discussing the explanatory note the designers added, but not the actual code section itself which says the same thing.

This is general code, and whether or not it will apply to Morocco in any given context is wholly dependent on whether the civ in question is trading with Morocco at all, and to what extent, as well as other factors outside the Moroccan player's control - i.e. the actual gpt being generated by that civ and the relevance of trade to it. None of these can be derived from the code, nor can the probability of Morocco's UA affecting diplomatic relations. From this specific section of code, it's also not possible to determine the likelihood of a civ setting up a trade route with a Moroccan city in the first place, although the algorithms containing this will be elsewhere in the code.
 
So, your argument hinges on the AI not rationally deciding who to send trade routes to? I highly doubt Firaxis did much more than "who gives the most gold?" The very UA itself suggests that the intention it to draw in trade routes, and somehow Firaxis neglected to code the AI to take advantage of that? I don't buy it.

I suppose we'll have to wait until someone reveals more of the relevant bits of code. All I can say, is that at this point, after several games as Morroco, it would be incredibly surprising to learn that their UA doesn't have a dramatic effect overall.
 
i.e., for a given player, check whether the change in gold income from losing trade with that player (iCurrentTradeValue, defined in an earlier section of the code, and modified by various context-dependent modifiers related to AI personality and relationship status) will result in gpt income falling below 0, when it was previously equal to or above 0 (iGPT>=0). If so, the code then adds a penalty that increases the chance of declaring war.

The code implies that the chance of war is decreased. iDeltaGPT must be negative (< 0), so that code is adding a negative value, thus decreasing whatever is stored in viApproachWeights[MAJOR_CIV_APPROACH_WAR].
 
With regards to Morocco, eh. I never had more than 5-6 incoming trade routes in my game (Immortal, Continents, Standard, Standard). That's 12gpt + 27gpt (outgoing trade routes) in the late game, which isn't spectacular. The 9 culture per turn is weak, too. The arguments about the AI being less likely to declare war don't matter. As far as I can tell from three games now, the AI pretty much never declares war until the Industrial Era and by then I'm prepared for it, no matter how much time I spend building wonders and whatnot in the early game.

The Berber Cavalry and Kasbah are great, though!
 
With regards to Morocco, eh. I never had more than 5-6 incoming trade routes in my game (Immortal, Continents, Standard, Standard). That's 12gpt + 27gpt (outgoing trade routes) in the late game, which isn't spectacular. The 9 culture per turn is weak, too. The arguments about the AI being less likely to declare war don't matter. As far as I can tell from three games now, the AI pretty much never declares war until the Industrial Era and by then I'm prepared for it, no matter how much time I spend building wonders and whatnot in the early game.

The Berber Cavalry and Kasbah are great, though!

Why does everyone ignore the obvious science benefits? I don't get it. The main benefit is the fact that you rocket ahead of everyone else in the early science game. Perhaps not ahead of Immortal AI's, but still a significant advantage.

As for war, I have been DoW'd many times after playing a few BNW games as other civs than Morocco. I play on Emp, not Immortal, so idk what to tell you.
 
I think Morocco is generally weak. The UA looks powerful, but in practice doesn't pan out. It takes too long to establish stable trade routes for the +1 culture to be powerful, and the gold benefits become pretty marginal by the Renaissance Era. The trade routes from other civs just don't add up to be enough, and are situational benefits as well (one or two DoWs kills any real benefits).

The Kasbah/Petra/DF combo is solid for the capital city, but the Kasbah itself I think is marginal for other cities. It turns useless tiles into slightly below average tiles, and by the late game, you could be just as well served by a TP or mine. The defensive bonus is again situational. Compared to other UI, it is merely average at best.

Berber Cavalry are a schizophrenic unit IMO: an offensive mounted unit with a couple of defensive bonuses (since Morocco has the desert start bias, the desert bonus probably only comes in your own territory). A couple can be used as a nice deterrent against surprise attacks. They aren't much more useful than regular cavalry in an offensive war.

I had high hopes for Morocco going in, but in practice I've found them to be a below average civ. Especially if you're forced to do any significant fighting in the early game that disrupts early trade routes.
 
Why does everyone ignore the obvious science benefits? I don't get it. The main benefit is the fact that you rocket ahead of everyone else in the early science game. Perhaps not ahead of Immortal AI's, but still a significant advantage.

Because the Science bonus is tiny and it would exist regardless of whether I was playing as Morocco. In fact, I probably had a lower Science bonus as Morocco than I would have otherwise because the UA encourages sending some trade routes to city-states because there aren't enough AI players within range for the first half of the game.

As for war, I have been DoW'd many times after playing a few BNW games as other civs than Morocco. I play on Emp, not Immortal, so idk what to tell you.

Eh, lucky you. I've played much more aggressively in BNW than I ever did in G&K. I build almost no military in the early game, I forward settle on warmongering-flavored AIs, and I ignore critical techs to get wonders that I want (e.g. Petra), but still every AI loves me and wants a Declaration of Friendship. It seems like any AI that hasn't chosen the domination victory condition as their goal doesn't care for war.
 
Because the Science bonus is tiny and it would exist regardless of whether I was playing as Morocco. In fact, I probably had a lower Science bonus as Morocco than I would have otherwise because the UA encourages sending some trade routes to city-states because there aren't enough AI players within range for the first half of the game.



Eh, lucky you. I've played much more aggressively in BNW than I ever did in G&K. I build almost no military in the early game, I forward settle on warmongering-flavored AIs, and I ignore critical techs to get wonders that I want (e.g. Petra), but still every AI loves me and wants a Declaration of Friendship. It seems like any AI that hasn't chosen the domination victory condition as their goal doesn't care for war.

That's why you build roads along trade routes to clusters of civs. They will begin sending you more trade routes when your lucrative cities are in range of theirs (or beeline harbors). You can't just play Morocco like you would any other civ; it literally relies on the AI to make good of its UA. I think that's the problem most people have. They play CiV as a domination/war game, not a game with many possibilities.
 
So, your argument hinges on the AI not rationally deciding who to send trade routes to? I highly doubt Firaxis did much more than "who gives the most gold?" The very UA itself suggests that the intention it to draw in trade routes, and somehow Firaxis neglected to code the AI to take advantage of that? I don't buy it.

No, that's not the point at all. The point is that the effect triggers only if two conditions are met: if the AI would lose income, AND (the && operator) if the AI's GPT following that change would be 0 or below. The change in GPT from losing a trade route will always be negative, with Morocco or any other civ, so that's immaterial. The only effect the Moroccan UA has in that regard is that, if GPT is below 0, the change in GPT will be slightly more strongly negative (by -2 per trade route, no less). The key issue is that the likelihood of war will only change if the AI also has an income of 0 or less following loss of that trade. In practice, this will rarely be the case..

I suppose we'll have to wait until someone reveals more of the relevant bits of code. All I can say, is that at this point, after several games as Morroco, it would be incredibly surprising to learn that their UA doesn't have a dramatic effect overall.

It's precisely these tests that are needed to evaluate the effectiveness of the UA, not the code, for the reasons I noted. Inferring a result from the code used to devise a model, without the data itself, is a spurious exercise.

My own experience is that it makes no difference at all, and simply checking the AI's GPT at any given point with the gold it's likely to be getting from trade routes with me as Morocco. As I've noted a couple of times, it's anecdotal, but it is at least inference from some available data.

The code implies that the chance of war is decreased. iDeltaGPT must be negative (< 0), so that code is adding a negative value, thus decreasing whatever is stored in viApproachWeights[MAJOR_CIV_APPROACH_WAR].

Ah, good catch - I was thinking of the value of ideltaGPT as a straight value rather than the result of a subtraction. As above, however, the actual effect of meeting the condition is aside from the point I'm making, since that point is that the condition will very rarely be met to begin with - more specifically, that whether or not the condition is met is not likely to depend on +2gpt per trade route with Morocco.
 
That's why you build roads along trade routes to clusters of civs. They will begin sending you more trade routes when your lucrative cities are in range of theirs (or beeline harbors). You can't just play Morocco like you would any other civ; it literally relies on the AI to make good of its UA. I think that's the problem most people have. They play CiV as a domination/war game, not a game with many possibilities.

So I'm supposed to spend some large amount of gold on roads early in the game to get my caravans traveling further? Wouldn't that put a rather large dent into the increased income that I might get from trade routes? Even at the end of the game, when I had all of the possible range modifiers, I was still only getting 6 incoming trade routes, 4 of which were land routes from my neighbor (The Huns) at 5g each (+2). The other two were from across the ocean at 10g each (+2). That's not really any more than I was getting as Poland in my previous game.

Early in the game, there's just no way to get trade routes across the ocean until Astronomy, so you're stuck with 3-4 neighbors to make use of your trade routes. Which is fine, I suppose, since you'll only have a few routes available anyway. But you aren't going to get any kind of awesome Science boost. And since the AI doesn't seem to prioritize trade route extenders, there isn't too much that you can do to get extra incoming routes early.
 
No, that's not the point at all. The point is that the effect triggers only if two conditions are met: if the AI would lose income, AND (the && operator) if the AI's GPT following that change would be 0 or below. The change in GPT from losing a trade route will always be negative, with Morocco or any other civ, so that's immaterial. The only effect the Moroccan UA has in that regard is that, if GPT is below 0, the change in GPT will be slightly more strongly negative (by -2 per trade route, no less). The key issue is that the likelihood of war will only change if the AI also has an income of 0 or less following loss of that trade. In practice, this will rarely be the case..



It's precisely these tests that are needed to evaluate the effectiveness of the UA, not the code, for the reasons I noted. Inferring a result from the code used to devise a model, without the data itself, is a spurious exercise.

My own experience is that it makes no difference at all, and simply checking the AI's GPT at any given point with the gold it's likely to be getting from trade routes with me as Morocco. As I've noted a couple of times, it's anecdotal, but it is at least inference from some available data.

No, the key issues are thus: If you're Morocco, you've got a numerical advantage over other potential trade partners. Thus each AI is more likely to have given you multiple TRs (making the cost of war with you much higher than other civs). So, no, again, the paltry sums of gold/culture from the UA aren't the real benefit.

I have anecdotes of my own going in the exact opposite direction, though, so we only have the code to rely on, and right now, it heavily favors the argument I'm making. Not that I'm the only one.
 
So I'm supposed to spend some large amount of gold on roads early in the game to get my caravans traveling further? Wouldn't that put a rather large dent into the increased income that I might get from trade routes? Even at the end of the game, when I had all of the possible range modifiers, I was still only getting 6 incoming trade routes, 4 of which were land routes from my neighbor (The Huns) at 5g each (+2). The other two were from across the ocean at 10g each (+2). That's not really any more than I was getting as Poland in my previous game.

Early in the game, there's just no way to get trade routes across the ocean until Astronomy, so you're stuck with 3-4 neighbors to make use of your trade routes. Which is fine, I suppose, since you'll only have a few routes available anyway. But you aren't going to get any kind of awesome Science boost. And since the AI doesn't seem to prioritize trade route extenders, there isn't too much that you can do to get extra incoming routes early.

If you've never tried it, how can you know? I've done it successfully many times now. The roads also allow you to defend routes easier, meaning you don't lose a large sum of gold each time some random barb comes along to plunder. The roads later become invasion routes that are highly effective.

Don't disregard something out right just because it doesn't seem plausible. Some of the best strategies are obscure and don't make a lot of sense at first glance.


Edit: also, the goal of the trade road is to diversify trade partners to maximize science gain. Having most of your trade from one AI simply equalizes you over time. Not the intended goal.
 
If you've never tried it, how can you know? I've done it successfully many times now. The roads also allow you to defend routes easier, meaning you don't lose a large sum of gold each time some random barb comes along to plunder. The roads later become invasion routes that are highly effective.

Don't disregard something out right just because it doesn't seem plausible. Some of the best strategies are obscure and don't make a lot of sense at first glance.


Edit: also, the goal of the trade road is to diversify trade partners to maximize science gain. Having most of your trade from one AI simply equalizes you over time. Not the intended goal.

Let's think about this for a moment.

In my Morocco game, I had three neighbors on my continent: China, The Huns, and Japan. Of them, I could easily reach China. With some investment in Caravansaries and techs, I could also reach The Huns. Japan wasn't possible to reach via land routes even at the end of the game, but I could reach them with a sea route. The other four civilizations were separated from me by ocean and thus weren't accessible until Astronomy.

Now, I started behind in tech (Immortal) and let myself fall ever further behind (~10%) so that I could get Petra. Even in this situation, the best Science return that I saw on a trade route was 5 (to China). The other two civilizations seem to have taken some of the same techs that I did, so they offered only 3 Science each. I went right for Petra, so I actually only had one trade route for some time (from Animal Husbandry) and that went to China. Early, 5 Science is pretty good. But 5 Science is what any other civilization would also get.

Before Astronomy, with Petra, I had five trade routes. I only had three civilizations to trade with, so the other two went to city-states to take advantage of the UA. Thus, those two generated no Science. So far, we're at 5+3+3=11 Science as I enter the Renaissance Era. Again, that's what any other civilization would have. With the Morocco UA, I'm also getting an extra 15gpt and 5cpt for these routes, which isn't fantastic even at this early stage of the game. In fact, it's quite weak.

Now, let's say that each of my three neighbors also has four trade routes available before Astronomy. If all three of those neighbors could reach my cities and decided to send every single trade route my way, then I'd get an extra 24gpt from them. If we stick with the 5/3/3 Science breakdown from the previous paragraph, then I'd also be getting 20+12+12=42 Science from them. That's pretty good, but this analysis is flawed. In reality,

1. The AI aren't all going to send every trade route to me.
2. The AI aren't going to prioritize trade routes and actually have the techs and range enhancers to send four routes each to me.
3. A non-Moroccan player would get some trade routes from the AI.

What really matters is how many extra trade routes I'm getting from the AI that I would not get as a non-Moroccan player. In my experience, that number is precisely zero. The number of trade routes that I receive, pre- and post-Astronomy does not seem to be any different than the number of trade routes that I received as France or Poland when I played them. Therefore, there is no Science advantage for Morocco. (I'm not considering post-Astronomy trade because at that point, the Science bonuses tend to be small (0-2) and their relative strength is significantly less, anyway.)

And no, building a bunch of roads isn't going to fix this problem. The AI, like the player, also wants to diversify trade and thus still isn't likely to send me every caravan and cargo ship that he has, even if I build roads. Even if the AI did see my routes as better than the alternatives, the reality is that there are too few caravans and cargo ships available early when the bonus would matter most.

I could see Morocco being rather powerful on a Pangea map in which he starts near the center and can thus trade with most of the other civs. But otherwise, the UA is just very weak.
 
Status
Not open for further replies.
Top Bottom