• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Prob32

Colonel
18 Badges
Jan 3, 2023
802
1.996
  • Stellaris: Synthetic Dawn
  • Hearts of Iron 4: Arms Against Tyranny
  • Hearts of Iron IV: No Step Back
  • Hearts of Iron IV: By Blood Alone
  • Battle for Bosporus
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Megacorp
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV
  • Hearts of Iron IV: Death or Dishonor
  • Steel Division: Normandy 44
  • Stellaris - Path to Destruction bundle
  • Hearts of Iron IV: Together for Victory
  • Hearts of Iron IV: Cadet
  • Stellaris
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Art of War
In the last DD Wiz said:
1736370470063.png


I'm curious as to how this is going to be done without making things artificial- what I mean by that is arbitrarily increasing volumes or discounting items which effectively creates free money.

The reason the current trade system struggles is that international trade fundamentally is suffering from both MAPI penalties and transport. It should not really be suffering from MAPI when you think about how a trade agreement works from the perspective a import/exporter. As well as the fact that international trade has to pay for convoys which internal trade does not despite convoys being cheaper than overland travel in many cases.

My fear is that without properly implementing mechanics here you're going to end up with a system where it's cheaper to trade almost always because you're creating money through artificially trade boosts despite it being technically unprofitable or it will still be better to be an autukary because you get "free internal transit".

Also there's the unspoken item that the current trade is horribly optimized and lots of trade routes slow the game down.
 
  • 13
  • 2
Reactions:
I think the fundamental issue with trade (beyond just things like comparative advantage and micromanagement, which are relatively trivial to fix) is that you have to create a system with ALL of the following constraints:

1. There needs to be discrete bidirectional flows between countries with bespoke costs. You could just give up and have a "world market" like Vic2 did, but this system is more fun in a gameplay sense and more accurately models real-world trade policy. There are specific trade routes between countries, not all countries trade with each other, and each route has its own cost.
2. Prices can't fluctuate too much given ceteris paribus. Ideally, prices should iteratively trend towards an equilibrium price in a single direction. You could probably get away with a little bit of fluctuation when trying to reach the equilibrium price but every additional oscillation means more confusion for the player making it less intuitive.
3. It cannot be performance-intensive. Trade routes should update every week ideally (at worst, every month). Prices update every week and since there are ~50 trade goods alongside hundreds of potential trade routes, the algorithm can't be too intensive.

I don't know if any strategy game has even tried this. There probably has to be some level of artificiality for this to even work but idk, excited to see what the devs have cooked up.
 
  • 10
  • 7Like
  • 1
Reactions:
I think the fundamental issue with trade (beyond just things like comparative advantage and micromanagement, which are relatively trivial to fix) is that you have to create a system with ALL of the following constraints:
How do you propose they fix comparative advantage in international trade? There's already comparative advantage in wages and that's not particularly useful on it's own without geography.

Micromanagement you mean AI trade routes like private investment? I agree this is probably straightforwardish.
1. There needs to be discrete bidirectional flows between countries with bespoke costs. You could just give up and have a "world market" like Vic2 did, but this system is more fun in a gameplay sense and more accurately models real-world trade policy. There are specific trade routes between countries, not all countries trade with each other, and each route has its own cost.
Isn't this the current system?

2. Prices can't fluctuate too much given ceteris paribus. Ideally, prices should iteratively trend towards an equilibrium price in a single direction. You could probably get away with a little bit of fluctuation when trying to reach the equilibrium price but every additional oscillation means more confusion for the player making it less intuitive.
Agree but it is a bit difficult because an an export from one market will inherently depress price in the importing market will increasing price in the base market. This by itself would be fine but the issue is that on the same tick you have buildings being created- the net result is prices fluctuate ALOT- not entirely because of the trade system but the natural ebbs and flows of building.

The only solve I see for this is Strategic level differentiation between countries where the advantages of coal production are so complete for Great Britain you're better off just importing from them and building groceries as Russia for the first 20 years of the game for example. That advantage cannot be unidimensional rooted in PoP wages or political laws.

For example I think the idea with companies was to allow for this type of specialization but the issue is that certain buildings are the most efficient and thus the best pick for companies so everyone just picks the same absolute best companies for the absolute best buildings.
3. It cannot be performance-intensive. Trade routes should update every week ideally (at worst, every month). Prices update every week and since there are ~50 trade goods alongside hundreds of potential trade routes, the algorithm can't be too intensive.
Yeah it seems the easy solutions are all performance intensive and the difficult solutions are all time consuming.
I don't know if any strategy game has even tried this. There probably has to be some level of artificiality for this to even work but idk, excited to see what the devs have cooked up.
This is why I'm intrigued yet concerned. I am optimistic because they said it would take them awhile for the next update and they have a prototype already combined with 1.8 being a medium instead of a large update. These make me think they may have time and budget to come up with a holistic solve.

