[submod] Cross' Overhaul (Wu, Bulgaria, Muslim-Egypt, Macedon, Iroquois, Armenia, Parthia, Minoans, Ghurids, Timurids)

Sorry, context?
Check out the Civ 4 General Discussion forum, some crazy stuff has been going on, started in a thread discussing the possibility of a multithreaded DLL like what the We The People mod for Civ4Col uses, and then snowern shows up out of nowhere with screenshots of a work in progress custom exe, made by like, finding the exe calls in the DLL source code and adding functions for those calls in the custom exe. Civfanatics mods have been part of the discussion about what snowern is making on the multithreading thread, so I guess that method manages to sidestep Civ 4's EULA.
 
@Crossphazer Could you please add a Spoiler to the original post explaining how to access the latest version of your work? After renaming vanila RFC Dawn of Civilization and cloning your version I was able to make things work by changing develop brunch to southernChina, but I am still not sure if I have all your latest changes...
 
@Crossphazer Could you please add a Spoiler to the original post explaining how to access the latest version of your work? After renaming vanila RFC Dawn of Civilization and cloning your version I was able to make things work by changing develop brunch to southernChina, but I am still not sure if I have all your latest changes...
I'll update the OP in a bit, but for ease of use I just changed the name of the mod (and thus the folder) to RFC Dawn of Civilization Cross Overhaul, so that you don't need to rename the original DoC folder. The README on the link of the branch itself has been updated to indicate this.

go to this link: https://github.com/crossCiv4/Dawn-of-Civilization/tree/southernChina, click the green Code button, then click "download zip", or you can clone that branch, like git clone https://github.com/crossCiv4/Dawn-of-Civilization/tree/southernChina or you can clone it using a GUI tool like GitHub Desktop. If you cloned it, then you can do git pull when on that branch to get the latest commits. The latest one as of this post is Rename the folder to RFC Dawn of Civilization Cross Overhaul. Short hash 2c14ee0ec.

Therefore everyone who updates to this latest commit should rename their mod folder. I'm only doing this once, and it's just so both mods can easily coexist on in the same folder without renaming or symlink funny business.
 
Altered some modifiers based on autoplay as Dutch and Canada. Made copper & iron more accessible to both Chinas, while still keeping the locations plausible. The region just north-west of Chang'an, where the Qiang spawn, has been given horses.
I slightly nerfed China's starting techs, partly because it makes sense (China should not have the tech to make chariots in 2070 BC), and partly to help the Babylonian tech UHV, because China tends to grab construction very early on. I think I'm happy with the starting techs of Yangtze China, but I need to figure out a way for Yellow River China to be a bit further along in tech by 200AD, without giving it the modifiers that would make it a tech powerhouse in the 1700s and 1800s.

Although I have tried to balance China to help out the Babylonian tech UHV, I might end up changing the tech UHV for Babylon if it's just too unpredictable. A single civ beelining a particular tech can totally wreck your UHV, and I'm not a big fan of that. I might simplify it to "be the first to research contract" or law, so that you have a clear tech beeline goal, and have to compromise research in other paths of the tree, but if you stay focused, it you shouldn't fail the UHV through RNG. Likewise, as Yangtze China with its tech goal, I have a similar issue where all it takes is a civ like Arabia, Byzantium, or the rare Carthage that survives the barbarian migrations, to research a tech like compass, to totally mess up the goal. I think that one is less RNG dependent than the Babylonian one though.
 
