Resource icon

C3X: EXE Mod including Bug Fixes, Stack Bombard, and Much More Release 25

The logic for volcanos works in terms of years. I would have to change it to work off of months or weeks instead, which wouldn't actually be difficult. The way it works is that the game only rolls for volcanos to become active at most every two years. If less than two years pass between turns, it won't roll every turn. The chance for each volcano to become active, when it does roll, is proportional to the number of years since the last time it rolled, up to a maximum of 50. The "maximum eruption period" just affects the overall frequency of activity and setting it lower wouldn't help if the game only tries to activate volcanos every two years.
Ah, that makes sense! That's for taking the time to look into that.
 
This mod was my reason to finally sign up for Civfanatics after nearly 2000 hours of Civ III gameplay.
Dear Flintlock, fantastic stuff, especially with the most recent addition of a raised city max cap. I'm running into one issue, however: It seems like only the first ~512 cities are tradable in the diplomacy menu. Which of course leads to some frustrating moments where the only way to obtain a city is with more aggressive ways. Furthermore, I tried multiplayer recently for the first time after having installed the mod, and soon enough I ran into a desync error at the beginning of every single turn, even though I used the unmodded exe and my playing partner had the most recent Steam version installed just like me. Do you know if this might be related to the mod?
Best wishes, and thanks again for your splendid work.
 
This mod was my reason to finally sign up for Civfanatics after nearly 2000 hours of Civ III gameplay.
Dear Flintlock, fantastic stuff, especially with the most recent addition of a raised city max cap. I'm running into one issue, however: It seems like only the first ~512 cities are tradable in the diplomacy menu. ... I ran into a desync error at the beginning of every single turn, even though I used the unmodded exe and my playing partner had the most recent Steam version installed just like me. Do you know if this might be related to the mod?
Welcome! I'm glad to hear you're enjoying the mod. I'll fix that issue with only the first 512 cities being tradable. When I lifted the city limit, it didn't occur to me at all that the trade screen would need to be modified to handle that. It's a simple modification, and when I was looking at the code, I noticed there's a similar issue for the unit limit in that only the first 8192 are tradable. I'll fix that too. I can't imagine how that desync could be caused by C3X if you were using the unmodded EXE. Installing the mod only creates the modified EXE, it makes no other changes to the game's files.
 
Dear, Civ III and C3X fans. Many greetings from Germany. Me and my friend are fans of both, too!

For more than ten years we are modifying Civ3Conquests (with actually about 150 new buildings and over 80 new units, 5 new governments et cetera), using the editor and since the moment we discovered C3X also using this. We are very happy about that, because i.e. the new enabled possibility of modding the number of fields a city can use is great.
We decided us for a distance of 3.

Flintlock realized our wish for a unit-limit per field we ask him in November 2024 already.
Many thanks for that! This is really also a great modification of the game, because nothing is more boring, than attacking (and even being attacked) by stacks of dozens of units.
This can now be disabled.

There are some similar wishes and we decided to address these wishes to Flintlock here, so everyone can discuss about that.

1. The 5% treasury interest has a limit of 50 gold per turn. If this cap could be edited would be again a new deep change for the game!

2. Could ships that are still in the harbor of a captured city be also captured as it happens with catapults (and workers).

3. If that is possible, could then maybe even the ability be added to the game, that a unit can convert units from other players? (Like the priest in Age of Empires)

4. Could it be possible, that a special-unit gets the ability to heal another unit in the field?

5. Could possibly Sea-Armies be added to the game?

6. Deleting the flag “Golden Age did happen” to “... did not happen” that is allowing a 2nd Golden Age. For example, by building a small wonder.

7. A very desired innovation would be the rebirth of the caravans from Civ1 and Civ2.

8. Could somebody explain us, how the Cruise Missiles work? We would be very happy about a new unit, that could damage all units of stack (but not killing them). The Cruise Missiles do this already. But when we tried to create another unit with this ability earlier in the game, we couldn't get it to work. While it seemed that the computers could make big stacks disappear with it.

9. Could maybe a 2nd (or more) Enslave Result(s) be added that are randomly chosen?

Many thanks for answers ;-))

We plan, to translate our mod into English and publish it here. Sadly until now we weren't able to edit the civilopedia. Normally I have an editor window opened with the actual scenario, so I can easy look up everything that I don't remember up there.
 
Last edited:
Flintlock, thanks for looking into the espionage requirements. As you said, it seems as if there is some surprising logic in place.
 