I'm concerned because it's a massive issue and as we just discussed a tough problem to solve, so tough that they essentially shelved and paired down the pre-launch plans.
 
  • 3Like
Reactions:
1. There needs to be discrete bidirectional flows between countries with bespoke costs. You could just give up and have a "world market" like Vic2 did, but this system is more fun in a gameplay sense and more accurately models real-world trade policy. There are specific trade routes between countries, not all countries trade with each other, and each route has its own cost.
While I think speculation is premature, given the devs have free rein to change anything, I do think the most computation efficient solutions require a world market.

That doesn’t mean the world market has to be a visible entity that exists. It just means one exists in the code, and then the discrete routes are backsolved from it.

What players want besides trade that works better is “private/ auto trade,” and that could be achieved by simply having all countries push export and import preferences to the “world market,” and then you just run a quick auction / market making algorithm to optimally pair export and import requests. (Ie use market prices as the bid/ask so you can just drop in existing algos that solve this problem.)

Yes, it would ideally require the artifice that private trade can occur anywhere you can reach by sea, or some similar relaxed restriction, instead of limiting it to interests, but ships can sail on the damn ocean and that part isn’t a big deal. You can then leave discrete routes intact as they are for players, and tell the AI to simply never use them nor evaluate them.
 
  • 4Like
  • 1
Reactions:
While I think speculation is premature,
A little more insight into what they were thinking would be nice as it is quite literally going to change how you play your countries or not which is also an issue.

given the devs have free rein to change anything, I do think the most computation efficient solutions require a world market.
Yeah I mean to be discrete about it - this would be similar to the proximity concept that EU5 (project Cesar) is using where the world market would be the ocean.

From here you could just have your trade centers trade with preverbal ocean i.e. the world market
 
While I think speculation is premature, given the devs have free rein to change anything, I do think the most computation efficient solutions require a world market.

That doesn’t mean the world market has to be a visible entity that exists. It just means one exists in the code, and then the discrete routes are backsolved from it.

What players want besides trade that works better is “private/ auto trade,” and that could be achieved by simply having all countries push export and import preferences to the “world market,” and then you just run a quick auction / market making algorithm to optimally pair export and import requests. (Ie use market prices as the bid/ask so you can just drop in existing algos that solve this problem.)

Yes, it would ideally require the artifice that private trade can occur anywhere you can reach by sea, or some similar relaxed restriction, instead of limiting it to interests, but ships can sail on the damn ocean and that part isn’t a big deal. You can then leave discrete routes intact as they are for players, and tell the AI to simply never use them nor evaluate them.
To be honest I don't really like world market solutions like this because it totally removes the diplomatic aspect of trade. I don't want trade to be purely economic, where it's just something that accentuates your industrial strategy. Who a country trades with and how they do that are also equally as important as what you're trading. If it's France that's selling me tools rather than the magical "world market" ether, then that's important information that should guide my geopolitical strategy.

Ultimately they might go back to the V2 world market system, but I really hope they try and solve bidirectional trade routes instead because it's much more accurate in how it models how real-world economies look at trade.
 
  • 8Like
  • 7
  • 1
Reactions:
How would a world market work anyways? Just all excess goods get traded with it? I mean maybe you do a semi world market where GB starts with a direct connection for it as most of the buying and trading?

I didn't play victoria 2 so I don't have that to draw on as an example.
 
We do not know what is the MAPI issue that Wiz describes.

If he is referring to the effect of how MAPI increases local supply viability by skewing prices locally making trade less profitable, I bet one of the ways they can work around this issue without dismantling MAPI is to include price inelasticity to reduce the effect of trade to increase volumes.

Thread 'Trade Price Inelasticity'
https://forum.paradoxplaza.com/forum/threads/trade-price-inelasticity.1674888/
 
  • 2
  • 1Like
Reactions:
We do not know what is the MAPI issue that Wiz describes.

If he is referring to the effect of how MAPI increases local supply viability by skewing prices locally making trade less profitable, I bet one of the ways they can work around this issue without dismantling MAPI is to include price inelasticity to reduce the effect of trade to increase volumes.

Thread 'Trade Price Inelasticity'
https://forum.paradoxplaza.com/forum/threads/trade-price-inelasticity.1674888/
So the suggestion here is essentially to make the calculation artificial where you're saying give the market 10 units but only price the trade routes as if they're giving 5 units?
 
We do not know what is the MAPI issue that Wiz describes.

