Playtesting - Issues & Findings:
After resolving the "too many Wonders & Buildings" issue, Cradle 5 is now approaching a "final state", so it was time for a new series of extended playtests. This identified a number of problems, and I'll briefly review them, roughly in the order in which they presented and were resolved:
1) Full Civ Revolt CTD: Initially, all games failed to progress beyond 1200 BC before an unrecoverable CTD brought them to an end. Eventually I traced that back to instances of "full civ revolts" in which EVERY city switches over to a new civ, and apparently that is not something the code can handle. Digging deeper, the unhappiness levels causing these revolts were directly tied to a pair of issues:
- First, there were improperly high "War Discontent" values in "govern.txt" (see post # 198 for a discussion on this mechanism). In particular I foolishly set the threshold to "zero" for Anarchy, which meant that every time a civ switched governments - especially if there were a lot of units in the field - the unhappiness levels spiked beyond the civ's ability to offset it with sliders.
- The second factor involved the original (as yet unmodified) Cradle 3 settings in DiffDB.txt, specifically those which reduced the cost of everything for the AI - in particular at the higher difficulty settings. The in-game effect was something like MAD (mutually assured destruction) since AI civs could see that their opponents were fielding huge armies, so all sides kept building more and more units until eventually the "War Discontent" values caused a civ-wide revolt and brought everything crashing to the ground.
- The solution involved fixes to the War Discontent values in govern.txt and replacing the Cradle 3 entries with most of the AE cost, research, and production values in DiffDB. With those two changes, games can now play through to 2025 AD (see attached) and beyond.
2) Single-City Civ Revolt CTD: Even after the fixes noted above, it is quite common for single cities to revolt and become a new civ. This is fine, and the game has no problem with it. However, if one of these single-city-civs revolts into a new civ (f/e Nubia revolts and becomes the Inca), that can result in a CTD as well. I couldn't find a fix for that, but you can simply reload the game from the last auto-save and it will continue without a problem. Disconcerting, but not an issue.
3) Dynastic House Issue & Great King improvement: As described way back in Post # 3, the Dynasty Advance allows all players to construct the Dynastic House building and receive the "Great King" unit. However, if a civ loses their capital, they can build a new Dynastic House and receive another Great King. Not really a problem in the early game, but potentially this could happen long after the era of Great Kings was over. So now this structure has been given the "ObsoleteAdvance ADVANCE_CITY_STATE" attribute, so it can longer be constructed after the discovery of City State. In a related change, the Great King now has the same movement (from 2 to 3) and vision (1 to 2) attributes as Sargon, and building the Dynastic House also grants the player a free chariot unit.
4) Quinquireme Sprite: Unlike every other unit, the rebuilt Quinquireme sprite had the shield in the center of the ship as it moved around. Not sure how I missed that, but the sprite has now been fixed.
5) Wonder Unit Upgrades: As each civ gained the "Age of Reason" Advance, their Wonder Units upgraded to the Field Marshall/Brigadier replacements, so the new system is working properly.
6) Emancipation Proclamation: Although this Wonder eliminated all Slavers and freed all slaves in all cities, it did not stop civs from building new Slavers. Fortunately the SC team added a new Wonder attribute (ProhibitSlavers) and once that was applied to the Emancipation Proclamation Wonder, no further slaver-type units (or abolitionists) could be constructed.
7) Pollution: Several of the test games used unmodded AE, primarily to gauge differences with Cradle in terms of speed and AI aggressiveness. One notable finding is that pollution was a serious problem in all AE games, including numerous Dead Tiles appearing in the Middle Ages and even a Global Warming event prior to 2000 AD. By contrast, in Cradle the effect of pollution is gradual and even by 2000 AD there were no dead tiles (although the "pollution meter" was rising steadily - see attached). That's good, because it means no changes are needed to the Cradle pollution settings and buildings.
8) "CanBeExpelled" Attribute: The AI does not understand the true use for Plunder units (disbanding them in cities to gain shields or population), so it uses them to explore. At least that's something, but it's annoying to have them clogging up space inside your territory. A similar but more dangerous problem is when otherwise peaceful civs send Hired Thugs or Assassins to perform their nefarious acts against you, and they too aren't easily removed. All six units now have the "CanBeExpelled" Attribute", which allows them to be evicted at low diplomatic cost.
9) War Elephant size: Elephants are the only "Large" land unit (besides the late-game "Leviathon"), and that means they can't be loaded onto ANY troop carrying vessels. Even tanks are "Medium"! War Elephants now changed to Medium.
10) Wonder TIMP fixes: Several issues cropped up during these playtests.
- The Wonder TIMP code only allowed them to be built on Grassland, Plains or Desert, but frequently those are not available or have been used by other Wonder TIMPs. When that happens, the new Wonder destroys the old by being built on top of it. The solution was to expand the number of acceptable terrain types to Forest, Jungle and Hills.
- Once the AI is able to Terraform, it does not factor in whether a Wonder TIMP is sitting on a terrain type that it wants to transform, destroying the Wonder TIMP in the process. The solution was to add code from the Natural Wonders slic file, so the AI can't do ANYTHING to a tile which contains a Wonder TIMP.
- A few times, one AI civ would gain technological ascendancy over the others, and start building all the Wonders before any other civ could get them, and would usually do so in the best production city. So a single city would begin to acquire ALL the visible wonders, and usually wouldn't have enough room to place them, so all the older wonders would be wiped off the map. The solution was to add a limit of 5 Wonders per city (in Const.txt, MAX_CITY_WONDERS setting changed from 1000 to 5), so it keeps the AI (and the human) from building up a powerful production city and assigning all the Wonders to that one location.​
After resolving the "too many Wonders & Buildings" issue, Cradle 5 is now approaching a "final state", so it was time for a new series of extended playtests. This identified a number of problems, and I'll briefly review them, roughly in the order in which they presented and were resolved:
1) Full Civ Revolt CTD: Initially, all games failed to progress beyond 1200 BC before an unrecoverable CTD brought them to an end. Eventually I traced that back to instances of "full civ revolts" in which EVERY city switches over to a new civ, and apparently that is not something the code can handle. Digging deeper, the unhappiness levels causing these revolts were directly tied to a pair of issues:
- First, there were improperly high "War Discontent" values in "govern.txt" (see post # 198 for a discussion on this mechanism). In particular I foolishly set the threshold to "zero" for Anarchy, which meant that every time a civ switched governments - especially if there were a lot of units in the field - the unhappiness levels spiked beyond the civ's ability to offset it with sliders.
- The second factor involved the original (as yet unmodified) Cradle 3 settings in DiffDB.txt, specifically those which reduced the cost of everything for the AI - in particular at the higher difficulty settings. The in-game effect was something like MAD (mutually assured destruction) since AI civs could see that their opponents were fielding huge armies, so all sides kept building more and more units until eventually the "War Discontent" values caused a civ-wide revolt and brought everything crashing to the ground.
- The solution involved fixes to the War Discontent values in govern.txt and replacing the Cradle 3 entries with most of the AE cost, research, and production values in DiffDB. With those two changes, games can now play through to 2025 AD (see attached) and beyond.
2) Single-City Civ Revolt CTD: Even after the fixes noted above, it is quite common for single cities to revolt and become a new civ. This is fine, and the game has no problem with it. However, if one of these single-city-civs revolts into a new civ (f/e Nubia revolts and becomes the Inca), that can result in a CTD as well. I couldn't find a fix for that, but you can simply reload the game from the last auto-save and it will continue without a problem. Disconcerting, but not an issue.
3) Dynastic House Issue & Great King improvement: As described way back in Post # 3, the Dynasty Advance allows all players to construct the Dynastic House building and receive the "Great King" unit. However, if a civ loses their capital, they can build a new Dynastic House and receive another Great King. Not really a problem in the early game, but potentially this could happen long after the era of Great Kings was over. So now this structure has been given the "ObsoleteAdvance ADVANCE_CITY_STATE" attribute, so it can longer be constructed after the discovery of City State. In a related change, the Great King now has the same movement (from 2 to 3) and vision (1 to 2) attributes as Sargon, and building the Dynastic House also grants the player a free chariot unit.
4) Quinquireme Sprite: Unlike every other unit, the rebuilt Quinquireme sprite had the shield in the center of the ship as it moved around. Not sure how I missed that, but the sprite has now been fixed.
5) Wonder Unit Upgrades: As each civ gained the "Age of Reason" Advance, their Wonder Units upgraded to the Field Marshall/Brigadier replacements, so the new system is working properly.
6) Emancipation Proclamation: Although this Wonder eliminated all Slavers and freed all slaves in all cities, it did not stop civs from building new Slavers. Fortunately the SC team added a new Wonder attribute (ProhibitSlavers) and once that was applied to the Emancipation Proclamation Wonder, no further slaver-type units (or abolitionists) could be constructed.
7) Pollution: Several of the test games used unmodded AE, primarily to gauge differences with Cradle in terms of speed and AI aggressiveness. One notable finding is that pollution was a serious problem in all AE games, including numerous Dead Tiles appearing in the Middle Ages and even a Global Warming event prior to 2000 AD. By contrast, in Cradle the effect of pollution is gradual and even by 2000 AD there were no dead tiles (although the "pollution meter" was rising steadily - see attached). That's good, because it means no changes are needed to the Cradle pollution settings and buildings.
8) "CanBeExpelled" Attribute: The AI does not understand the true use for Plunder units (disbanding them in cities to gain shields or population), so it uses them to explore. At least that's something, but it's annoying to have them clogging up space inside your territory. A similar but more dangerous problem is when otherwise peaceful civs send Hired Thugs or Assassins to perform their nefarious acts against you, and they too aren't easily removed. All six units now have the "CanBeExpelled" Attribute", which allows them to be evicted at low diplomatic cost.
9) War Elephant size: Elephants are the only "Large" land unit (besides the late-game "Leviathon"), and that means they can't be loaded onto ANY troop carrying vessels. Even tanks are "Medium"! War Elephants now changed to Medium.
10) Wonder TIMP fixes: Several issues cropped up during these playtests.
- The Wonder TIMP code only allowed them to be built on Grassland, Plains or Desert, but frequently those are not available or have been used by other Wonder TIMPs. When that happens, the new Wonder destroys the old by being built on top of it. The solution was to expand the number of acceptable terrain types to Forest, Jungle and Hills.
- Once the AI is able to Terraform, it does not factor in whether a Wonder TIMP is sitting on a terrain type that it wants to transform, destroying the Wonder TIMP in the process. The solution was to add code from the Natural Wonders slic file, so the AI can't do ANYTHING to a tile which contains a Wonder TIMP.
- A few times, one AI civ would gain technological ascendancy over the others, and start building all the Wonders before any other civ could get them, and would usually do so in the best production city. So a single city would begin to acquire ALL the visible wonders, and usually wouldn't have enough room to place them, so all the older wonders would be wiped off the map. The solution was to add a limit of 5 Wonders per city (in Const.txt, MAX_CITY_WONDERS setting changed from 1000 to 5), so it keeps the AI (and the human) from building up a powerful production city and assigning all the Wonders to that one location.​
Comment