Introduction
One of the advantages of Civilization IV over its predecessor is the abolition of many of the limitations of Civilization III - the 512 city limit, the 8092 unit limit (lower before Conquests), and so on. Just how large a map can be in Civilization IV isn't specified - it's generally accepted that it is limited more by your computer than by hard-coded limits. So I decided to create the biggest map I could and record the tale resulting from such a decision.
The Largest Map
The first step was finding the largest map. In Civilization III, the largest map is 362x362 - but because of the 512 city limit, most of the land on such a map will not be settled. The effective largest map in Civilization III - that is, the largest that could be settled - would be 230x230. But because of its quirky grid system, that's actually 115x115x2 - a total of 26450 tiles, with the quirky math accounted for.
Theoretically, you could just create a 1000x1000 Civ4 map. But "theoretically" is key. I received these results with Civilization IV Version 1.00:
By comparison, at the beginning of a game (when I took the RAM measurements), the largest possible Civilization III map takes 118 MB of RAM. Obviously Civ4 isn't nearly as efficient from a memory standpoint, but it may be more efficient processor-wise; only time will tell that (literally).
I then downloaded the 1.74 patch and tested the limits again:
So the limit is somewhere between 58800 and 59136 tiles. To try to find it more precisely would result in odd-shaped maps, so I decided to settle for 300x196.
Also note that memory usage is approximately 55% lower in version 1.74 than version 1.00. Talk about significant optimization improvements. Further, in neither case was memory the limiting factor - I had hundreds of megabytes free when both 1.00 and 1.74 hit the limit. Rather this error was the limit:
Perhaps it's good, though. I can't imagine memory use will fall as the civilizations develop.
Map Settings
You probably expect this section to be "temperature, medium sea level", etc. It isn't! With a map this big, a few other settings had to be changed as well, in the Assets\XML\GameInfo\Civ4WorldInfo.xml file. Here's what I changed:
Thanks go to anion for his explanations of these parameters at http://forum.civilization.org.pl/viewtopic.php?t=5117, as well as Google Translate. Also, thanks to NeverMind, whose XXL World mod made it easy to modify these files.
Thus, without further ado about the map itself, let us begin...
Zetta Earth
"Looks like we've got our work cut out for us," said Antonina as she looked around the barren landscape.
"No kidding," replied her husband. "Not even a single tree around here to chop down for firewood."
One of the advantages of Civilization IV over its predecessor is the abolition of many of the limitations of Civilization III - the 512 city limit, the 8092 unit limit (lower before Conquests), and so on. Just how large a map can be in Civilization IV isn't specified - it's generally accepted that it is limited more by your computer than by hard-coded limits. So I decided to create the biggest map I could and record the tale resulting from such a decision.
The Largest Map
The first step was finding the largest map. In Civilization III, the largest map is 362x362 - but because of the 512 city limit, most of the land on such a map will not be settled. The effective largest map in Civilization III - that is, the largest that could be settled - would be 230x230. But because of its quirky grid system, that's actually 115x115x2 - a total of 26450 tiles, with the quirky math accounted for.
Theoretically, you could just create a 1000x1000 Civ4 map. But "theoretically" is key. I received these results with Civilization IV Version 1.00:
Version 1.00 said:OK at 200x132 (26400 tiles); RAM usage: 900 MB. 99.8% of the size of maximum effective Civ3 map
OK at 50x38 (30400 tiles). 115.0% of maximum Civ3 map.
Crashes at 51x38 (31008 tiles)
OK at 52*37 (30784 tiles); RAM usage: 1006 MB. 116.4% of maximum Civ3
Crashes at 51x38 with Medium graphics; thus graphics are not the limiting factor.
By comparison, at the beginning of a game (when I took the RAM measurements), the largest possible Civilization III map takes 118 MB of RAM. Obviously Civ4 isn't nearly as efficient from a memory standpoint, but it may be more efficient processor-wise; only time will tell that (literally).
I then downloaded the 1.74 patch and tested the limits again:
Version 1.74 said:OK at 204x152 (31008 tiles) 117.2% of max Civ3. RAM: 450 MB
OK at 240x152 (36480 tiles) 137.9% of max Civ3.
OK at 280x176 (49280 tiles) 186.3% of max Civ3.
Crashes at 320x200 (64000 tiles)
OK at 300x188 (56400 tiles) 213.2% of max Civ3. RAM: 667 MB
Crashes at 308x192 (59136 tiles)
OK at 304x188 (57152 tiles) 216.1% of max Civ3. RAM: 683 MB
OK at 304x192 (58368 tiles) 220.7% of max Civ3. RAM: 679 MB
OK at 300x196 (58800 tiles) 222.3% of max Civ3. RAM: 688 MB
Second Try: Memory Allocation Failure at 426 MB allocated
998 MB RAM free at MAF
Third Try: OK
So the limit is somewhere between 58800 and 59136 tiles. To try to find it more precisely would result in odd-shaped maps, so I decided to settle for 300x196.
Also note that memory usage is approximately 55% lower in version 1.74 than version 1.00. Talk about significant optimization improvements. Further, in neither case was memory the limiting factor - I had hundreds of megabytes free when both 1.00 and 1.74 hit the limit. Rather this error was the limit:
Perhaps it's good, though. I can't imagine memory use will fall as the civilizations develop.
Map Settings
You probably expect this section to be "temperature, medium sea level", etc. It isn't! With a map this big, a few other settings had to be changed as well, in the Assets\XML\GameInfo\Civ4WorldInfo.xml file. Here's what I changed:
<iDefaultPlayers> - Set at maximum 18
<iUnitNameModifier> - Left a zero. Unknown function.
<iNumTargetCities> - Is number of cities that get happiness bonus from Representation; also has small affect on city maintenance. In proportion to map size change, increase would be to 67. Increased to 70.
<iNumFreeBuildingBonus> Set to 70, in proportion. Actual affect not known.
<iBuildingClassPrereqModifier> Affects the number of prerequisite buildings for a big building. Most commonly, affects how many temples you need per cathedral. Set to 125 - which should be 5 temples per cathedral. Huge is 100.
<iMaxConscriptModifier> Affects the bonus number of drafted units over the standard three. Set to 1570% bonus. Thus up to 50 units can be drafted per turn per civilization in Nationalism.
<iWarWearinessModifier> = Set to -90% for low war weariness.
<iGridWidth> Is the grid width, divided by 4. Set to 75.
<iGridHeight> Is the grid height, divided by 4. Set to 49.
<iTerrainGrainChange> Set to 3 for more variety in terrain, but still having some epic jungles and mountains.
<iFeatureGrainChange> Set to 3 for more variety in terrain, but still having some epic jungles and mountains.
<iResearchPercent> - In proportion, would be 1750. But doesn't increase proportionally - a tenfold increase in tiles from Duel to Huge increases research by only 50%. Thus with the thirteenfold increase in tiles over Standard, settled on iResearchPercent of 225.
<iTradeProfitPercent> Set at 10%. Percent profit from trade; how it is calculated is unknown.
<iDistanceMaintenancePercent> = Set to 20% for less costs for sprawling empires.
<iNumCitiesMaintenancePercent> = Set to 10%.
<iNumCitiesAnarchyPercent> = Set to 1. Best guess is that it changes how much having lots of cities increases the length of anarchy.
Thanks go to anion for his explanations of these parameters at http://forum.civilization.org.pl/viewtopic.php?t=5117, as well as Google Translate. Also, thanks to NeverMind, whose XXL World mod made it easy to modify these files.
Thus, without further ado about the map itself, let us begin...
Zetta Earth
"Looks like we've got our work cut out for us," said Antonina as she looked around the barren landscape.
"No kidding," replied her husband. "Not even a single tree around here to chop down for firewood."