LunarMongoose
King
PerfectMongoose 3.2
DESCRIPTION
Major Update of LM's official Civ4 Port of Civ5's PerfectWorld3_v2, using PerfectWorld_2.06f as base.
The initial version of this project took a week of 24/7, every-waking-minute work to complete. The 3.1 update took 2 more weeks, and this 3.2 update has taken a whole month. It is posted with permission from the original author, Cephalo.
This is a definitive release: I am very confident everything is finally fixed and working properly, and all the improvements I had been planning to make are now implemented.
NOTICE
If you use this in a mod you need to give me credit... in addition to Cephalo of course.
It took way too much time and energy, with a relatively-high level of difficulty programming-wise, to not insist on that, and to not be allowed to shamelessly insert my name into the project name.
Besides, Sevo put his name in the Sevopedia and everyone worships it (including me), so I don't feel too bad lol.
FULL NOTES
Version 3.2
* Added AIAndy's square grid evaluation, float division and geostrophic fixes, his bonus placement and starting location speed enhancements, and his PythonRandom multiplayer support.
* Added a game option to continue using the old hex-grid-based Perlin Noise code if desired, since the previous PW3 landmass shapes are different and still fully viable.
* Merged in the remaining PW 2.0.8 functionality with a game option to select the PW2 landmass generator if desired.
* Changed the rainfall thresholds from absolute values to global percents like the temperature thresholds, set them to ignore Peaks, and merged the climate system constants back together.
* Enforced the current map's x and y wrap settings in a number of places in the code, which fixes some bugs with -1 data values near the edges and should get rivers wrapping only when they're supposed to.
* Fixed natural harbor bug, and added shape randomization to natural harbor creation on diagonals.
* Changed sea ice to vary with map size instead of always being 4 tiles thick, and to require water temperature to be near freezing so the bands have some limited shape to them.
* Switched to PW2's oversized internal grid when using the PW3 LMG with the PW2 climate system so the latter works correctly.
* Changed the +/- 10% tolerances on elevation, rainfall and sea level thresholds to +/- 2%.
* Removed MeteorCompensationFactor since the system does indeed work best without it. (My apologies Ceph; you were right!)
* Made a number of additional code improvements.
Version 3.1
* Fuyu's 2.0.6f bonus placement, starting location enhancement, minimum hill enforcement and bad feature removal code were added, along with his control variables.
* Reverted some more settings for use with vanilla that were still set for my mod.
* Added allowance in getPlotPotentialValue() for clearing features with negative food (ie Jungles), since it already accounted for cleared features with tile improvements that require it (only useful in mods).
* Added StartEra checks to verify the tech requirements are met for clearing features in both cases.
* Agreeing with Cephalo, I left the starting location production resource food override threshold at half the city plots being workable, rather than two-thirds.
* Changed the TechCityTrade requirement for resource valuation and placement to TechReveal since the former makes no sense: if a bonus is visible it enhances the tile, and if it isn't visible it doesn't enhance the tile, regardless of whether it can be harvested or traded with other cities.
* Added BonusMaxGroupSize option of -1 for setting Fuyu's clump limit based on WorldSize, clarified the description of what the 0 option there actually does, and fixed the random bounds.
* Added a minimum value to the StartEra checks to include all Classical resources, improvements and clearing abilities in the plot valuations.
* Changed allowWonderBonusChance to allow any strategic resource (not just Stone or Marble), and the city sweetener to allow non-strategic resources - both up through Classical (or later).
* Adjusted lake and river values again, and added separate controls for them for the two climate systems.
* Increased Desert slightly and Plains considerably in the PW2 system.
* Synchronized the PM3/PW2 code substantially more to make future updates easier.
* Scaled temperature from normal linearly down to zero in the top and bottom thirds of the map in the PW3 climate system, to get Tundra and Snow in the higher and lower latitudes as there should be.
* Lowered Tundra/Snow temperatures to compensate.
* Increased PW3 Grassland level slightly.
Version 3.0
* The PW2 HeightMap and ClimateMap have been replaced with their PW3 counterparts.
* PW2's high-altitude randomization was removed since it was causing 80-100% of land tiles to be Peaks regardless of settings.
* PW2's SmallMaps were removed since the new Perlin Noise landmass generator does not require an oversized map to avoid looking bad.
* The YToXRatio hex grid scale factor has been removed.
* PW2 control variables that are now unused have been removed, and the necessary PW3 ones have been added. Values have also been adjusted as needed or desired.
* mc.MeteorCompensationFactor was added to try and help preserve total land percent when using Break Pangaeas. It is currently set to 1.1 which just adds a little style to my version... crank it up to around 2.0 if you want full compensation (though the result may not look as good).
* The Sea Level menu option has been enabled, and mc.SeaLevelFactor was added to support it.
* The Use menu option has been added, and a slightly-modified version of the PW2 ClimateMap was added back in, to support having a choice between the PW2 and PW3 climate systems.
* PW3's north and south attenuation were removed.
* PW2's code that forced Snow to be at higher elevation than Tundra, Tundra to be higher than everything else, and Desert to not be, well, something... was removed.
* Plains in the PW3 ClimateMap were set to have a null rainfall window and a relatively large temperature window, so that they form exclusively as a result of cold deserts; this helps create Great Plains type areas. (You also don't seem to get enough Grassland unless you max it out by doing things this way.)
* RiverThreshold's dependence on PlainsPercent (via PlainsThreshold) was removed so that its value can be set reliably.
DOWNLOAD
PerfectMongoose 3.2
SCREENSHOTS
These were taken while running MongooseMod so it's not vanilla terrain graphics, sorry.
EARTH!!! Well, minus Africa lol. - It coughed this up in an early test generation. Look at the minimap.
Perlin Noise + Pangaea Breaker - Just a random cool-looking map.
The Great Plains... have arrived. - This happens fairly often with my settings.
The Great Plains... have returned. - Most of these screenshots had the Pangaea Breaker on just since it's the default menu option; I'll post some with it off when I get a chance.
DESCRIPTION
Major Update of LM's official Civ4 Port of Civ5's PerfectWorld3_v2, using PerfectWorld_2.06f as base.
The initial version of this project took a week of 24/7, every-waking-minute work to complete. The 3.1 update took 2 more weeks, and this 3.2 update has taken a whole month. It is posted with permission from the original author, Cephalo.
This is a definitive release: I am very confident everything is finally fixed and working properly, and all the improvements I had been planning to make are now implemented.
NOTICE
If you use this in a mod you need to give me credit... in addition to Cephalo of course.


FULL NOTES
Version 3.2
* Added AIAndy's square grid evaluation, float division and geostrophic fixes, his bonus placement and starting location speed enhancements, and his PythonRandom multiplayer support.
* Added a game option to continue using the old hex-grid-based Perlin Noise code if desired, since the previous PW3 landmass shapes are different and still fully viable.
* Merged in the remaining PW 2.0.8 functionality with a game option to select the PW2 landmass generator if desired.
* Changed the rainfall thresholds from absolute values to global percents like the temperature thresholds, set them to ignore Peaks, and merged the climate system constants back together.
* Enforced the current map's x and y wrap settings in a number of places in the code, which fixes some bugs with -1 data values near the edges and should get rivers wrapping only when they're supposed to.
* Fixed natural harbor bug, and added shape randomization to natural harbor creation on diagonals.
* Changed sea ice to vary with map size instead of always being 4 tiles thick, and to require water temperature to be near freezing so the bands have some limited shape to them.
* Switched to PW2's oversized internal grid when using the PW3 LMG with the PW2 climate system so the latter works correctly.
* Changed the +/- 10% tolerances on elevation, rainfall and sea level thresholds to +/- 2%.
* Removed MeteorCompensationFactor since the system does indeed work best without it. (My apologies Ceph; you were right!)
* Made a number of additional code improvements.
Version 3.1
* Fuyu's 2.0.6f bonus placement, starting location enhancement, minimum hill enforcement and bad feature removal code were added, along with his control variables.
* Reverted some more settings for use with vanilla that were still set for my mod.
* Added allowance in getPlotPotentialValue() for clearing features with negative food (ie Jungles), since it already accounted for cleared features with tile improvements that require it (only useful in mods).
* Added StartEra checks to verify the tech requirements are met for clearing features in both cases.
* Agreeing with Cephalo, I left the starting location production resource food override threshold at half the city plots being workable, rather than two-thirds.
* Changed the TechCityTrade requirement for resource valuation and placement to TechReveal since the former makes no sense: if a bonus is visible it enhances the tile, and if it isn't visible it doesn't enhance the tile, regardless of whether it can be harvested or traded with other cities.
* Added BonusMaxGroupSize option of -1 for setting Fuyu's clump limit based on WorldSize, clarified the description of what the 0 option there actually does, and fixed the random bounds.
* Added a minimum value to the StartEra checks to include all Classical resources, improvements and clearing abilities in the plot valuations.
* Changed allowWonderBonusChance to allow any strategic resource (not just Stone or Marble), and the city sweetener to allow non-strategic resources - both up through Classical (or later).
* Adjusted lake and river values again, and added separate controls for them for the two climate systems.
* Increased Desert slightly and Plains considerably in the PW2 system.
* Synchronized the PM3/PW2 code substantially more to make future updates easier.
* Scaled temperature from normal linearly down to zero in the top and bottom thirds of the map in the PW3 climate system, to get Tundra and Snow in the higher and lower latitudes as there should be.
* Lowered Tundra/Snow temperatures to compensate.
* Increased PW3 Grassland level slightly.
Version 3.0
* The PW2 HeightMap and ClimateMap have been replaced with their PW3 counterparts.
* PW2's high-altitude randomization was removed since it was causing 80-100% of land tiles to be Peaks regardless of settings.
* PW2's SmallMaps were removed since the new Perlin Noise landmass generator does not require an oversized map to avoid looking bad.
* The YToXRatio hex grid scale factor has been removed.
* PW2 control variables that are now unused have been removed, and the necessary PW3 ones have been added. Values have also been adjusted as needed or desired.
* mc.MeteorCompensationFactor was added to try and help preserve total land percent when using Break Pangaeas. It is currently set to 1.1 which just adds a little style to my version... crank it up to around 2.0 if you want full compensation (though the result may not look as good).
* The Sea Level menu option has been enabled, and mc.SeaLevelFactor was added to support it.
* The Use menu option has been added, and a slightly-modified version of the PW2 ClimateMap was added back in, to support having a choice between the PW2 and PW3 climate systems.
* PW3's north and south attenuation were removed.
* PW2's code that forced Snow to be at higher elevation than Tundra, Tundra to be higher than everything else, and Desert to not be, well, something... was removed.
* Plains in the PW3 ClimateMap were set to have a null rainfall window and a relatively large temperature window, so that they form exclusively as a result of cold deserts; this helps create Great Plains type areas. (You also don't seem to get enough Grassland unless you max it out by doing things this way.)
* RiverThreshold's dependence on PlainsPercent (via PlainsThreshold) was removed so that its value can be set reliably.
DOWNLOAD
PerfectMongoose 3.2
SCREENSHOTS
These were taken while running MongooseMod so it's not vanilla terrain graphics, sorry.
EARTH!!! Well, minus Africa lol. - It coughed this up in an early test generation. Look at the minimap.

Perlin Noise + Pangaea Breaker - Just a random cool-looking map.
The Great Plains... have arrived. - This happens fairly often with my settings.
The Great Plains... have returned. - Most of these screenshots had the Pangaea Breaker on just since it's the default menu option; I'll post some with it off when I get a chance.