If he is referring to the effect of how MAPI increases local supply viability by skewing prices locally making trade less profitable, I bet one of the ways they can work around this issue without dismantling MAPI is to include price inelasticity to reduce the effect of trade to increase volumes.

Thread 'Trade Price Inelasticity'
https://forum.paradoxplaza.com/forum/threads/trade-price-inelasticity.1674888/
This would certainly work in the sense that it would boost trade as you could import a larger amount of goods without it actually depressing the market price. But I'm not sure if it makes sense from a balancing perspective. Where you need to make sure there's an appropriate balance between locally produced goods and imported trade goods. You're essentially generating +50% synthetic orders where you can over create tools for example, export them without destroying anyone's markets price.

It would also have a weird asymmetry effect where you would want to counter export into a rivals market instead of depressing your own price. So if you're USA exporting tools to GB- they're better off starting a similar export route with their tools to your market.
 
  • 1Like
Reactions:
Agree but it is a bit difficult because an an export from one market will inherently depress price in the importing market will increasing price in the base market. This by itself would be fine but the issue is that on the same tick you have buildings being created- the net result is prices fluctuate ALOT- not entirely because of the trade system but the natural ebbs and flows of building.
Exactly. The reason trade barely works now is because it's difficult to maintain the price gradient over any significant period of time. Your cheap price gets increased by the act of trading itself, but also, the cheap price increases your own local demand via the mechanism of sol increases and general economic growth.
 
  • 2Like
Reactions:
So the suggestion here is essentially to make the calculation artificial where you're saying give the market 10 units but only price the trade routes as if they're giving 5 units?
Why artificial? Supply and demand and price elasticity are both valid economic concepts.

The idea is to keep prices high for longer by requiring more quantities in the market to lower prices. Being inelastic with low volumes and more elastic with high volumes.

PS: think about it as a monopoly keeping prices high and trade while being less quantity than local goods it takes advantage of the high local prices.
 
Last edited:
Why artificial? Supply and demand and price elasticity are both valid economic concepts.
Fair points and for the record I do think this would work - and could be incorporated as part of a solution because it would help with the impacts. It is technically artificial in a sense that you're boosting trade above the impact of a normal buy and sell orders impact.

The only issue I really see here is one of balance- being I could easily see a play pattern where it's more profitable to ship every good across the ocean verses to the adjacent state. So back to the US GB example, why would they not trade every single good which results in goods going across the sea to get into each others market to benefit from the 50% price impact reduction.
 
  • 1Like
Reactions:
Fair points and for the record I do think this would work - and could be incorporated as part of a solution because it would help with the impacts. It is technically artificial in a sense that you're boosting trade above the impact of a normal buy and sell orders impact.

The only issue I really see here is one of balance- being I could easily see a play pattern where it's more profitable to ship every good across the ocean verses to the adjacent state. So back to the US GB example, why would they not trade every single good which results in goods going across the sea to get into each others market to benefit from the 50% price impact reduction.
Because the cost of transport?
 
Because the cost of transport?
Yes- If you implement this mechanic it will be better to build tall on specific goods and export even if you need those goods internally back to the example I listed above.

Stepping back for a minute, trade feeling bad is related to the issue of the game feeling "same same" whichever country you play. So your proposed solution would infact fix trade in the sense it becomes better to export than produce domestically so two nations would be better off trading the same good across the ocean to each other because of the diminished sell order impacts of that trade. But the net result of this would be two countries exporting the same hyper efficient goods to each other, not having countries specialize in specific goods and trade them around uniquely.

For example the ideal state is something like this:

GB has a textiles advantage so you want to import textiles from them
USA & Germany have a steel advantage so you want to import steel from them
France has a furniture advantage so you want to import furniture from them

I see your proposed example working more like:

Trade has significant bonuses to the sell order impacts such that I can export a lot more and get a better price so I will want to export everything I produce and you're always going to want to produce: wood, iron, coal, tools and steel in that order because they're the most efficient per construction point.

For trade to work that advantage piece needs to be baked into each country and unique to that country, Generalist goes into a good example of how Arcana cards can do this within realms of ether.

To summarize, I actually do think your proposed solution is part of the solution. Its a relatively elegant performance effective way to help boost trade volumes and dampen the feedback loop @A Pink Duck was referencing where the act of trading itself can make it highly volatile. However, if implemented without country specific advantage curves you would end up with the same goods just being shipped back and forth.

Advantage as in comparative advantage should be: Wages, Transport costs and technology. Right now it's just wages and technology: where technology is barely even different because there's very little granularity. It would be nice UI window where the game broke this down as well to help a player make a decision, your productivity for clothing is Y your nations average transport cost is X. Therefore while you might profit from this route in the short term it will be difficult to have a durable advantage.

