[BtS] Seven05's World Piece

Seven05

Warmonger
Joined
Dec 5, 2005
Messages
2,056
Location
USA
World Piece v0.62​

Revision History, Screenshots and Optional Components *** New component added January 30th, 2008
Known Bugs & Pending Updates
Download Latest Version

The big changes:
Realistic Climates with new custom textures
The biggest change with the most impact is the game world & climate. A huge thanks to Cephalo for his 'Perfect World' map script which was used as a base and made all of this possible. The map script will generate a realistic world using a heightfield generator and plate tectonics, temperatures and rainfall will be calculated based on the world's heightfield. This means there won't be such obvious banding of terrains and deserts, jungles and grasslands will all be in the right places. Peaks will form mountain ranges and these can lead into the ocean to form realistic island chains. The terrain itself is climate based, there are different versions of grasslands, plains and deserts based on the climate. The custom terrains all have the same yield values and allow the same improvements however they are used to place resources and civilizations in appropriate climates. Yes, that means no more half-naked Zulu's starting in the frozen wastelands, but the Russians may find themselves up there.

With 0.6 I've added unique biomes to the world, these are limited areas with custom tectures and/or climate settings. For now there are two alternate biomes available one that simulates the Great Plains region of North America and another that is based on Australia's reddish brown dirt and savanna.

New Gamespeeds based on turns per era
Note: As of v0.3 this is fully controlled by the game speed you select.
World Piece uses optional, dynamic research cost adjustments to help keep the game running at an even pace through each era. This is a loosely enforced rule so it is still possible to discover advanced technologies before their time however it will require substantial effort. The way dynamic costs work is that the game speed determines the turns per era (they've all been renamed to make it easy), for instance the default is 100 turns per era. If you start the game in the ancient era all ancient techs will have their normal cost for the first 100 turns (using the default speed) and all later technologies from the Classical era and beyond will have their cost increased. Once 100 turns have passed all Classical era tech will be at their normal cost, Ancient technologies will be cheaper and Medieval and later technologies will be more expensive.

Additionally, to compensate for the longer games the prices for technologies will be dynamically increased by 12% per era. So a classical era tech will be 12% more expensive and a medieval era tech will be 24% more expensive, and so on. Since this change is done in the DLL the base prices will be intact for playing games using the default game speeds.

With this change it is still possible to use free technologies to discover a technology from a more advanced era. You can also continue to use great people to discover advanced technologies however they will frequently only provide a boost towards the technology rather than discovering it outright.

The biggest impact on gameplay is that you will typically have a longer period of time (more turns) to use the units and buildings from a particular era before they become obsolete. It will also be more difficult for any Civ to get too far ahead or fall too far behind. In order for this change to function you must select one of the 'turns per era' game speeds, selecting any other speed (e.g. Marathon) will use the standard tech costs without any of these effects.

AI tweaks
The AI has undergone several changes involving countless tweaks to unit, building and technology changes. They have been made smarter and more aggressive towards each other, not just the human player(s). And, perhaps most importantly, the majority of their bonuses to production and research have been removed including a few well hidden bonuses.

The AI diplomacy has been adjusted with the major change in determing if they'll ask you to join a war or stop trading with another civ. In the case of joining their war they'll only ask you if their elations with you are better than your relations with their enemy. Their requirements to ask you to stop trading are based on your relationship with them, this value can be different per leader and mirrors their required attitude before they'll accept a request from you to stop trading with another civ.

The AI's workers (and your automated workers) should no longer attempt to improve tiles outside of the workable area (fat cross) of your cities. There are a couple of exceptions to this- they will improve tiles with resources on them if they need the resource and they will continue to build routes in tiles that can't be worked.

Global Warming
Global warming has undergone significant changes. The effect of nuclear weapons is no longer the sole contributor to global warming and the method of changing terrain has been completely re-written. Global warming now works off of two primary factors- nuclear winter (resulting from meltdowns and nuclear weapons) and global warming (resulting from excessive polution/unhealthiness).

Nuclear winter is represented by severe droughts accross the land based on the results of publically available scientific models. Since the global cooling factor is short-lived (3-6 years) the most substantial effect is as much as a 75% decrease in precipitation. In the game, this is reflected by 'drying' terrain and transforming grassland to plains or plains to desert. The nuclear winter also has a duration built into it so it will no longer last indefinately however any changes to the terrain are permanent.

Global warming is represented by shifting the climate of individual tiles. So temperate tiles can shift to warm tiles and cool tiles can shift to temperate tiles. For example a cool grassland may turn into temperate grassland. The climate shift has some strict requirements based on the surrounding tiles so you will not suddenly have tropical land appearing in the middle of the norther tundras. Global warming is based on pollution value of every land tile in the game with unimproved tiles reducing pollution (in most cases) and improvements adding pollution (again, in most cases). Additionally, each city will add pollution equal to its size and the unhealthiness from buildings with additional pollution if the city has access to coal or oil. Although you will notice more tiles being affected by global warming, DON'T PANIC! The effect is minimal by itself as a temperate grassland has the same yield values as either warm or cool climate grasslands so the shift is more visual than anything. It will have an impact on health resources, destroying any that are not valid for the new terrain type and it can potentially enable more tiles to turn to desert as a result of the nuclear winter effect.

Finally, as pollution levels increase the frequency of storm events will increase. These are newely created events that do not have the same behavior as similar existing random events. These new effects will be in red text in the log window and the original random events have not been touched so you may still get those weather events in awkward places.

Enviroment Based Traits (Work in Progress)
In addition to the pre-defined traits each leader has there is a chance one of three environment based traits will be assigned to each civ in the beginning of a new game. The three traits are represented by a hidden, non-tradable technology that is given to civilizations starting in regions that are less than ideal- Jungles, Deserts and Tundra. The jungle civs receive access to the Jungle Warfare promotion which is identical to the vanilla 'woodsman' promotions except that it only works in jungles, additionally jungles in their city radius will provide a small health bonus instead of an unhealthy penalty. Desert civs gain access to the Desert Combat promotion, it is a single promotion that grants +25% to the units strength when attacking into desert tiles. Tundra civs receive a small bonus of +1 :food: and +1 :commerce: on any tile with a hunting camp. The bonuses are only given on turn 1 and there is no way to accumlate additional ones during the course of the game.

New Traits (Work in Progress)
All of the leader traits have been redesigned with a focus on making them more balanced and more unique. A couple of the over-powering abilities have been removed and replaced with abilities more inline with the rest of the traits. Traits should also have a more even feel throughout the game with a balance of early and late game benefits.

This is a work in progress and although it has undergone quite a bit of testing it's likely to change. However, without taking the complete changes to the mod into account several of them look weaker than they are in practice so I'd ask that you try out different traits in multiple games to see how they balance against each other. On the bright side, I personally find it more enjoyable to try out different civs now without worrying about giving up the power of Financial Leaders bonus commerce or 'wonder-mania' with an Industrious Leader.

The Spiritual trait is the first to have a 'new' ability not normally supported by Civ4, the new ability is dependant on one of the game options selected, see the minor rule changes below for specific details.
Spoiler :
Aggressive:
-25% XP requirement
+100% Great General Emmergence
Double production speed of Barracks

Charismatic:
+1 :) per city
+1 :) from monument, colosseum, broadcast tower

