Concept for new transport system

Havanas

Chieftain
Joined
Dec 22, 2025
Messages
5
Hi all and a happy 2026,


I’m a long-time player (as in: first Colonization on a 486 😄), but this is my first post on the forum.
I really enjoy the mod, but I haven’t yet managed to finish a full game. The main reason is the amount of micromanagement required for wagons and ships in the mid game, and especially in the late game.
One thing that could help a lot here, in my opinion, is a more advanced auto-trade system. I know the current system sort of works, but it’s fairly tedious to set up and doesn’t feel very efficient, neither in transport usage nor in CPU calculation time.
I’m aware that some of the “godfathers” here don’t see this as a priority, since they enjoy the brain gymnastics of managing domestic demand chaos 😉. That’s totally fair. However, I had some extra time over the holidays and wanted to experiment a bit with AI engines. This seemed like a perfect test case for exploring their logical and coding capabilities.
I did some research on the forum and found plenty of player feedback about the current trade system, along with ideas for improvements. Using that information, I asked our digital assistant to propose a solution.
What it came up with is a pull-based demand system. It definitely still needs work, but it looks promising enough to share.

Short version of the idea​

  • Players assign cities and transport units to economic zones.
  • Per zone, an algorithm matches demand and supply, using priority tiers:
    • P1: Survival and expansion
    • P2: Production chains
    • P3: Domestic market
    • P4: Export
  • Possible supply–demand pairs are scored.
  • Transport options are ranked using a weighted formula that considers:
    • Priority tier
    • Urgency
    • Stock pressure
    • Distance
  • Available transport units are assigned to the highest-scoring routes, with some added efficiency features:
    • Load maximization
    • Synergistic batching
    • Staged relay drops
  • The system then executes the moves.

Attached files​

I’ve added several documents for those who want to dig deeper:
  1. Forum player remarks on trade analysis
    An overview of trade and transport-related feedback collected from this forum.
  2. V2 Analysis – Civ IV Colonization & We the People 4.2.1
    A code and file-structure analysis I made using Windsurf. I’m not a developer, so this was mainly to help the AI understand the structure.
  3. Game Speed Capacity Overview
    A short analysis of differences between game speeds. There may be an issue here where the old per-yield storage system is still assumed instead of pooled storage.
  4. Prompt V2 – New Start
    The prompt used to generate the system.
  5. V2 Civ IV Colonization Auto Transport System (Google docs version)
    The actual framework for the demand-driven auto-transport system.
This is very much a work in progress, but I thought it would be useful to gather feedback and remarks before investing more time into this little brainfart 🙂.
Looking forward to your thoughts!
 

Attachments

Last edited:
I have been wondering about adding a route system like the one used in OpenTTD (or classic colonization, through it seems most people don't remember this detail). However what is proposed here seems to have the benefit that it has a chance of being useful for AI players. Nothing will prevent us from providing both options through. Nothing except the extra work.

One issue the current system lacks is proper handling of multiple cargo. Say you want ore from A to B and cotton from A to C. B and C are right next to each other while A is far away. The current system can't detect this and struggle even if both goes from A to B. If such transports would be regular, then a fixed human set route would be useful, hence the idea behind the OpenTTD like route system.

I wrote an idea regarding how transports stores whatever they are transporting here. On top of being faster and using less memory, it will allow each cargo slot to have a pointer to memory allocated elsewhere, which means we have memory space for supporting the DoaNE idea of multiple yields in a single slot. It's not decided if we want to go down that path, but it would probably be a good idea to consider that as an optional addon to any future automated trade system.

I’m aware that some of the “godfathers” here don’t see this as a priority, since they enjoy the brain gymnastics of managing domestic demand chaos 😉.
I don't think that's the case with the currently active members. It's more a question of figuring out precisely what we want as well as the manpower needed to implement "something". Trade routes are mathematically complex, particularly if you also aim for good performance. It's not something where you sit down and do something without a full featured plan, hence why nothing has really happened yet.
 
I never use current auto system, but would absolutely LOVE utilizing the basic function of SMCol model (with multi-stop capability) As long as I can make as many routes as I need and edit easily enough, this would honestly be my preference.
 
I also see the benefit of a point-to-point system, especially for frequent routes with fixed goods or exports to Europe, Africa, or Port Royal. I included it as a secondary goal.

That said, using it for domestic market demand would probably become huge and inefficient. While it could take some of the manual cart movement off the player’s plate, it would still require quite a bit of setup.

I don't think that's the case with the currently active members.
I was thinking about a comment Raystuttgart once made, where he said he hoped players wouldn’t rely on auto-trade and see the compexity as a challenge and a mental workout 😉.That was a few years ago, and it’s a valid point.

Personally though, I’d rather stretch my brain in other ways 🙂, like building big production chains to meet people’s needs. After all, is independence really worth it if your meal is missing the cheese, a bit of cacao, and some salt?

It's more a question of figuring out precisely what we want as well as the manpower needed to implement "something". Trade routes are mathematically complex, particularly if you also aim for good performance. It's not something where you sit down and do something without a full featured plan, hence why nothing has really happened yet.

I’d love to flesh things out and put together a clear overview of what we want. You can see the preparation work as an assist, nothing is set in stone yet. To be clear, I'm not a developer or coder in any way, but I could try to change some things in the code. I checked the github entry on the memory usage of the transported cargo, and I'll have to read it a few times with some extra research to understand it ;-).

I took another look at my documents and noticed that storage was indeed still treated as a per-yield limit. I’m now making some changes to bring it in line with how WTP handles storage limits.
 

Attachments

386sx33 here ;-)

I am taking advantage of this Nth post on the subject to encourage you to find a solution. It is crucial for this mod. And since I know nothing about programming,
I can only share with you my gaming experience (386SX33 -> old = great experience)

In fact, this mod is great but I must admit that I have trouble finishing games. To say: I even replayed TAC; which is less rich but ultimately more balanced.
In WTP, the endings are too long and tiring; and I think it’s because of the micro-management of too many domestic demands.

So, ladies and gentlemen, if you are embarking on improvements, take the opportunity to integrate this problem. How to limit micro-management at the end of the game?

Good luck and congratulations again for all this work.
 
I iterated quite a bit, corrected some errors, and added more detail. This iteration started from a much more detailed prompt that pushed the answer in a specific direction. I also noticed that Gemini used the first version posted here as a source. I’ll need to watch out for this next time, so it doesn’t take any mistakes or rejected concepts into account.

I let the AI incorporate the GitHub post by Nightinggale about cargo storage in 64 bits, as well as the hysteresis thresholds described by FlaviusBelisarius. I’m sure other ideas and concepts formulated by additional contributors could also be included, but the referencing is not yet ideal.

If you can take the time to read through the concept and point out mistakes, inconsistencies, possible improvements, technical hurdles, or opportunities, you’re very welcome to do so!
 

Attachments

Since I was quit happy with the logic and formulas I used Perplexity (that uses other models, I think it used Claude Sonnet 4.5 here) to generate a Product Requirement Document and some first code snippets.

I'll go through some basic coding tutorials to see if I can make something of this. (Is it unusable/needs improvement/let's try).
 

Attachments

Back
Top Bottom