EDIT
Also to @Timewalker102 's point about bi-directional trade, maybe you could put a modifier of up to -50% convoys requirement by country traded with if you're trading 1:1 to represent filling ships going back towards the homeland empty versus full. I.E. deadheading in trucker terminology
 
Last edited:
  • 3Like
  • 1
Reactions:
Why artificial? Supply and demand and price elasticity are both valid economic concepts.
Price elasticity is a valid economic concept, but what you're describing in your post technically isn't price elasticity. What you're proposing is making trade goods be "worth" less than a domestically-produced good. Which could be an easy way of increasing trade volumes but would still be a little bit artificial.

It's actually not that hard to increase trade volumes as it is. I've explained that they just need to look at the marginal revenue when calculating trade profits which results in enough trade. The hard part is actually preventing fluctuations. If you have high trade volumes, and bidirectional trade routes where not all countries are connected, then the "equilibrium" price for a country might temporarily be higher than the true equilibrium price for a few ticks.

This is a little difficult to explain without actually seeing it (I might code up some quick Python to show it), but basically you get a situation like this:
1736477154089.png

In this example, red trades with blue and green, but blue does NOT trade with green (assume an embargo or a war or something like that). Green will keep exporting to red. Blue will also keep exporting to red, but once blue and red intersect, blue will actually import from red (which itself imports from green), which means blue's equilibrium price "fluctuates".

If you had totally free trade between all countries (essentially a world market solution) there would be no issue since all prices would trend towards the equilibrium market price scenario. But if you want to keep bidirectional trade and have high trade volumes then there needs to be an elegant solution to this (or alternatively just introduce artificiality/free money modifiers).
 
  • 1
Reactions:
I think the main benefits of IsaacCAT's solution are that it's self dampening to some extent as each price movement is half as much which means the oscillations in route size is more based on domestic production rather than the trade itself. It's also probably more performant and easier for players to intuitively understand.

I don't see how either solution would fix the comparative advantage issue that we currently have...
 
  • 1Like
Reactions:
I think the main benefits of IsaacCAT's solution are that it's self dampening to some extent as each price movement is half as much which means the oscillations in route size is more based on domestic production rather than the trade itself. It's also probably more performant and easier for players to intuitively understand.

I don't see how either solution would fix the comparative advantage issue that we currently have...
Price elasticity function of volume works as it is now when trade volume reach high quantities, thus decreasing the price.

You need to use your available transport (limited) to trade and when you increase volume the price goes down so you need to have a comparative advantage to keep profitable at low prices high volumes.

Trade low volume compared to local inelasticity of price (high prices easy to maintain)

Trade high volume compared to local elasticity of price (effect on prices as it is now)
 
I don't see how either solution would fix the comparative advantage issue that we currently have...
Comparative advantage isn't too hard to solve. The issue is making a trade system where players can actually exploit that comparative advantage. As I've said you NEED to have high trade volumes and enough trade so that you can actually run adequate trade balances that make your export industries profitable and make your import industries get enough materials at a low enough price.

The way I would solve comparative advantage is (from easiest to implement to hardest):

1. Forcing AI to value throughput more (I don't think it really understands that the economy of scale throughput bonus when constructing a building is actually worth double)
2. Way more terrain throughput modifiers
3. Making Qualifications much harder to get (straight up nerf Promote Social Mobility for one)
4. An inventions system similar to Vic2
5. Rework the economies of scale throughput modifier so that it's exponential or maybe even starts negative
 
  • 1
Reactions:
Comparative advantage isn't too hard to solve. The issue is making a trade system where players can actually exploit that comparative advantage. As I've said you NEED to have high trade volumes and enough trade so that you can actually run adequate trade balances that make your export industries profitable and make your import industries get enough materials at a low enough price.

The way I would solve comparative advantage is (from easiest to implement to hardest):

1. Forcing AI to value throughput more (I don't think it really understands that the economy of scale throughput bonus when constructing a building is actually worth double)
2. Way more terrain throughput modifiers
3. Making Qualifications much harder to get (straight up nerf Promote Social Mobility for one)
4. An inventions system similar to Vic2
5. Rework the economies of scale throughput modifier so that it's exponential or maybe even starts negative
Agree, although a bit off topic.

Nevertheless, the AI valuing throughput alone is not enough. I have found that lower input prices (including wages) are paramount to compete efficiently in the trade business.

Low input prices is a necessary and sufficient condition while throughput bonuses is necessary. Can this logic be implemented for the AI?

Ps: IMHO considering the variation of prices is very difficult to do that
 
  • 1Like
Reactions: