Trade Agreements between Colonial Nations [ACCEPTED]

Does "Trade Agreements" sound like an intersting features.

  • Total voters


Civ4Col Modder
Jan 24, 2011
Stuttgart, Germany
The idea behind this is to allow some "more Diplomacy Trade" between Colonial Nations.

It should:
  • give an incentive to have more Diplomatic Interaction with other Europeans
  • be really easy to use and work without a lot of Micro-Management
  • not become an overpowered cash cow - but still be worth using it

To make it clear, I have no prototype or anything technical I could share for this yet.
It is also much more difficult and more effort than it may sound at first.

I am also not sure if at all or when I would be working on this. :dunno:
(There have always been more important todos until now - and currently I am taking a break.)

I am thus just sharing one of my oldest concept ideas.
(It is a simplified version of one of my old PTTT concepts, which I still have lying around in masses ... :()

So if somebody out there likes the idea, I would have no problem if he just takes this concept, maybe improves it and tries to implement it by himself.
So if you like it and want to implement something like this, go ahead. :thumbsup:



This complete feature is about "Diplomatic Agreements" and "Trading Goods for Domestic Market".
This concept explicitly tries to keep some things simple to reduce effort.

A) Diplomatic Agreements

To be able to acquire specific "Trade Agreements" you would need a general "Open Market" agreement first.
This will become possible after you have acquired "Open Borders" agreement.

AI will need to like you to accept this "Open Market" agreement.
If you start a War with that AI Player, "Open Market" agreement will of course be cancelled.
As consequence all specific "Trade Agreements" will be cancelled as well.

B) What will you trade for?

To make it as easy as possible, this will simply check for all Final Goods produced in your Cities.
(Goods that can be sold on Domestic Market. Nothing else.)

For simplification, let us imagine you play England and you trade with France.
(Via Diplomacy Menu)

So if e.g. Jamestown produces Coats you can offer "Coats from Jamestown" to French Player.
Once you have traded "Coats from Jamestown" it will not be available for trading anymore (with any nation).

If e.g. Quebec produces Rum, you can ask for "Rum from Quebec" in exchange.
Once "Rum from Quebec" was traded, AI will not be able to offer it again for trading anymore (with any nation).

If Quebec already produces Coats itself, AI will not accept that deal.
(You will also see that, because AI will have a "Coats from Quebec" in its offer list.)

The amounts you trade for will always be "max. 5" of the goods. (More about that later.)
You can only trade Goods for Goods. (Nothing else.)

C) What will happen then?

In Jamestown every turn Coats will be substracted from Storage and added to Storage in Quebec.
France pays 50% the Domestic Market Price (of Coats in Quebec) to England.
(So France will make a profit again selling the goods on Domestic Market in Quebec and make its Citizens happy.)

In Quebec every turn Rum will be substracted from Storage and added to Storage in Jamestown.
England pays 50% the Domestic Market Price (of Rum in Jamestown) to France.
(So England will make a profit again selling the goods on Domestic Market in Jamestown and make its Citizens happy.)

If Quebec has only 1 Rum in Storage, only 1 Rum will be transferred and payed for. (If it has 0, then 0.)
If Jamestown only has 1 Coat in Storage, only 1 Coat will be transferred and payed for. (If it has 0, then 0.)

If France or England do not have the Gold to pay the transaction, they will also not get Goods.
Again, as written above, the max. amount of goods transferred and payed for per "Trade Agreement" is 5.

Usually - if things work out - it is a "Win-Win" for both sides.
(Still not being overpowered though.)

D) How many "Trade Agreements" can you create per City?

Only Cities with a Market will be available for "Trade Agreements".
The limiting factor for the # of "Trade Agreements" (per City) will be the "Upgrade Level" of the Storage House of the City.
  • Storage House: 1 Trade Agreement
  • Warehouse: 2 Trade Agreements
  • Warehouse Expansion: 3 Trade Agreements
  • Custom House: 5 Trade Agreements
This would be XML configurable however.

E) How do you keep an Overview?

Well, a "Trade Agreement Screen" in "Foreign Advisor Screen" would surely help.
This should be possible to implement easily if we succeed implementing the rest.

Here we could also have an Option to manually cancel a "Trade Agreement" beween 2 Cities again.

F) Will there be any other complicated stuff?

No, otherwise performance could suffer.
It would also become too much effort.


Effects for Gameplay:

You could get rid of some of the Goods you have too much and instead get Goods where you do not have enough.
It is just a small incentive to have more Trade with other AIs. It may also make it a bit easier to satisfy your Domestic Market.

It is more of a "flavour feature" than really a game changer considering "strategy".
I still like the idea though ...


A lot of the logic (e.g. the exchange of Goods) is relatively simply. But this is still more difficult than it sounds.
There are a lot of technical challenges hidden in this concept.

It needs to be checked if a new "Trade Agreement" can be implemented at all in "Diplomacy Screen".
If not, maybe all of this could alternatively be implemented in "Trade Agreement Screen". (Python)

Thus the effort for this is really considerable.
This is not a "tiny feature" - even though for game play the effects are relatively limited.


Looking forward to feedback.
Last edited:
will the minimum quantity of goods that must remain in the warehouse during export to my other colonies be taken into account?

I guess you talk about Automated Trade Routes
Answer: No, it will not consider it.

Things will happen in this order / prioritization:

1. Trade Agreements Transactions (this concept)
2. Domestic Market Sales (sales internal to the city)
3. Anything else (e.g. Automated Trade Routes)
Last edited:
Will it be possible to customize the quantity of goods sold?
No, because I can not integrate such a UI into DLL-Trade-Screen.
(The max. amount will be configurable in XML, e.g. 5)

In UI of Trade Screen:
(max) 5 Cocoa from Quebec vs. (max) 5 Rum from Jamestown

If one side has only 1 of it available the actual transfer that turn will be:
1 Cocoa from Quebec vs. 1 Rum from Jamestown
  • If 0 is availabe (one one side) then 0 is transferred (for both sides).
  • If 1 is availabe (one one side) then 1 is transferred (for both sides).
  • If 2 is availabe (one one side) then 2 is transferred (for both sides).
  • If 3 is availabe (one one side) then 3 is transferred (for both sides).
  • If 4 is availabe (one one side) then 4 is transferred (for both sides).
  • If 5 is availabe (one one side) then 5 is transferred (for both sides).
It will try to create the largest transaction possible out of these.
But if there is less available, it will transfer less (for both sides.)
Alternatively the highest possible amount could simply be set by the Domestic Demand. :think:

So if e.g. we have
In UI of Trade Screen:
Cocoa from Quebec vs. Rum from Jamestown

Demand for Rum in Quebec = 10
Demand for Cocoa in Jamestown = 7

--> It will trade 7 in both directions.
7 Rum to Quebec and 7 Cocoa to Jamestown
I like the idea, but it looks like it's complicated to do and the effect would be relatively small in the game (you can just buy the required goods in Europe and stock up for sales in the domestic market when it's profitable), maybe this can be left on a low priority , while introducing other mechanisms into the game.
Top Bottom