AI/Auto Traders and Promotions

I like the majority of those yields. However there are a few issues.

Silk and cloth look similar enough to be confused (maybe unavoidable)

I'm not entirely sure about ore. It is a bit hard to see what it actually is and might be confused with stone. That is until you have a good look at stone.

Barley is hard to see what it is. Maybe if we have a picture of the crop instead of just the seeds.
Spoiler :


The cattle is certainly not medieval. They were much smaller and had smaller horns (not 100% sure about the latter, but almost). Medieval horses were also fairly small.
Spoiler :


Armor is.... well perhaps ok. They aren't up to the quality of the rest, but on the other hand it is fairly easy to tell them apart.
 
Yeah, like I said, some are better than others and some I had troble finding any decent images.

Finding a good cattle image without any cattle having 'tags' in their ear was hard, you think horns are bad, modern stamped ear tags are probably worse! :D

The problem with going with a barley plant is that it looks more or less identical to the Food Image.

Now I thought about trying to get an image with fish and wheat (or some other basic food).

I went with the Barley Seed, just to make it very different from wheat, it was then tough to find seed that weren't acompanied by some modern element!

Cloth and silk was another hard one, initially I wanted images of rolled bolts of cloth and silk, with cloth being very plain colour, and silk being vibrant.

Again tough to find the pictures that weren't distorted by modern elements.

Armour is again another tough one to find good quality pictures, of just armour, without a person in full reenactment get up.

The problem with ore and stone, is they are actually pretty much the same thing, ore is just stones with other stuff in.

The bottom line is you know what the yields are because you click on them first.

The main Goal is for these to look pretty, which I admit some look much prettier than others.

I intentionally didn't spend too long looking for pictures, I went with only a couple of search types at most and grabbed only a couple of pictures.

As we didn't have any kind of defined style or look for the pictures, other than the grapes looked pretty, it is hard to know what we want each Yield to look like composition wise.

We now at least have a lot more and we can think, I like the way this is, I don't like that setting, etc.

Like I was happy with the bars of silver, but I didn't like the all white background, I would probably spend a bit of time cutting out the bars and putting them on a more rustic backdrop.
 
I found a medieval image of a cattle marked. Not the kind of image we were looking for, but it shows the relative size between cattle and people in medieval times.
Spoiler :

Medieval cattle species still exist and I have seen one. However at the time I didn't think I would be needing the name 1-2 decades later and I have no real good keywords to search for.
 
Can't we research Medieval cattle;)? Nice work Lib, the ones we don't like we can use as placeholders till we find ones we do.

With Food, the in game version of Food doesn't necessary represent one thing, like wheat, but what ever Farmers grew, the legumes and vegetables. Maybe this could be better represented in the game to differentiate between Food and other yields.
 
The new Lib created Yield Portraits are in the mod and look really great for the most part. There are a few adjustments that could be made...

-Cattle: as mentioned to look more medieval
-Sheep: I like the one with multiple sheep but they appear a bit stretched
-Silver: missing a portrait
-Barley: I like the Food plant look for barley, and for Food it could be more a variety of Medieval peasant foods and not just wheat
-Trade Goods: missing portrait
-Coats: Missing portrait


Also, I have added some code I stole from Civ4, adding my own touches, for AI Workers to build Trade Networks. They will (eventually) attempt to connect all cities to their Capital, and also, connect trade networks to Foreign Cities around. The Minor Civs will attempt to connect to Capitals as well.
 
What happens if a yield is added and there is no picture? What if say col2071 decides not to add pictures of all yields as it would be a massive task? Clearly we need some sort of fallback code to prevent the screen from looking ugly if that happens because that would be a serious problem for modders.

Also, I have added some code I stole from Civ4, adding my own touches, for AI Workers to build Trade Networks. They will (eventually) attempt to connect all cities to their Capital, and also, connect trade networks to Foreign Cities around. The Minor Civs will attempt to connect to Capitals as well.
Colo has vanilla AI code to connect all cities by "the best" route. It will however not connect to foreign cities.

You should be better at pushing your changes. I try to keep an eye on your activity, you appear falsely idle. If you push, I will be able to provide feedback on both design goal and actual coding. Bugfixing could likely also benefit from not getting the code in too big changes at once.
 
What happens if a yield is added and there is no picture? What if say col2071 decides not to add pictures of all yields as it would be a massive task? Clearly we need some sort of fallback code to prevent the screen from looking ugly if that happens because that would be a serious problem for modders.

Code is already in place for this...

Code:
if (!CvString(kYield.getYieldPortrait()).empty())
    {
		gDLL->getInterfaceIFace()->popupAddDDS(pPopup, kYield.getYieldPortrait(), 360, 160, "");
		gDLL->getInterfaceIFace()->popupAddSeparator(pPopup, 10);
	}

Colo has vanilla AI code to connect all cities by "the best" route. It will however not connect to foreign cities.
You should be better at pushing your changes. I try to keep an eye on your activity, you appear falsely idle. If you push, I will be able to provide feedback on both design goal and actual coding. Bugfixing could likely also benefit from not getting the code in too big changes at once.

