Suggestions and Requests

Suriname is a historically significant location for the Sugar resource, so how come there isn't one in the area?
 
:dunno:
 

Well I was reading the above guy's input about the Dutch civilization and then I remembered how there's literally no sugar in the Caribbean coast of South America even though the Dutch utilized Suriname as their sugar colony from which they obtained cane that they processed on the mainland. It was such a significant part of their economy that, when England conquered New Holland in the Second Anglo-Dutch War, the Dutch declined exchanging Suriname for their claim on the (at the time) marginally productive modern New York area. https://en.wikipedia.org/wiki/Treaty_of_Breda_(1667)
 
I agree, I just could not answer your question.
 
(And I also can't wait for the time where circumstantial flavor minors are possible.)

The search revealed this is the first time you mention those (at least in this thread). What are these about?
 
Thank you very much for modding this game and keeping improving it.

Welcome to forums :xmastree::santa2::xmascheers::newyear::xmassign:

I can see that you really like our Spoiler button. The thing is -- many of us read a lot of posts and clicking so many times just to discover short line of text was a little taxing. Just my few guilders.

Spoiler :
:c5gold: :c5gold:
 
The search revealed this is the first time you mention those (at least in this thread). What are these about?
I don't think I have used that term before, but I liked it and it's fitting.

Basically the idea is that as soon civilizations are untied from slots, there is no reason to only use a limited set of generic independents in the game. If there are free slots not taken up by major civs, you could use some of those slots to represent independents by "actual" civs. The emergence of these civs could also depend on where the human player is active because it is mostly a flavor feature. For example, if you're playing England Edinburgh could be controlled by an actual Scottish civ. Of course the feature would be optional to save resources of players with weaker machines. But I expect this to be an easy to create feature as soon as the groundwork has been done.
 
Ooh, does this mean stuff like Kievan Rus, Teutonic Order, Genoan Republic, Kingdom of Naples, Crimean Khanate etc?
 
Have we discussed including minor religions ? The mechanism in RFCA is quite nice in this regard. Nestorian Christianity, Sikhism, Jainism, Judaisim and Shinto are very relevant as minor religions and even Hellenism in the early game which would disappear in time.
 
Ooh, does this mean stuff like Kievan Rus, Teutonic Order, Genoan Republic, Kingdom of Naples, Crimean Khanate etc?
For example.
 
I played the "Rise of Mankind a new Dawn-Mod" for the first time this week and think their concept for trade routes is very interesting. It's a drastic change (and probably a lot of programming work), but could be an interesting feature for future DoC versions.

I just copy a statement from one of the mods authors to speak for the change:

Trade Routes are gone. I keep meaning to write a civilopedia article on it, but basically it has been replaced with a much simpler concept.

Instead of trade routes, you have connected cities. This is what is shown where trade routes used to be, in the top left of the city screen. Certain buildings give commerce from having connected cities. Certain civics may increase or decrease the commerce from connected cities. Connectedness is similar to trade routes in that you must have a path (either road or ocean) to have the game consider a city connected. But the differences are that by default, you earn nothing from connected cities, and certain buildings provide a flat :commerce: bonus. See the port building for an example of this.

I wrote up a lengthy rationale for the change many months ago, but the distilled version is this: Trade Routes were hard to understand, it was impossible to predict the effects, and finally, bad for game performance in the late game. This trifecta, of complexity, unpredictability, and slowness caused us to look into a system to replace Trade Routes. Connected Cities is this system. In contrast, connected cities are easy to understand, as connected cities are listed in your city screen (and paths are pretty obvious to see visually), easy to predict the effects, as long as you are capable of counting, and simple to calculate.


Happy Christmas! :)
 
Actually, I don't quite see the difference between that and the current system.
 
Possible differences as stated from Afforeress (the mods author):

Slowness caused: I can't tell how much trade route calculations drain on CPUs. I am sure you are better informed if this would have an impact on turn times especially in late game.

Unpredictability and Complexity: Even as someone who plays Civ4 now for nearly ten years more or less regularly, I cant' really say how trade route gains are calculated and always have to guess how much +50% trade route yield adds or how much mercantilism drains on my economy.
The system without TRs is definitely easier to understand and it's effect are easy to see.

Gameplaywise it feels less abstract. You build a port or a road network (as building), you gain something for it. You have a lot of ressources in the city, so trade is better. Vanilla system is just found a city and magically (a lot of) commerce appears out of thin air.
 
No, I mean I don't even understand what connected cities means. Currently cities are connected by trade routes. So what is the difference?
 
