Diplomacy
There are four main weakness with Civilisation diplomacy: pushing diplomat units around the map; asymmetry; lack of options; and reputation model.
No pushing units
Diplomacy should be entirely controlled by dialogue screens, not pushing units around the map.
Relationship
Between every civilisation there should be a relationship value on a scale of 1-1000. So for a two civilisation game there is one relationship; for a three civilisation game there are three relationships; for a four civilisation game there are six relationships; etc.This follows the triangular number formula Tn = n(n-1)/2. Given that the world currently has 193 internationally recognised sovereign states, the number of relationships is 18,528.
For the relationship value there are three bands: hostile; neutral; and cordial.
Civilizations cannot directly change the relationship value, but can only do so via their actions. Where Civilization A acts on Civilization B, it not only affects its relationship with Civilization B, but also any other civilizations that have a non-neutral relationship with Civilization B. The table below explains:
Non-banding method
An alternative to the hostile/neutral/cordial bands described above would work as follows: A acts on B negatively. The A-B relationship is detrimented. The A-C relationship is impact adversely is the act is in excess of C's negative attitude to B.
So, if C dislikes B a little bit, and A does a small negative action, then the A-C relationship is unaffected. However, if C dislikes B a little bit and A does a large negative action, then the A-C relationship is affected.
This method is more granular than the banding method described above, but works on the same principles.
Aggressive actions
Spying (being caught)
Industrial sabotage (being caught)
Declaring war
Blocking trade
Piracy
Reject truce/peace treaty/alliance
Dissolve truce/peace treaty/alliance
Demanding tribute (gold, annuity of gold, land, technology, map, unit, etc)
Condemning action
Breaking treaty (e.g. military incursion)
Reject trade agreement
Reject gift
Reject offer of military assistance
Not endorsing
Rejecting demand of a Civilization to declare war on another Civilization
Withhold tribute (where tribute commitment exists)
Demand state accepts suzerainty (i.e. become a vassal)
Reject demand of suzerainty
Reject suzerainty
Friendly actions
Offer gift
Offer military assistance
Offer truce/peace treaty/alliance
Offer trade agreement
Praising action
Not condemning
Special cases
Demanding that a Civilization declare war on another Civilisation - has a negative impact on all non-neutral relationships.
(There is no need for the functionality of "Offer to declare war on another Civilisation" as the benefit to the relationship of declaring war on a third party that is in a hostile relationship with the Civilization that you're in a relationship with is already modelled).
Endorse and Condemnation
For every action committed by a country, every other country has the option to endorse, condemn or remain silent. However, even remaining silent will impact on the relationships, although to a lesser extent.
For example, Country A offers a trade agreement with Country B. Country B accepts. Country C can endorse Country A's offer and/or Country B's acceptance.
For example. Country A breaks a peace treaty with Country B. Country C can condemn Country A's action.
It may be worth differentiating between actions that are private and those that are diplomatic incidents, such that players are not obliged to chose between endorse/condemn/remain silent for every diplomatic act.
Note: you cannot endorse or condemn endorsement or condemnation
Moral of the story
The moral of the relationship model is that you need to be pretty damn powerful to act unilaterally.
Action guidance
For every action a player is shown what relationships will be affected in what way.
For example a message that would pop up if the USA player in a WWII scenario considers declaring war on Germany: "If we declare war on Germany, we will worsen our relationship with Germany, Japan and Italy, but strengthen our relationship with Britain and France".
Embassies
Not necessary.
Alliances
An alliance acts as a commitment to declare war on those that declare war on the ally. If a country declares war on your ally you have a choice to either declare war on the aggressor or cancel the alliance, both of which will affect your relationships.
Allies can, by agreement, move military units into the tiles of their allies. The agreement is per province.
Game design
It is possible to adjust the importance of diplomacy to the game by adjusting the size of the neutral band. The smaller the band, the more likely that actions will have diplomatic consequences.
Monetary tribute
$X one-off
$X per year for Y years
$X per year indefinitely
First contact
In Civilisation, diplomatic relationships began with contact between military units, which is unrealistic. Any nation known about through exploration (including traveller-based autoexploration) should be contactable.
Countries must have an established relationship to have a relationship score.