Another quick update on districts: I've made a lot of progress with the AI and think it is ready for alpha release. The only remaining major item I'm sorting out is a couple bugs with distribution hubs, which I hope to solve soon. I've run through dozens of simulations with the AI with the following settings:

Code:
enable_districts = true
enable_neighborhood_districts = true
enable_wonder_districts = true
enable_distribution_hub_districts = true
enable_aerodrome_districts = true

cities_with_mutual_district_receive_buildings = true
cities_with_mutual_district_receive_wonders = true
air_units_use_aerodrome_districts_not_cities = true

maximum_pop_before_neighborhood_needed = 6
per_neighborhood_pop_growth_enabled = 2

completed_wonder_districts_can_be_destroyed = true
destroyed_wonders_can_be_built_elsewhere = true

distribution_hub_food_yield_divisor = 2
distribution_hub_shield_yield_divisor = 2
ai_ideal_distribution_hub_count_per_100_cities = 10

ai_defends_districts = true

minimum_city_separation = 5
city_work_radius = 3
ai_worker_requirement_percent = 300

So cities are more spread out, of course. After much trial and error, I'm relatively confident in the current system of AI cities queuing up districts they need, finding the nearest worker(s), building them, then quickly reverting back to the delayed dependent buildings. The AI is reasonably good at replacing tiles it wants districts on and rebuilding them, and also generally does not make duplicative, unneeded districts. It's quite fascinating to watch the AI create industrial corridors, and it's also necessary for the AI to keep many more workers on hand.

Screenshot 2025-10-24 at 4.07.57 PM.png


War also looks and feels quite different, with battles more spread out and urban warfare the norm in the industrial and modern eras. Watching AIs desolate one another's infrastructure is kind of amazing.

Screenshot 2025-10-24 at 4.46.22 PM.png


So I hope to have the distribution hub bugs fixed and then we can move toward an alpha release soon. The Day/Night Cycle District art will likely not be completely ready but I'll finish that once districts is out for testing.
 
Dear, Civ III and C3X fans. Many greetings from Germany. Me and my friend are fans of both, too!
...
There are some similar wishes and we decided to address these wishes to Flintlock here, so everyone can discuss about that.
Hello, I'm glad to hear you're enjoying the mod.

The treasury interest limit of 50 GPT is unfortunately harder to remove than it should be considering how simple it is. The issue is that the code to apply the limit has been duplicated many times throughout the game logic. Whenever the game needs to compute a player's gold income, it separately computes the interest then applies the limit. You'd think there would be one function to compute income which is used by all the various places that need to know that, and maybe there was in the original source code, but in the final EXE, changing the 50 GPT limit would require identifying and patching all those places.

I expect allowing some units to heal or convert others would be straightforward. It shouldn't conflict with other parts of the game code so it should just be a matter of programming those effects including enabling the AI to use them. That's something that would be a good fit for Lua, which I still haven't gotten around to working on for real, but hopefully, eventually...

Allowing multiple golden ages wouldn't be a problem, the only issue is I'd have to work around the existing GA logic to make sure not to block GAs from unique units or allow multiple of those. I remember sea armies were requested before but I don't recall the details. I think they partially work but I don't remember what's wrong with them exactly. As of R24, C3X has a basic AI routine for caravan-like units, see enable_caravan_unit_ai in the config INI. The caravans are just regular units that have no use other than to be disbanded for shields. The idea is that they would be spawned for free by a wonder since no one would want to build them given that disbanding only returns 25% of the shield cost. Making caravans exactly like in Civ 1 & 2 wouldn't be difficult, but again that's something I'd leave for after Lua.
 
:thanx::woohoo::thanx::woohoo::thanx:
Wow! Christmas has come early this year. How many more tricks like this do you have up your sleeve?
:clap::clap::clap::clap::clap:
-are there any plans for being able to spawn the districts onto custom maps at the game start?
So, turns out I have one more trick up my sleeve :)

Because, well, once I got to thinking about it I couldn't not adapt @Quintillus ' wonderful editor to allow for districts...

Screenshot 2025-10-28 at 9.09.20 PM.png


More to come :egypt:
 
Last edited:
Hello!
... maybe, will it be possible to upgrade soldiers in the army? ... or maybe, disband the soldiers in an army, so that they can be upgraded?...
Thanks for your attention!
 
Last edited:
Another quick update on districts: I've made a lot of progress with the AI and think it is ready for alpha release. The only remaining major item I'm sorting out is a couple bugs with distribution hubs, which I hope to solve soon. I've run through dozens of simulations with the AI with the following settings:

