Commodity Supply and Demand Quotient Formulae

Note: All formulae assume the use of Civ2 integer math, i.e. all fractional parts of division results are dropped, never rounded up.

Hides

Supply = Forest x 4 + Tundra x 6 + Glacier x 6 + Jungle x 3 + Rivers x 3

Location: N/A

Techs: N/A

# of Techs 1-15: 4x 16-23: 2x 24-48: 1x >48: 1/2

City Size 1-2: 2x 3-7: 1x >7: 1/2

Special Note: If Techs>48 the 2X bonus for Size<3 does not apply.

Demand = Forest + Mountains x 2 + Tundra x 5 + Glacier x 5

Location: + DistanceToEquator x 3/2

Techs: Industrialization: 1/3 Mass Production: eliminates demand

# of Techs: 1-9: 4x 10-19: 2x 20-47: 1x >47: 1/2

City Size: 1-2 2x

Wool

Supply = (Grass + Hills x 2 + Rivers/2 ) x (Tundra + Glacier + 2 + PolarCircle)

Location:

Techs:

# of Techs:

City Size:

Demand = Plains x 2 + Forest

Location: + TemperateZoneOffset x 2

Techs: Industrialization: 2x

# of Techs:

City Size:

Beads

Supply = Ocean x 8

Location: - DistanceToEquator

Techs: none

# of Techs: >32: 1/2

CitySize: 1-9: 1x >9: 1/2

Demand = Land x 3/2

Location: + DistanceToEquator

Techs: none

# of Techs: >47: 1/2

CitySize: 1-3: 3/2 4-12: 1x >12: 1/2

Cloth

Supply = Desert + Plains x 3 - Rivers

Location:

Techs: Industrialization: x 3/2

# of Techs: 1-7: 1/4 8-15: 1/2 16-19: 1x >19: 2x

CitySize:

Demand = Forest x 4 + Hills x 4

Special: + ( (Techs/10) x (Forest + Mountains x 2 + Tundra x 5 + Glacier x 5 + DistanceToEquator x 3/2) ) / 8

Salt

Supply = Desert x 4 + Swamp x 2 + Ocean x 3

# of Techs: - Techs/6

Location:

Continent#: 1,3,5: x 3/2

Techs: Pottery, if not discovered: 1/3

CitySize:

City Improvements: Aqueduct: x 3/2

Demand =

Location:

Techs:

# of Techs: - Techs/2

CitySize: 1-5: + pop x 8 6-10: + pop x 4 11-15: + pop x 2 16-20: + pop x 1 >20: +75

Special Note: The first five citizens each demand 8 salt, the next five demand 4 salt, the next five 2 salt and the fourth group of five demand 1 salt. Size-based demand maxes out at 75.

Coal

Supply = (Plains + Forest + Swamp + Jungle +1) x (Hills x 5)

Location:

Continent#: If ODD and >1: x 3/2

Techs:

# of Techs: <20: 1/2

City Size: 1-7: 1/2 8-17: 1x >17: 2x

Demand =

Location: (DistanceToEquator + 10) x (CitySize+2)/5

# of Techs: + Techs

CitySize: 1-4: Demand = 0 5-7: 1/2x >7: 1x

Techs: Industrialization: 2x Electricity: 2x

City Improvements: PowerPlant: 2x NuclearPlant, HydroPlant, SolarPlant: 1/ 8

Special Note: CitySize has two affects in this formula: once as a multiplier of the location factor and later, after # of Techs has been added, a penalty is applied to smaller cities.

Copper

Supply = Hills x 5 + Mountains x 5

Continent#: If EVEN: 2x

Demand = Rivers + Roads

Techs: Electricity: 3/2 Computers: 1/4

CitySize: 1-2: Demand = 0 3-4: 1/2 5-7: 1x 8-12: 2x 13-17: 3x

18-22: 4x ... etc.

City Improvements: Marketplace: x 3/2 Bank: x 3/2

Special Note: The formula for Copper Demand is theoretical, as there appears to be a serious bug in all versions of Civ2 with regards to the demand of both Copper and Dye.

On 2.4.2, the formula as given is valid only when the city's Supply and Demand lists are updated by a caravan delivery. When the update is caused by viewing the City Display on that city's 16-year turn, the Base Demand is Rivers + Roads + City#. When the update is caused by the 16-year automatic update, then Copper's DQ is a LARGE NUMBER.

On the Gold Edition, the formula as given is valid only when the city's update is caused by the 16-year automatic update. Both caravan deliveries and City Displays during the 16-year turn cause the DQ to be set to a VERY LARGE NUMBER.

Dye

Supply = Grass x 10 + Rivers x 2 - Plains x 2

Continent#: If multiple of 4: 2x

Demand = SupplyOf(Cloth) + Roads

Techs: Chemistry: 1/2 Mass Production: 1/2

Special Note: See the note for Copper Demand. The same bug affects the demand of Dye. The common factor in both formulas appears to be "Roads".

Wine

Supply = LesserOf (Plains x 4, Rivers x 5 - Grass)

Location: +DistanceToDateline/4 If NorthernHemisphere: x 2

Continent#: If RemainderOf(Continent# /4 ) = 2: x 3/2

CitySize: 1-2: 1/2 8-10: 2x

Civ: If FRENCH: 2x

Demand = 0

Location: + | Horizontal - Vertical |

CitySize: 1-2: +4 3-7: +8 8-12: +12 13-17: +16 18-22: +20 23-27: +24 28-32: +28 etc.

Silk

Supply = (Forest x 2 + Jungle + 1) x (Hills + 1)

Location: + LongitudeEast x 2

Continent#: Multiple of 5: 2x

Civ: If CHINESE: 2x

Demand = Desert x 4 + Plains/2 + Swamp x 2 + Jungle x 4

Location: + DistanceToPole x 2 + DistanceToDateline

Continent#: If Continent = 1 AND CityNumber/2 is ODD: x 3/2

Techs:

# of Techs:

CitySize: 1-2: 1/4 3-6: 1/2 7: 1x >7: 2x

Silver

Supply = Mountains x 8 + Hills

Location: If NON-ZERO: + DistanceToMeanMeridian

Continent: >8: 3/2

Techs: If Iron Working not discovered, 1/2

# of Techs:

City Size: 1-4: 1/2

Demand = CitySize x 8

Location: RemainderOf( (Horizontal + Vertical) / 3): 0 = silver, 1 = gems, 2 = gold

Techs: Chemistry: x 3/2 Economics: 1/2 Computers: 1/2

Civ: If SPANISH: 2x

City Improvements: Bank: x 3/2 Cathedral: x 3/2

Special Note: The Demand Quotients for Gems and Gold use the same formula as Silver. The remainder from the division by 3 of the sum of the city's map coordinates determines which commodity the formula is applied to. All cities demand Silver as CitySize x 8, but the Tech modifiers only apply to Silver if the location is 0 mod3. If the location is 1 mod3, the city demands Gems at the full formula rate. If the location is 2 mod3, the city demands Gold at the full formula rate.

Spice

Supply = (Desert + Swamp + Jungle x 3/2 ) x (Ocean + Rivers)

Location: DistanceToEquator < 10: 2x; - DistanceToEquator

Continent#: 1: 1/2

ContinentSize: <26: 2x >300 1/2

Demand = ContinentSize/10

Location: If ContinentSize > 400 and (Horizontal + Vertical) /2 is EVEN: demand is zero

Techs: Refrigeration: 1/2

CitySize: < 4: 1/2 5-7: 1x >7: 2x

Gems

Supply = (Desert +1) x (Mountains + 1) x (Swamp + 1) + Plains

Location:

Continent#: 7: 3/2 x

Techs:

# of Techs:

CitySize: 1-7: 1/2 8-12: 1x 13-17: 3/2 >17: 2x

Demand: See Silver

Gold

Supply = (Mountains x 2 + Hills + 2) x (Rivers +2)

Terrain: If Mountains < 3: 1/2

Location:

Techs:

# of Techs:

CitySize: 1-4: 1x 5-9: 2x >9: 4x

Demand: See Silver

Oil

Supply = Desert x 10 + Tundra x 8 + Glacier x 8 + Swamp x 6

Location:

Continent#: 9: x 3/2

Techs: If Combustion NOT discovered by anyone: 1/8

# of Techs:

CitySize: >37: 2x

Demand = 0

Location:

Techs: Enabled by Industrialization; Automobile: 3x

# of Techs: + Techs/6

CitySize: 1-2: 1/2x 3-4: 3/4x 5-7: 3/2x 8-9: 2x 10-12: 4x 13-17: 5 x 18-19: 6x 20-22: 12x 23-27: 14x 28-32: 16x 33-37: 18x 38-42: 20x

CityImprovements: Factory: 3/2x Superhighways: 2x Mass Transit: 1/2x Recycling Center: 1/2x

Special Note: Oil can appear as both a demand and supply wildcard after Industrialization if the regular wildcard is not expressed.

Uranium

Supply = (Desert + Tundra + Glacier + 1) x (Mountains + 1) x (Hills + Rivers + 1)

Location:

Techs: Enabled by Nuclear Fission

# of Techs:

CitySize: 1-2: x0 3-7: 1/6 8-12: 1/3 13-17: 1/2 18-22: 2/3 23-27: 5/6 27> 1x

Demand = 0

Location:

Techs: Enabled by Nuclear Fission

# of Techs: + #Techs squared

CitySize: 1-2: 1/8 3-7: 1/4 8-12: 1/2 >12: 1x

City Improvements: Nuclear Plant: 2x SDI: 2x

Special Note: Uranium can appear as a demand wildcard after Nuclear Fission if the regular wildcard is not expressed.

---------------------------------------------------------------

Terms used

# of Techs. This is acquired techs plus 1. It does not include starting techs but does include the tech being researched.

Land. Land is calculated as (21 - Ocean).

DistanceToEquator. The "equator" on a civ map is a horizontal line whose vertical coordinate is half the map height (Y size). DistanceToEquator is the difference between a city's vertical coordinate and the equator.

TemperateZoneOffset. The "temperate latitude lines" are halfway between the equator and the poles. The TemperateZoneOffset is the difference between a city's vertical coordinate and the nearest temperate lattitude line.

LongitudeEast. For cities in the Eastern Hemisphere, the difference between its horizontal coordinate and the mean meridian (map width divided by 2).

LongitudeWest. For cities in the Western Hemisphere, the negative of the difference between its horizontal coordinate and the mean meridian.

DistanceToMeanMeridianThe absolute difference between the horizontal coordinate and the map's width divided by 2.

DistanceToPole. DistanceToPole is the difference between a city's vertical coordinate and the nearest Pole.

DistanceToDateline. DistanceToDateline is the absolute difference between a city's horizontal coordinate and the Dateline (0 meridian) via the shortest route.

PolarCircle. The Polar Circles on a civ map lie at MapHeight/6 and MapHeight x 5/6. If a city's lattiude places it within a Polar Circle then the value of PolarCircle is 1, otherwise it is 0.

## Bookmarks