Creative:
+10% :culture: per city
Double production speed of theater

Expansive:
+2 :health: per city
Double production speed of settler

Financial:
+10% :gold: per city
Double production speed of Bank

Imperialist:
Double production speed of National Wonders
Double production speed of monument, courthouse, jail

Industrious:
Double production speed of worker
Double production speed of forge, factory, industrial park

Organized:
No Anarchy
-25% Civic Upkeep

Philosophical:
+50% Great Person Rate
Double production speed of university

Protective:
+100% Great General emmergence within cultural borders
+1 :) from walls, castle
Double production speed of walls, castle, bunker, bomb shelter

Spiritual:
Can found multiple religions (only if limited religion founding enabled)
50% Research cost for religion techs (only if limited founding NOT enabled)
Double production speed of temple, monastary, cathedral


'Bonus' Technologies (Work in Progress)
Throughout the eras there are now several 'bonus' technologies. These are used to represent key historical events or other accomplishments frequently represented by wonders. I chose to use techs for those that are simply not appropriate when represented as buildings or whose development is better suited to research rather than production. None of these technologies are required to research any of the standard technologies, skipping them will not affect your ability to procede in the game.

The bonus techs have several restrictions controlling their discovery. They have the obvious prequisite technologies and additionally they can only be researched while you are in the appropriate era. The era limitation prevents you from stepping back to pick up a bonus technology that you skipped adding a consequence for beelining for advanced technologies as that can advance you to the next era in many cases. And finally, only one civilization may discover the bonus technology, once they have made the discoverey no other civ may research that technology (nor can they be traded). In effect, the function very much like the normal world wonders except that they exist as a technology rather than a building.

The bonus techs are:
Spoiler :
Sun Tzu's Art of War
Receive a free Great General and the ability to build Training Camps. Training Camps give +2 XP to Melee, Archery and Siege units and work like Cathedrals requiring multiple barracks per training camp.

Exploration
Receive a unique 'Longboat' unit which can enter ocean tiles and rival territory.


Rule Changes:
Note: Most of these minor rule changes are optional components of the game, they are all enabled by default. If you start a new custom game or MP game you can pick and chose which of these to enable. You do not have to edit any files if you wish to exclude any of the new rules from your game.
Spoiler :