Code:
enable_districts = true
enable_neighborhood_districts = true
enable_wonder_districts = true
enable_distribution_hub_districts = true
enable_aerodrome_districts = true

cities_with_mutual_district_receive_buildings = true
cities_with_mutual_district_receive_wonders = true
air_units_use_aerodrome_districts_not_cities = true

maximum_pop_before_neighborhood_needed = 6
per_neighborhood_pop_growth_enabled = 2

completed_wonder_districts_can_be_destroyed = true
destroyed_wonders_can_be_built_elsewhere = true

distribution_hub_food_yield_divisor = 2
distribution_hub_shield_yield_divisor = 2
ai_ideal_distribution_hub_count_per_100_cities = 10

ai_defends_districts = true

minimum_city_separation = 5
city_work_radius = 3
ai_worker_requirement_percent = 300

So cities are more spread out, of course. After much trial and error, I'm relatively confident in the current system of AI cities queuing up districts they need, finding the nearest worker(s), building them, then quickly reverting back to the delayed dependent buildings. The AI is reasonably good at replacing tiles it wants districts on and rebuilding them, and also generally does not make duplicative, unneeded districts. It's quite fascinating to watch the AI create industrial corridors, and it's also necessary for the AI to keep many more workers on hand.

View attachment 745773

War also looks and feels quite different, with battles more spread out and urban warfare the norm in the industrial and modern eras. Watching AIs desolate one another's infrastructure is kind of amazing.

View attachment 745774

So I hope to have the distribution hub bugs fixed and then we can move toward an alpha release soon. The Day/Night Cycle District art will likely not be completely ready but I'll finish that once districts is out for testing.
This looks really gorgeous, great work.

I'm thinking about only incorporating the neighborhood district into my base game for now (and thinking about how/whether to do the others), and was wondering if districts can give defensive bonuses.
 
This looks really gorgeous, great work.
Thank you!
I'm thinking about only incorporating the neighborhood district into my base game for now (and thinking about how/whether to do the others), and was wondering if districts can give defensive bonuses.
Sure, that sounds great; districts are designed for customization and choosing the ones you want. And yes, in your *.districts_config.txt file you can specify a defense_bonus_multiplier_pct value (100 is the default, no bonus).
 
Ok, I have a fork of the Quintillus Cross-Platform Editor which allows districts to be loaded from and saved onto a scenario map:

districts_editor.gif


Output:

1761805203904.png


Details at https://github.com/instafluff0/Quintillus_Civ3_Editor_Fork_for_C3X_Districts/blob/main/README.md. I will make a CivFanatics download page as well (I'm not sure if Quintillus wants another version of the editor floating around as well, but we will work that out).

In a nutshell, I found adding district information directly to a BIQ file essentially a non-starter, so I opted to update both the Editor and C3X districts to allow for a very simple portable file format to use districts in pre-configured scenarios. Example:

Code:
DISTRICTS

#District
coordinates  = 9,23
district     = Wonder District
wonder_city  = Rome
wonder_name  = The Pyramids

#District
coordinates  = 11,23
district     = Neighborhood

#District
coordinates  = 12,28
district     = Entertainment Complex

The Editor will output a file like this, and C3X can read and use it as-is in your scenario:

1761804895350.png

So hopefully, super simple. The <scenario>.c3x.txt file is completely optional of course, for folks or scenarios that don't use Districts. So my hope is that when we release the alpha version of Districts, anyone who wants to try scenarios with it will have an avenue to do so.
 
Not sure if this has been addressed, but what is the maximum gold per turn a tourist attraction can provide?

I have a couple of "ancient" wonders, which should provide tourist income from the start (can't make something built in the past, too bad), so I plan on changing it so that after 4 turns full income is granted. I'm under the impression this stops at 4, and doesn't just increase forever.
 
Not sure if this has been addressed, but what is the maximum gold per turn a tourist attraction can provide?
In the standard game, the maximum is 14 gold. A complete list with all the info is in the Civilopedia, under Game Concepts -> Tourist Attraction. :thumbsup:
 
Flintlock updated C3X with a new update entry:

Release 25

New in this version:
- Lift city limit and allow it to be configured up to 2048
--- Setting named city_limit, included in new "Limits Removed" section with other limit increases/removals
- Enable tile graphics to cycle over day and night, see "Day/Night Cycle" section of default config for details
- Allow Civilopedia descriptions for units, civilizations, and game concepts to span multiple pages
--- Controlled by config option allow_multipage_civilopedia_descriptions
- Can adjust time to...

Read the rest of this update entry...
 
Back
Top Bottom