Last edited:
A few updates:
  • I started migrating city language names into the new structure that Leoreth had set up but not yet populated. It will be a little while to fully migrate them all.
  • Moors have a small disincentive to research printing, to avoid snagging it too early
  • Spain's spawn area has been reduced so it doesn't flip Galicia nor Marseille, but can still flip tiles immediately west of Marseilles.
  • Barbarian city spawns in Galicia in 500 AD to represent the Suevi. I found that Spain has actually been doing too well, now that the Moors more reliably collapse/fragment.
  • The base city name map tweaked to add some missing entries, like in the Tarim Basin or Indonesia, where the city would be "?"
  • Egyptian city names tweaked. Alexandria back on the map in terms of naming, same for Memphis etc
  • Yangtze China UHV2 made a bit easier. Vassalizing or controlling all of southern India (Dravidia) no longer required, and the "city in Africa and India" subgoal moved to 1550AD. Vassalizing or controlling Korea, Indochina and Indonesia is definitely possible by 1450AD, I've done it in a game recently (Epic speed, which is the speed I play my own games at). 4 golden ages by 1900 is probably too easy, but it will allow me to continue to exploring playing to 1900 and seeing if I need to make any tweaks or events to make East Asia interesting into the industrial age.
  • Continuing to improve dynamic civ names. Mongolia if Muslim is now Ilkhanate, rather than requiring capital to be in Persia (which is still a possible condition for triggering the name).
  • Added a "Farsi" language, to distinguish ancient Persia from the more modern variant. This gives places in Persia and the Levant names that fit the Medieval, Early Modern and Modern world, when the "Iran" civ spawns.
  • Phoenicia, when in the Tunisia period, uses Arabic language for city names.
 