Limited Religion Founding (Optional): The technologies required to found a religion can be made unavailable for civilizations that already have a holy city. If enabled, any non-spiritual leader will be unable to research new religion technologies once they have a holy city while spiritual leaders are not affected. If disabled, spiritual leaders can research the technologies required to found religions at 50% cost.

This is accomplished by the addition of new techs used to found religions, the new techs ONLY found religions and offer no other benefit nor are they prerequisits for later techs. Once a religion is founded by a specific tech it's cost drops to 1, this allows any expended research to overflow to the next project since the tech is otherwise useless and the loss of research time was too severe of a penalty.

Additional Air Bombing Missions: New missions for bombing have been added using a modified version of Dales Air Bombing Missions and the mission icons created by GarretSidzaka. The new missions are: Carpet Bombing (destroy random building), Surgical Strike (destroy more specific target such as factories and barracks) and Port Strike (attack ships in the city). If the mission fails there is a chance of killing some of the target city's population which will increase war weariness for both the attacker and defender. The surgical strike mission will have it's chance of success increased with the discovery of computers and again with the discovery of lasers.

Lethal air strikes against ships (Optional): Air & missile units can inflict up to 100% damage against naval units with this option enabled. It has no effect on how much damage is inflicted per attack it just removes the limit. It also has no effect on land units which can still only be damaged up to a preset percent (default 50%).

Tile stack limit (Optional): There is a limit of 8 units per tile outside of cities and 12 units inside cities. The limit applies only to land & naval military units (workers, settlers, spies, missionaries, executives, air units and missiles are all exempt) and it counts all units in the tile regardless of ownership. Ships do not count towards this limit while in a city and units loaded as cargo do not count towards the limit until unloaded. And finally, a city that is 'full' can still produce units but the newely created unit will be dumped outside the city.

Discovering New Resources: Mines, which have always had a small chance (1 in 10000) of discovering new resource, still can however they can only discover a resource that is allowed on that terrain. So, for example a mine on a tundra hill will never discover gems. Additionally, farms now have a small chance of discovering wheat, corn or rice but only if you already have access to that resource and the terrain is appropriate for it, food resource received from trade deals will count as access.

Naval Movement/Air Unit Range (Optional): Movement for naval units and the range of air units is increased based on the map saize for any map larger than standard, no changes are made for smaller maps. On large maps, naval units will have +50% movement, on huge maps they will have +100% movement. Air units will have similar increases to their range. Due to the way civ generates the Civlopedia data the default movement speed will be shown in menus and the civlopedia but the modified movement will display properly for units in the game.

Naval Invasions (Optional): Naval units can no longer unload their cargo into hostile territory unless they have not yet moved on the current turn. Units with the amphibious promotion are exampt from this and may unlaod immediately. This has no effect on tiles that are un-owned or owned by you or a player you have open borders with. The purpose is to add some risk to naval invasions since the transports will have to sit in hostile waters for the remainder of the turn before unloading giving the defender some time to respond by shifting defenders to the area or attacking the transport ships. It also adds a great deal of importance to 'securing the beaches' as a staging area for future transports and gives units like the Viking Beserker and Marines some added 'shock value' during naval invasions.

National Units: National units, those which are limited in how many you can build such as Missionary units now have their limit scaled based on the world size. Standard sized maps use the default limits (e.g. 3 Missionary units), smaller maps allow fewer units and larger maps allow more.

Removing Jungles: Removing jungles provides a small hammer bonus, half of what you would get from clearing a forest. This is done to help compensate for the potentially massive jungles created with this map script and for civs that 'prefer' starts in or near jungles.

Highly Destructive Nukes (Optional): The blast radius and destructive power of nucler explosions has been increased inflicting more damage to units and cities (buildings and population). Improvements & features (forests/jungles) in the blast radius will almost always be destroyed. Cities can potentially be destroyed by nuclear weapons provided they do not contain any units or buildings that are flagged as 'nuke immune' such as ICBMs, great people and bomb shelters. Any tile that is affected by fallout has a chance of turning to wasteland, if this happens the tile is completely worthless for the rest of the game and any resource there is permanently destroyed. Fallout has a small chance of moving to an adjacent tile each turn, when this happens the original fallout is removed. Each tile affected by fallout even after the initial blast has a small chance of turning to wasteland and destroying any improvements, features or resources.

Modified Corporation Benefits
Corporation benefits have all been adjusted with the primary change being they they only provide yield bonuses, never commerce bonuses. What this means is that Sid's Sushi, for one example, provides food and commerce instead of food and culture. The actual bonus each corporation provides is now more balanced with the other corporations so again picking on Sid's Sushi it now provides a lot of commerce but only some food whereas Cereal Mills provides a lot of food but only some commerce. The chance from specific commerce types to general commerce helps make it easier to balance each corporation to the point of making them all useful at least to some degree. This makes the strategy of spamming your opponents with them quite a bit more risky as those corporation may prove to be very helpful. Alluminum Inc and Standard Ethanol are also quite useful as commerce generators even if you already have access to allumunim and/or oil. The AI, if you're curious, is quite pleased with this change since it no longer cripples them when they spread your corporations all over the world for you.


Installation:
DELETE ANY PRIOR VERSION OF WORLD PIECE
* v0.62 is not compatible with prior version saved games
1. Download v0.62
2. Extract into your Civilization 4\Beyond the Sword\Mods folder
3. Run the mod through the in-game advanced menu option 'Load Mod'

Note: The file attached to this post is the DLL source code only, you do not need it to play the mod only to view/edit the changes in the DLL.

Playing World Piece:
The World_Piece map script will generate a random world with multiple continents and try to establish an old world and a new world much like the terra map script. The maps look best when playing on large or huge worlds although standard size maps are generally acceptable. There are now several new configuration options available when starting a new game:
  • Allow New World- If allowed, the second largest continent will be considered the 'new world' and no civs will start on it. Additionally, the 'old world' is limited to approximately 50% of the available land. If not allowed, the map script will still define a new world area but it will only consist of very small landmasses, the 'old world' will be a minimum of 75% of the available land.
  • Pangaea Continents- There are thwo options available, you may choose to suppress or allow pangaea style continents. If suppressed, the chance of multiple regions seperated by oceas is very high, if not suppressed no efforts are taken to prevent them from occuring. This is somewhat dependant on your choice of New World settings, if you don't allow a new world and don't suppress pangaea they will be very likely to occur.
  • Default Biome- This option allows you to define the default biome (climate) for the map. The default biome is every area that was not selected for one of the regional 'unique' biomes, typically this is the majority of the map. The choices are tropical which increases both the temperature and rainfall, arid which increased the temperature and decreases rainfall and cool which decreases the temperature and slightly decreases rainfall. Natural uses the world shape alone to determin climate without any modification.
  • Continent Style- There are several continent styles available with landmass size, shape and distribution based on existing mapscripts. The most notable is the 'Earth Like Continents' which is based on the Earth2.py mapscript by GRM7584 and creates continents that are very similar to the real world.
The map script is very slow to generate worlds due to its complexity, go have a sandwich and don't panic unless the background music stops playing :)

The following game options are enabled by default: City flipping after conquest, pick religion, no tech brokering and permanent alliances. The folowing victory types are disabled by default: Domination, cultural. Default options can be changed in the CIV4GameOptionsInfo.xml file or by starting a custom game rather than selecting 'Play Now.'

World Piece is fully MP compatible, to the same degree that BtS is anyway.

Credits:

Turlute - BTS Version of attitude icons
Blue Marble team - Ocean, Coast and snow textures and forrest, jungle and cloud reskins.
Cephalo - The incredible PerfectWorld map script that made much of this possible.
SevenSpirits - Modifications to the base PerfectWorld map script land placement, resource placement & starting plot code.
dreich2 & Lumpthing - The civilization starting plot normalizer script.
GRM7584 - Earth2.py mapscript, used to generate earth like continents
Bhruic - The unofficial patch for BtS 3.13 which is used as a base for my DLL.
Dale - Air Bomb Missions
EDU Team - EDU (Ethnically Diverse Units) components
Rabit,White - Modified galley model used as 'Longboat' unit
Lord Tirian - German translations for World Piece text

And of course Firaxis, the CivFanatics team and everybody else :)
 

Attachments

Revision History:
0.62 January 29th, 2008
*** Not a patch, delete prior version before installing ***
- Fixed a bug that crashed the game when limited religion founding was disabled
- Added game option to control restricted amphibious landings
- Added global define to increase stack limit in forts (default is zero)
- Added initial implimentation of bonus technologies
- Exposed all global warming/pollution variables to xml

Previous Versions:
Spoiler :

0.6 January 17th, 2008
- Added ice cap 'melting' to the existing global warming system
- Increased AI value for religions
- Improved AI's dealing with privateers
- Fixed a bug that crashed the game when time victories were disabled
- Redesigned World_Piece map script with multiple options in a single script
- Added alternate 'unique' biomes for more variety on the world map
- Added environment based 'traits' for civs.

0.5 January 6th, 2008
- Added Dale's Air Bomb Mission with modifications
- Add full effects for weather events related to Global Warming (new sounds too)
- Added ability to limit religion founding
- Added new ability for Spiritual Trait related to limited religion founding
- Fixed a bug with per era tech cost adjustments when researched by teams
- Removed requirement for Veritas Delictat 3.1 mod
- Added EDU components to base mod
- Two versions of the mapscript available for games with or without new worlds
- Added AI support for the new air bomb missions
- Added AI understanding of limited religions

0.4 December 27th, 2007
- Fixed errors with new game speeds causing crashes on turn 3.
- Optimized fallout drifting code.
- Added craters to nuclear explosions (work in progress).
- Added ability for airstrikes to hit ships in cities.

0.3 December 23rd, 2007
- Expanded global warming to include pollution input based on population, improvements and features.
- Added ability to control pollution values for features and improvements via XML.
- Fixed errors with the spreading of nucler fallout, no longer creates extra fallout.
- Modified ICBM unit, blast radius (iNukeRange) is now 2, tactical nukes have a radius of 1.
- Modified fallout features, damages units in the same tile 20% per turn.
- Added check for improvements to survive nuclear blasts based on their AirBombDefense rating and distance from point of impact.
- Forts offer similar protection against nukes as bomb shelters do, provided the fort survives the initial blast (see above).

0.21 December 18th, 2007
- Modified nuclear meltdown effect, no longer explodes but still kills population and creates fallout
- Added code modification to dynamically increase tech costs in 'turns per era' mode
- Added support for standard map scripts (e.g. Pangea, Big and Small, etc)
- Fixed ships being able to enter deep ocean that couldn't enter normal ocean
- Expanded global warming code, exposed new functions to python to allow for future random events

0.2 December 14th, 2007
- Added in-game option to enable/disable most rule changes.
- Added Naval movement and air unit range scaling based on map size (optional).
- Modified Global Warming Method.
- Added destructive nuclear weapons (optional)
- Moved mapscripts to 'PrivateMaps' as suggested by DeanJ
- Greatly improved climate generation in World_Piece map script.
- Greatly improved climate based civilization starting location rules in World_Piece_Normalize.py

0.1 December 11th, 2007
- Initial Public Release


Source Code:
Download: Here or here. (1.1MB)
The zip archive contains all BtS 3.13 source files (.cpp & .h), not just the ones I have edited. All of my changes are encapsulated in comments such as /*** World Piece Begin ***/ and /*** World Piece End ***/, single line changes simply have a // World Piece comment added to them. The majority of my significant changes have extensive comments explaing what I was doing (or trying to do as the case may be). The source is based off bhruic's unofficial patch so if you find changes compared to clean BtS files that are not commented they're from the unofficial patch. I did remove several sections of in-progress AI work to avoid confusion and keep people from accidentally trying to use broken code so it's safe to hop in there and change things to your heart's content :)

Optional Components:
These are user create modifications to World Piece, so think of them as unofficial mods to the unofficial mod. Feel free to comment on them in this thread however keep in mind that I didn't create them so my ability to support them or answer specific questions will be very limited.

Add-on: Unit Formations
Author: genine
Modified unit formations. To install copy the two included xml files into your World Piece\Assets\XML\Units folder overwriting the originals. It is recommended that you backup the default World Piece files before installing this modification, to do that you can simple rename or copy the existing Civ4FormationInfos.xml and Civ4UnitInfos.xml files before installing this.

Screenshots:
(See attachments)
The first screenshot shows an area with both cool and temperate climate and shows the amount of cohesion that is common with deserts rather than random scatterings here and there. The cooler climate is in the lower half of the screenshot and is easiest to identify by the evergreen trees. This map was interesting in that it only created one large desert region, typically there will be two or three desert regions. You can also see the Khmer starting plot to the left, they're set to prefer temperate grasslands for their starting location.

The second screenshot shows an area just north of the first screenshot where you can see both temperate and warm climate tiles. As you can see the differences in appearance aren't extreme between the climates. You can also see the Babylonian starting plot to the right, they are configured to prefer warm climates prefering plains & deserts but since there were no flood plains in this desert region (and therefore no decent desert starting plots) this was the next best thing with its proximity to the desert. Well, there was but it was too close to another civ that was probably placed first.

The third screenshot shows the dynamic technology cost in action. While I was in the WB taking the other screenshots I gave myself Bronze Working, since this is turn 1 in a '100 turns per era' game the cost for Iron Working has been substantially increased since it is a classical era technology. It would still be quite possible to research it pushing for an early swordsman advantage since it only takes 43 turns from a single, undeveloped size 1 city on turn 1 of 100 for this era.

The fourth and fifth show the before and after effects of the highly destructive nucluear weapons option. If you look closely in the fifth screenshot you can see where some of the tiles beneath the fallout have turned into wasteland.
 

Attachments

  • WorldPieceSS01.JPG
    WorldPieceSS01.JPG
    249.3 KB · Views: 1,862
  • WorldPieceSS02.JPG
    WorldPieceSS02.JPG
    222 KB · Views: 1,636
  • WorldPieceSS03.JPG
    WorldPieceSS03.JPG
    172.4 KB · Views: 1,977
  • WorldPieceNukeBefore.JPG
    WorldPieceNukeBefore.JPG
    172.9 KB · Views: 1,383
  • WorldPieceNukeAfter.JPG
    WorldPieceNukeAfter.JPG
    224.7 KB · Views: 2,266