Connected city is just a city that has a connection to another via roads or rivers/coast (with sailing) as in vanilla.

In RoM-AND (Rise of Mankind - A new Dawn) this does not generate any commerce automatically. There are no trade routes, just a list of connected cities, foreign and domestic.
But you can receive commerce with the right buildings.

Example:
A tavern generates +1 commerce per every three connected domestic cities (up to a limit of three commerce).

A port adds 4+x commerce, depending on number of domestic cities and gets a further bonus for every seafood and some luxuries in its vicinity and so on.

So you don't get commerce just for founding the city, which magically creates trade routes with an obscure system and obscure revenues, but you gain commerce fitting for the infrastructure and ressources of the city. Easy to see how the numbers are calculated.:)
 
Okay, that makes sense. But aren't you generally connected to every city in the world?

And the connection calculation is what is computationally expensive afaik.
 
Okay, that makes sense. But aren't you generally connected to every city in the world?

And the connection calculation is what is computationally expensive afaik.

There was a lot of discussion on this in the AND forum. Part of the problem with trade routes as they are is that the game tries to calculate the most profitable trade routes every turn. To pull another quote from Afforess:
To calculate trade routes for the entire game:

Loop over each player,
- Then Loop over each city "X" a player owns
- - - Then loop over each player,
- - - - - Then loop over each city each player owns,
- - - - - - - Check if the city is connected to city X (above) and save it as a potential trade route
- - - - - - - Loop over the number of trade routes possible for our city and find the best

The deepest most nesting of loops (iterations) is 5, hence N^5. That means with 10 players and 10 cities per player, in 1 turn, the game must calculate 10 ^ 5 (100000) statements just for trade routes.

In a game with 50 players and an average of 25 cities per player on a gigantic map, this becomes 50 * 25 * 50 * 25 * 12 (18750000). That is a lot. Per turn.

To reduce the amount of performance impact trade routes cause, you must reduce the number of nested iterations. Tweaking the logic will not produce any gains. The exponent factor with nested iterations creates huge results even with small numbers.
If I remember correctly, the city connections cut down on the number of nested loops. Now that certainly isn't the only way to do that. There was also a lot of discussion on how to take the existing mechanic and improve it.

I think one of the other benefits of the city connections mechanic is that it provided a more stable income. Trade routes can fluctuate quite a bit from turn to turn since every possible city-city route can have a different value. Every turn the game checks for the best combination, given the limited number of trade routes/city. With city connections, the game just counts how many cites are connected. You won't get different yields from being connected to different cities. The only difference is domestic vs foreign. The actual yields are provided by buildings that give X gold/connected city up to a max.

Also cities are only connected to all other cities in the late game. First you need to get roads up, and have sailing for coastal trade and then Astronomy for ocean trade. You also need to explore the map, since I'm pretty sure you can't be connected to city that's still unrevealed.

I quite like the mechanic in AND, but I don't know if it would work in DoC. The two mods play very differently. One of the most relevant differences is that AND has much larger maps and much slower game speeds available and is in general a much slower game than DoC.
 
Originally Posted by Afforess View Post

To calculate trade routes for the entire game:

Loop over each player,
- Then Loop over each city "X" a player owns
- - - Then loop over each player,
- - - - - Then loop over each city each player owns,
- - - - - - - Check if the city is connected to city X (above) and save it as a potential trade route
- - - - - - - Loop over the number of trade routes possible for our city and find the best

The deepest most nesting of loops (iterations) is 5, hence N^5. That means with 10 players and 10 cities per player, in 1 turn, the game must calculate 10 ^ 5 (100000) statements just for trade routes.

In a game with 50 players and an average of 25 cities per player on a gigantic map, this becomes 50 * 25 * 50 * 25 * 12 (18750000). That is a lot. Per turn.

To reduce the amount of performance impact trade routes cause, you must reduce the number of nested iterations. Tweaking the logic will not produce any gains. The exponent factor with nested iterations creates huge results even with small numbers.

... this is really a lot and bad style programming. It is faster to:

Loop over each city (n)
- Loop over all cities beginning at n+1
- get the owner of the city and do what must be done
 
... this is really a lot and bad style programming. It is faster to:

Loop over each city (n)
- Loop over all cities beginning at n+1
- get the owner of the city and do what must be done

IIRC, if a trade route from city A to city B is the best, it doesn't necessarily mean that a trade route from B to A is too. So the n+1 loop should be a loop through all cities. (Except itself ofcourse)
 
Back
Top Bottom