territory is not tiled to CC's, classical approach would be to have a minimal distance to next building (like CC,fort and tower) ------------------------------------------------------------------------------------------------------------- Here is yet another approach. Basic idea in short: More traders on one tradeline makes less profit per trip. This makes it more attractive to trade all around the map. No hard limits, but smooth transitions. Lets assume you got a team of 3 players in a rectangular triangle (Germany, France, Turkey). In the old trade mechanic you would send all traders along the hypotenuse (France - Turkey). old and kept: Basic Ideas: -The more Traders you got, the higher the profit. -The further the distance between 2 markets, the higher the profit. Explanation behind it (afk): The product variety is gains with the distance. (Oranges - Tangerines - Lemons ... - Apples). Explanation in game: The longer the trade line, the more risk on the route. You need more map control and are easier to invade. Its unrealistic that trade is only happening between France and Turkey. Whats missing is inflation. new Basic Idea: competition between traders on a route. -The higher the trade frequency to a specific region, the less gain per trip. Explanation: Trader Bob arrives in Turkey and comes from France. Just seconds ago there where already 4 traders from France. So Bob should get less barter efficiency for his product. Mathematic relation: if(Time_the_last_trader_was_here > 15seconds) Time_the_last_trader_was_here = 15seconds; #limiter Gain= DistanceToOriginmarket*Time_the_last_trader_was_here *arbitrary_Faktor; Difference in products (tangerines and oranges) A easy idea now would be, just put 2 markets to France and Turkey. This can be prevented, by av93's mentioned method above, but i would do it differently. new Basic Idea: Market competition. -The frequency of other traders from other regions affects the profit negative, but less with increasing distance to the competitor. Explanation: Bob arrives in turkey with tangerines from France. Turkey already bought a lot of oranges from Germany recently and is not really interested in tangerines and Bob don't get much profit. At least bob didn't came with oranges, the profit would be even worse. Mathematic relation: Relative_Distance_1 = distance_origin_destination/distance_origin_competitor_1; #put competitor in relation if(distance_origin_destination > distance_origin_competitor_1) Relative_Distance_1 = 1; Time_the_last_trader_was_here_replacement = 1/ ( 1/Time_the_last_trader_was_here_from_origin + (1-Relative_Distance_1)/Time_the_last_trader_was_here_from_competitor_1); Gain= distance_origin_destination*Time_the_last_trader_was_here_replacement *arbitrary_Faktor; The code would be a bit harder, since you have to keep track who came when from where. I hope i could explain my self good enough. end of this approach ------------------------------------------------------------------------------------------------------------- btw: Tradeing on sea is already limited by the size of the boats. If you spam too much Boats, they start to block each other. Building effect on traders: I like this one: The traders inside a radius near this buildings could have a different walk speed.