Last edited:
Big update!

  • Bulgaria added as a civ!
    • Now the Balkans should be more alive
    • Most of the assets taken from the wonderful RFC Europe, although the values/definitions for the UP, UU, UB and UHV have been significantly revamped, both to match DoC feel and to feel more thematic
    • Konnik UU: horse archer replacement, has hills & forest promotions, so very deadly in difficult terrain. Meant to represent the many times Bulgarians or other Balkan states have ambushed, deceived or harassed a larger army into defeat
    • Stan UB: weaver replacement. +1 Xp to light cav, bonus from horses, more culture
    • UP that gives every land unit Disengage I (i.e. withdrawal chance), same theme as the UU
    • UHV1: pillage x20 by 900, own Greece, Balkans, Pontic Steppe in 1250 (a bit more ambitious than IRL)
    • UHV2: Discover writing and literature before a certain date (incentive to rush the techs, do tech trading), + 2 orthodox cathedrals by 1000 and 2 great artist + 2 great prophet by 1250 (might be too hard a goal, I will need to tune it)
    • UHV3: no Islam in Europe in 1500
  • Balkan barbarians and independents tweaked to fit with the addition of Bulgaria
  • Name maps continue to be expanded.
  • Carthage fall date set to 330. I will probably go back and forth between if it should have a fall date or not, depending on how often I want "strange" outcomes
  • AI HRE has one more settler and archer. I want HRE to expand south and east more quickly, before Poland spawns
  • Ruthenian language for Rus. Basically contains the oldest known East Slavic names for places. A lot of well known locations in modern Ukraine date from the Tatars, Turks and Russians, so names of older nearby settlements were used. Namelist used by Rus, Bulgaria. When time permits I will probably add Ukrainian as a separate name list for if and when Rus respawns, which would be its own "period" in mechanical terms.
  • Scandinavian region split into Denmark, Norway and Sweden (sorry Finland, but you're considered a part of the Sweden region...). This makes it easier to use for the Norse dynamic names, and also for purposes of defining certain regions for the AI.
TODO:
  • Dynamic names and periods for Bulgaria, to allow flexibility in being considered as other Balkan civs like Serbia, Croatia, Bosnia, Hungary (or others), based on the location of the capital, the era, the religion, the year, etc.
  • Balancing for Bulgaria and its neighbours.
 
Last edited:
  • Tweaking the Bulgarian UHV, mostly to make it easier while keeping the same spirit
  • Tweaking the Bulgarian UU, replacing the guerilla/woodsman promotions with "mobiilty" promotion, hardcoded bonus to attacking hills, lower overall retreat % (it was up to 80% with 2XP for the disengage 2 promotion)
  • Gave Janissary 25% against Light Cav (in addition to current 25% bonus against Heavy Cav, Melee and Archer)
    • This is to reflect the Ottoman effectiveness in countering mounted archery, notably with use of field fortifications
  • Created Crimea region, to subdivide the Pontic Steppe region into its coastal and non-coastal components. It is now easier for Ottomans and Bulgaria to achieve their area control UHVs, as they only need to control the coastal region rather than almost into Kazakhstan.
  • Name map tweaks, Byzantine settler map tweak to re-prioritize settler locations
Considering extending the hammers/commerce bonus to Horses that Stan gives, to sheep as well. Horses are fairly scarce. Possibly changing the bonus to food/commerce, as the Balkans are food-poor but production-rich.
 
Last edited:
Every 10 turns, when checking for respawning civs, only one civ at a time can be reborn in this way. I realized it was bottlenecking respawns for civs whose rebirth dates were around the same time, so I removed that constraint. I'm seeing better results, but I may need to tune the respawn rates as a result, as, in effect, it makes rebirths more likely.

I was also considering making a fully-fledged civ out of the Ayyubid/Mamluk phase of Egypt. Currently, it exists as a respawn of Egypt, but civ respawns are always a little bit weak and short-lived, and that is unbecoming of medieval Egypt. It would also allow for the player to play as them, for them to have their own UHVs, UU, UB, UP. With the right fall date and tech / upkeep modifiers, I can have them start strong but give way to the Ottomans in most instances.
 
Every 10 turns, when checking for respawning civs, only one civ at a time can be reborn in this way. I realized it was bottlenecking respawns for civs whose rebirth dates were around the same time, so I removed that constraint. I'm seeing better results, but I may need to tune the respawn rates as a result, as, in effect, it makes rebirths more likely.

I was also considering making a fully-fledged civ out of the Ayyubid/Mamluk phase of Egypt. Currently, it exists as a respawn of Egypt, but civ respawns are always a little bit weak and short-lived, and that is unbecoming of medieval Egypt. It would also allow for the player to play as them, for them to have their own UHVs, UU, UB, UP. With the right fall date and tech / upkeep modifiers, I can have them start strong but give way to the Ottomans in most instances.
You can have the start date at 970 if you choose to include the Fatimid caliphate, which centred in Egypt from that point.
 
You can have the start date at 970 if you choose to include the Fatimid caliphate, which centred in Egypt from that point.
Indeed. I am deciding between the 970 date, and a date around 1170 for the spawn of a Muslim Egyptian civ. While the earlier start would give more play time to that civ (which is always nice), the 1170 spawn would allow for the Arab world to be in decline in the 10th and 11th centuries, where Byzantines, Turks and Crusaders can be on the offensive, and then have a resurgence when Ayyubid Egypt spawns.

I suppose I can apply the usual solution and give this civ a bunch of troops or a conqueror event in 1170, but have it spawn in 970.

At some point I will need to refine the various Crusades (Levant, Spain, Baltics) into events rather than my current solution of having a conqueror event in 1080 and another in 1180. RFC Europe had Crusade events, so I will probably take a look at those.
 
New civilization: Misr aka Muslim Egypt

Assets taken from the current Egypt civ, RFC Sword of Islam, "Military Encampment" building from the art subforum.

Start date: 970
Fall date: 1500
Revives: 1800 to 2020

UP: Free combat I promotion, but unit maintenance is fairly high
UU: Mamluk cavalry, a lancer that has some horse archer-like mechanics: withdrawal chance, 1 first strike, desert adaptation (might be overpowered! I'll consider other options, like classifying it as light cavalry, or Shock promotion)
UB: Qalaat, a castle with +10% land unit production bonus
UHVs:
  1. no Orthodox or Catholic civs in the Middle East, only Middle Eastern civs in the Middle East in 1300
  2. Commerce & open borders goal in 1500
  3. Railroad from Egypt to South Africa, a deliberate copy of the England UHV as an alt-history scenario
Leaders: Saladin, Baibars, Nasser. Egypt and Arabia have had those leaders removed from their roster.

Some simplifications to how the number of conqueror units are determined. It was getting a little messy in the code.

TODO:
Balancing for Misr, dynamic names, any relevant bug fixes.
A simplified version of the Crusades from RFCE. Won't be as elaborate. I don't plan on "sending units" the way RFCE does it, nor the politics/voting/faith part of it, since the focus of RFC DoC is global. The way I'm thinking of doing it, is that there is a list of regions, and if the owner is not Catholic, there is a random chance that a randomly selected Catholic European civ will get to do a crusade in a region of their choice. The AI will be biased towards closer/historical locations, if possible. Then, a "conquerors" event triggers. For a human player, they might need to contribute money in order to activate the event, I'm not sure yet. As in RFCE, the Reformation ends Crusades.
 
Last edited:
Idk why but when i pick a civilization and try to load in it crashes; not an issue with the name of the folder too
 
Idk why but when i pick a civilization and try to load in it crashes; not an issue with the name of the folder too
Have you updated to the latest version? I pushed a number of fixes throughout the day, including a crash fix.

I just pushed another change which adds another UU to the Misri, the Naffatun (crossbow replacement that is a sort of early grenadier unit), as well as some balance tweaks.
 
Last edited:
Lots of small changes:
  • Bulgaria and Byzantium start at war
    • Helps prevent player getting too cozy with Byzantium on spawn
    • Gives AI a chance to make an impact with its initial units
    • Prevents AI from too easily becoming a willing vassal of Byzantium
  • Aleppo moved to the "Levant" region.
    • This will come in handy later, when working on Crusades by region
  • Name maps continue to be expanded.
  • Slight nerf to Alexander the Great conquerors (1 less Companion, 1 less catapult)
  • Roman worker UU, that is a regular worker but can build Roman Roads
    • This is because the AI fails to use Legionaries for this purpose
    • I don't really see a balance problem with letting the human player use workers for Roman Roads
      • The workers are more optimally put to use building improvements, so Legionaries are still useful for road building when not used offensively
  • Mamluk fall date moved back to 1382
  • Bugfixes relating to Muslim Egypt
    • Fixed order of Baibars and Nasser leaders
    • Dynamic name fixes
    • UU tweaks
  • Fix typo in the adjusted rebirth window of (Pharaonic) Egypt
    • It was erroneously set from -300 to -320 rather than from -3000 to -320. I suspect it was at the root of the crash while in autoplay, as I have not encountered that issue since.
 
The Balkans do feel like really lacking on stuff especially now after a larger map was implemented for 1.18 update. Bulgaria's addition does seem to be solving this issue in a way
 
After pulling the latest git version I am getting CtD error during the initialization after successfully choosing the civ and settings. And by the way , which brunch should I chose from: develop or southchina, please?
 
After pulling the latest git version I am getting CtD error during the initialization after successfully choosing the civ and settings. And by the way , which brunch should I chose from: develop or southchina, please?
SouthernChina branch, as was linked in the OP of the thread.

I have switched to develop and indeed it crashes to desktop, but it is not where I have been doing my work. It probably crashes to desktop because it is not configured to work with the "RFC Dawn of Civilization Cross Overhaul" name, or possibly the DLL merge when synchronizing with Leoreth's repository was faulty.

However, since at least 2 people have made that mistake (even if it didn't CtD, develop was 360 commits behind and didn't have any of my changes!), I merged the PR into develop.

So now develop should be the branch people use. I have updated the link in the OP.
 
Last edited:
Thanks, but I am still getting a crash :dunno:. Perhaps "RFC Dawn of Civilization Cross Overhaul" is too long of a name for some machines? Is anyone else able to start a game without a crash?
 
Thanks, but I am still getting crush :dunno:. Perhaps "RFC Dawn of Civilization Cross Overhaul" is too long of a name for some machines? Is anyone else able to start a game without crash?
What is your full path? Of course, if it contains your username, you may want to obfuscate it for privacy, but keep the same number of characters. My path (132 characters long) is
E:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC Dawn of Civilization Cross Overhaul
What commit are you on? The most current commit has a short hash code of f92697f6c .
I would rather not have to rename it (and therefore for everyone else to also have to rename the folder) unless your path is near or over the 256 character limit for win32 applications.
Even if I installed Steam under C:\Program Files it would only add 14 characters to the path, or another 6 for (x86)

1728147686387.png
 
Top Bottom