Known bugs with v0.62:
Bonus Technologies (Sun Tzu's Art of War & Exploration) do not stop research for all civs once one discovers them. It does properly prevent other civs from starting research on them.

Pending Updates:
Research Bonus based on resource availability (Pending) - Civilizations receive a small bonus when research technologies required to use resources that they have present in their territory. Currently it is a static 10% discount and is applied as long as they have a single resource. This only applies to the techs that allow you to build the improvements needed to connect to the resource, for example Oil is revealed with Scientific Method and can be connected with Combustion so their would be no bonus to Scientific Method but Combustion would be 10% cheaper.

Enhanced future era units, tech & buildings (Work in Progress) - The primary change here will be the addition of the Next War units and buildings, including arcologies. With the enhanced global warming, nuclear winter and nuclear weapon effects the potential for extended epic games providing a different experience in the late game is pretty good. In addition, a lot of the futuristic components can be adjusted to work well with the changes in World Piece. For instance the arcology buildings can be used to prevent global warming/nuclear winter and fallout effects from affecting any tiles with the city's workable area, clones (worker variant) can be allowed to build new improvments on previously unusable terrain like the wasteland and units like the Cyborg can be immune to the harsh effects of nuclear fallout.

Adaptive, Objective based AI (Work in Progress) - The AI is being given some new attributes to facilitate general short-term and long-term objectives. Early in the game the AI will evaluate its current position and, based on the leader's traits, decide on a long-term goal from the list of available victory conditions. The AI will re-evaluate their long-term goal regularly and adjust as needed. They will also come up with short-term goals throughout the game based on their long-term objective to influence the descision they make to bring them towards their long-term goal in a more orderly manner than the current, almost completely random system. For instance a long-term goal may be to achieve a cultural victory and along the way they may decide that they need to capture a specific nearby city that has several wonders or is a holy city. In addition to their goals the AI will track the behavior of other civs (including human players) and their own success and failure more closely and use this data to influence descisions. For instance, if the AI decides to attack a neighbor loses the AI will remember how, and if possible why and try a different tactic next time. Much of this is partially in place in BTS already but based almost entirely on random chances or vague data with no effort to remember what did and didn't work in the past.

Real World Map, World Piece Style (Planned) - World maps can be fun, so why not have one that has all of the new terrain types.
 
How to control the global warming variables in XML
There are several new global warming variables in the xml files. First, there are the global defines added in 0.61:

POLLUTION_POPULATION_START_ERA
Any valid era type can be used. The era specified determines when a player's city will produce pollution from the population, in earlier eras there will be no pollution from the population only from the buildings. Pollution IS NOT the same thing as health & unhealthiness although building unhealthiness is used to determine pollution the pollution itself will not cause unhealthiness or have any impact on the city's health.

POLLUTION_BUILDING_MODIFIER
This is a percentage modifier used to adjust the amount of pollution created by a city's unhealthy buildings. The default value is 100, lower values will reduce the effect and higher values will increase it. Unhealthy buildings are things like forges, factories, etc at 100 the game will translate the building's unhealthiness directly to pollution.

POLLUTION_POPULATION_MODIFIER
This is also a percentage modifier like the previous value. This affects the pollution generate by population, at 100 each population point in a city will generate 1 pollution once the civ has entered the defined era. So a size 10 city will produce 10 pollution per turn in the industrial era and beyond. This modifier has no effect on building pollution so this can be used to fine tune pollution to make either buildings or population more or less significant as desired.

POLLUTION_ENVIROMENTALISM_MODIFIER
This modifiers is the final adjustment to the population pollution is the city belongs to a civ using the enviromentalism civic. The default is 50 which means the pollution generated by population points will be cut in half. This has no effect on building pollution since that is already addressed by recycling centers which remove all unhealthiness from buildings. This modifier is applied after the population modifier, so if they're both set to 50 a size 20 city will produce 5 pollution per turn from population for civs running enviromentalism.

Improvement and Feature Pollution
In Civ4ImprovementInfos.xml each improvement has it's own iPollution value and in Civ4FeatureInfos.xml each feature has its own iPollution value. In both cases the result is identical, a positive number creates pollution per turn while a negative number absorbs pollution per turn. Remember, every un-improved tile in the game will already absorb one point of pollution per turn so these values only need to affect those improvements which should actively generate pollution. This can also be used to have features and improvements absorb pollution, by default the forest, jungle and ice features will all absorb pollution. In the case of features this is above and beyond the 'free' point for un-improved tiles. Features can also be defined to generate pollution and improvements can be defined to absorb pollution. This makes it possible to impliment 'water treatment facilities' as improvements for one example.

Defining terrain temperature and global warming terrain types
Ok, this is the big on, and probably the most complicated to explain. In the vanila Civ4/BtS game you have a single global define for the global warming terrain (default is Terrain_Desert), any tile that is randomly select turns into that one terrain type. In World Piece each tile has a temperature defined in Civ4TerrainInfos.xml which is used to determine IF a tile can be affected by global warming and a second warming terrain type that is used to determine WHAT to change that specific tile into.

Here is a sample from the default cool climate grassland terrain type:
Code:
		<TerrainInfo>
			<Type>TERRAIN_COOL_GRASS</Type>
			<Description>TXT_KEY_TERRAIN_GRASS</Description>
			<Civilopedia>TXT_KEY_TERRAIN_GRASS_PEDIA</Civilopedia>
			<ArtDefineTag>ART_DEF_TERRAIN_COOL_GRASS</ArtDefineTag>
			<Yields>
				<iYield>2</iYield>
				<iYield>0</iYield>
				<iYield>0</iYield>
			</Yields>
			<RiverYieldChange>
				<iYield>0</iYield>
				<iYield>0</iYield>
				<iYield>1</iYield>
			</RiverYieldChange>
			<HillsYieldChange/>
			<bWater>0</bWater>
			<bImpassable>0</bImpassable>
			<bFound>1</bFound>
			<bFoundCoast>0</bFoundCoast>
			<bFoundFreshWater>0</bFoundFreshWater>
			<iMovement>1</iMovement>
			<iSeeFrom>1</iSeeFrom>
			<iSeeThrough>1</iSeeThrough>
			<iBuildModifier>0</iBuildModifier>
			<iDefense>0</iDefense>
			<GlobalWarmingClimate>TEMPERATURE_COOL</GlobalWarmingClimate>
			<GlobalWarmingTerrain>TERRAIN_GRASS</GlobalWarmingTerrain>
The two new values are shown at the end of the code block. Valid temperatures are- TEMPERATURE_COOL, TEMPERATURE_TEMPERATE and TEMPERATURE_WARM. I would have preferred to use CLIMATE_ but that's in the game already. This value defined the temperature for tiles using this terrain type, when the global warming events occur each tile is evaluated comparing it's temperature to the surrounding tiles to see if it can warm up. If it can it will transform into the terrain listed in the GlobalWarmingTerrain field, in this example TERRAIN_GRASS which is our temperate grassland. Terrain that can not transform to a warmer version should have this value set to NO_TERRAIN or -1 as thos value are checked first and tiles tha can not transform skip all future evaluation.

This last bit does make it possible to use my global warming code without my climate based terrain textures, it just won't look as good in the process :)
 
This looks pretty good. I like the realistic climates and AI bit, I've been dying for someone to mod the AI so that it only asks for war declarations/trade embargoes in realistic situations.

As for the whole era thing with technologies, the Revolutions mod has a pretty cool idea. The tech pace is normal, but if a civ starts to fall behind on tech (not just a few techs, but substantially behind), it will get some free beakers for a technology for each civilization it knows that has the tech. The 100 turns per era thing is interesting, but I feel setting an objective, defined limit on how long an era lasts is a little "gamey."

I can't play civ till I get home from college this Friday, but maybe I'll give this mod a go then. Can't wait to see screenshots of worlds generated with the script, will have to check that out in the map forum.
 
Screenshots are up :)