I am guilty again. Its been silent here for so long I forget to commit/push changes. I'll think of something then just sit down and start coding before I forget was I was thinking ;) I'll have to finish up adding in Yield_Bells are a requirement for Civics then I'll push since I already started on that.
 
I want to setup a system for AI Trader Routes (ATR) like we have with Wagon Train Routes (WTR to differentiate between the two). By modding CvTradeRoute.cpp we should be able to add functions for ATRs to work much like WTR. Where ATRs are added based on what Yields your Cities are needing to Buy/Sell and what AI Cities are able to Sell/Buy. So, that a command to Assign Trader Routes would bring up what Cities you can buy/sell the defined Yields from, define in your cities.

Looking into it...
 
I think this is one of those things where we need a proper plan before touching the code. While the trade route code leave room for improvements, works ok right now and it's somewhat fragile and modifications can break it if we aren't careful enough.

I think it would be best if we all brainstorm on how an interface could work for this and postpone code changes until we know what to code. I'm not convinced we should touch the traderoute code at all. I get the impression that the units work as intended, yet they could be easier to control. In other words it's a GUI issue.

I did mention at one point that I would like something, which sort of look like a domestic advisor screen, but it is for just one city and it have all the options for yields in that city. That should provide a better overview than the current interface provides.

Alternatively we could use the domestic advisor. The question is how?

Do anybody have any useful insights on how to easily get an overview of trader setup and control it without too much hassle. We need a list somehow as the setup with clicking individual yields is... less than perfect.
 
Since I have been the only one playtesting the AI Trader I am probably the best one that can give any real incite. My plan is to at least have the GUI setup much like the current wagon trains, and I don't have to alter the wagon train functionality at all, just add the same functionality for AI Traders. From my perspective, in this situation, playtesting is the best way to gain incite, as you can see where one way is better, faster, stronger than another and also you can see where things are missing, and the, "Wouldn't it be cool if..." factor. I plan to add all current options to the Import/Export list as well, so you can use that or the individual yields.

Once all that is done we can probably add the Traders to the Current Domestic adviser and have them listed as Traders. We can just use what we got to work with (which is a bunch compared to building something from scratch) then with playtesting you can figure out what else you may need.
 
That goes on to the second part of the conversation and his original point.

Making a system that mirrors domestic transport automation commands like slecting routes from a list or automating the transport to use all routes, for use with the foreign trader/transport networks.

So same functionality but with foreign city destinations rather than domestic destinations.

So you can quickly pair up domestic production with foreign desire and foreign production with domestic desire.
 
Yes, also currently I have 3 vassals, and when I use the command to assign trade routes it lists those Vassal cities as well, which does me no good, so I need to add code to prevent AI controlled Vassals being added to the lists, for the moment. At some point we can add some Diplomacy options where you can say, deliver 200 Weapons, or even 300 Wine, or buy such yields making trade deals through the diplomacy screen. Perhaps gaining an advance in Gold and you have to deliver the goods in time or take a hit to your Trading Reputation. But for now those Vassal Cities are interfering with the GUI and need removed.

And as Lib pointed out, AI Traders need more functionality as at the moment they just feel incomplete and so they are not just confined to one Home City. So, we can setup one City to Import Foreign Tools, and one to Import Foreign Grapes, then select a Trader, hit the Assign Foreign Route command and he goes at it. Also, may times I forget what Cities I have assigned what too, so with one Command I can see what is needed where.
 
So, we can setup one City to Import Foreign Tools, and one to Import Foreign Grapes, then select a Trader, hit the Assign Foreign Route command and he goes at it. Also, may times I forget what Cities I have assigned what too, so with one Command I can see what is needed where.
I don't get it. You want your foreign trader to deliver tools in city A and grapes in city B?

What's wrong with unloading both in city A and then use the regular feeder service to distribute grapes to B? I would actually assume that to be the most natural solution as the foreign traders would presumably be more rare and expensive. It would also make sense to make your foreign trader work with foreign trading as much as possible if he get better prices with experience. No need for domestic work without earning experience.

Domestic transport could be handled by much cheaper units. We could make a cart for that purpose, one, which can only travel on roads and on plots you own. Transports going "off road" and outside your kingdom would need to be better equipped and hence takes much longer to build.

Another factor we could mess with is cargo capacity. Right now it's 100 for each slot. We could lower this significantly, particularly for units able to go "off road" and that way make a more diverse transport fleet.
 
You could fail to meet the quota at which point they would refuse to trade with you anymore, success would usually lead to a new larger contract.
A bit harsh penalty for one failure, particularly if you did what you as the player were supposed to do, but the automated trader messed up and got delayed.

The concept of a contract is not bad. However the penalty for late delivery could be a fee to the foreign king (based on number of yields) or something. It could be interesting, but I think we should focus on just getting the core of this concept to work first, which is to do regular trade without annoying GUIs or other causes of :badcomp:
 
Top Bottom