Yeah, the turns per era is very gamey, fortunately it's a pretty flexible rule so it doesn't really prevent you from grabbing advanced techs it just makes it more costly. The main thing for me was wanting to be able to play an epic game where I got to enjoy each era for the same amount of game time rather than the normal blitz through medieval time and then just enough time to build my army of riflemen before having to upgrade them all to Infantry. It plays very well through since it's so transparent of a change. In fact, the way tech costs work if you're researching an advanced tech when the turn counter hits the next era you'll probably get the tech right away since the cost drop is instant and Civ 4 calculates the cost constantly.
 
Yeah, the turns per era is very gamey, fortunately it's a pretty flexible rule so it doesn't really prevent you from grabbing advanced techs it just makes it more costly. The main thing for me was wanting to be able to play an epic game where I got to enjoy each era for the same amount of game time rather than the normal blitz through medieval time and then just enough time to build my army of riflemen before having to upgrade them all to Infantry.

Ah, I thought the purpose of the era thing was to prevent other civs from falling behind, which is why I mentioned the Revolutions style of doing it.

I think it was you who mentioned in the Perfect World map thread tinting the map tiles based on the heightmap altitude to give the graphical appearance of height -- any plans to include this?
 
Ah, I thought the purpose of the era thing was to prevent other civs from falling behind, which is why I mentioned the Revolutions style of doing it.
That's another purpose, but not so important. What happens is when Civ4 evaluates the cost it looks at the turn number and then the setting in the gamespeed info for the number of turns per era and compares the current turn to the number of turns per era and then the era of the technology. Then, if the technology is advanced it's cost is increased, if its in the current era nothing changes and if its from the previous era its cost is decreased. Since the cost change is universal and has the same effect on every player it's not so much of a handicap adjuster as it is a pace mechanic.
I think it was you who mentioned in the Perfect World map thread tinting the map tiles based on the heightmap altitude to give the graphical appearance of height -- any plans to include this?
Yes, that's still in the works, in fact the graphics for some of the high altitude terrain is in the mod they just aren't 'hooked-up' to anything yet. I also want to add in different water terrains to show water depth since that could also be used for things like a defense bonus for subs in very deep water and combined with temperature data would allow things like the aqua colored shallows around the Carribean islands (among other places). Of course then those shallows could be used to block subs or large ships. Argh... here I go again, see... when will it end? :)
 
Aw man, I'm glad you posted... I have some of your tweaks to the map script in there too. Eesh... too many credits to keep track of for an old man.
 
Wow this looks great! :D I like the part where certain civs start on different tiles (eg. arabia has a good chance of starting in the desert? :) ). Is it possible to get certain civs to start near each other (like european civs together and asian civs together)? If you could work out how to implement that than this mod would be legendary.

Atm the only part I don't like is the tile limit, which doesn't sound too realistic and would be incredibly annoying in a game ;)
 
Looks interesting. Just curious, is the included map script usable in an unmodded game, too?
No, but you can grab the original PerfectWorld.py in the map scripts forum, SevenSpirits' modified PerfectWorld script is in the same thread and has some extra tweaks that I really liked with resource normilization and starting plot values. I do plan on exposing more optional settings to the players so you can pick & choose which rules to use in your game, once I do that you can essentially play with the new maps ant terrains alone.
 
Wow this looks great! :D I like the part where certain civs start on different tiles (eg. arabia has a good chance of starting in the desert? :) ). Is it possible to get certain civs to start near each other (like european civs together and asian civs together)? If you could work out how to implement that than this mod would be legendary.

Atm the only part I don't like is the tile limit, which doesn't sound too realistic and would be incredibly annoying in a game ;)
Thanks :)

Yes, Civs can be configured to start in cultural groupings... sort of. The normalizer script kicks in after starting plots have been identified and then rearranges the civs on those starting plots based on the values each civ has assigned for terrains, features or resources. So you can take a cultural group, for instance meso-american, and give them a high value for the corn resource (and negative values for resources assigned to different cultures). As long as you chose a resource that isn't all over the place like fish is they should start in clusters. It's not perfect but it will work most of the time. That code is all in dreich's script that he originally made for FFH and his original script has all sorts of instructions for it's use. Lumpthing then made a version of the script with standard civs in it rather than FFH civs, the code is the same so any tricks from either script will work in the other.

The tile limit will be a configurable option later, the main reason it's there now is to help the AI. When they can't create a stack of 20+ units they do a much better job of assembling the stack with appropriate units. It also eliminates the dreaded 'stack of doom' and encourages the AI to assign multiple targets to its multiple stacks making wars generally more interesting. I was orignally enforcing the limit for the AI only, but that didn't seem fair and it made it too easy for a human player to build a SoD that was more potent than ever. In practice, a stack of eight units is still tough and two stacks of eight is just as scary as one stack of sixteen. City defense is a little more interesting too, you have a per tile advantage in the city itself so you need to keep the enemy from surrounding you to maintain that advantage.
 
"Your download has failed. There were no available download servers." :( :( :(
Some error on FileFront :(
I'll see if I can get it mirrored somewhere else today :)
 
Updated the orignal post with an alternate download mirror for anybody having trouble with File Front, might not be the fastest download but it'll work in a pinch.

I also added a list of pending changes to the 3rd post so you'll have an idea of what to expect in future updates or to make sure I read your post :)
 
I should have expected something like this from you. So there WAS a reason you were compiling all these SDK snippets ;)

The Climate Changes (and the appropriate placing of civilizations) sounds like the best addition so far. Good job on this man, it looks good, and I'll be sure to give it a try.
 
Heh :)

This is actually a collection of changes that I've been using in weekend LAN games for ages, I just finally decided to put it into a package that would be easy to upload for public consumption.

I'll release the dll source later, I was expecting to run through som rapid updates after the initial release so if or when that slows down I'll post the source code as a seperate download for anybody interested.
 
Naval Movement: Movement on water tiles has been adjusted, all of the ships have double their normal movement points however coastal tiles require 2 movement points to enter. Essentially, this makes ocean travel a bit quicker which is important on larger maps generated in this mod with the size of the oceans.

Good idea! I always wondered why the developers never thought about trying to balance naval movement points for the larger maps. This is a huge reason why I don't play any map larger than Standard-size....and your solution seems like it might be a winner.

Just curious -- if your mod mainly focuses on the larger maps, have you considered re-adjusting the air/missile unit ranges? Four squares just isn't much on a large map, let alone huge.
 
Back
Top Bottom