Mod Idea - looking for Opinions on my International trade model

  • 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.

Pancakelord

Lord of Pancakes
43 Badges
Apr 7, 2018
3.369
12.251
  • Cities: Skylines - Green Cities
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Ancient Relics
  • Cities: Skylines - Mass Transit
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Imperator: Rome
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Cities: Skylines Industries
  • Imperator: Rome Deluxe Edition
  • Cities: Skylines - After Dark
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Stellaris: Necroids
  • Crusader Kings III
  • War of the Roses
  • Cities: Skylines
  • Stellaris: Federations
  • Magicka: Wizard Wars Founder Wizard
  • Cities: Skylines - Snowfall
  • Stellaris: Lithoids
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Stellaris - Path to Destruction bundle
  • Stellaris: Megacorp
  • Stellaris: Synthetic Dawn
  • Crusader Kings II
  • Stellaris
  • Cities: Skylines Deluxe Edition
  • Sword of the Stars II
  • March of the Eagles
  • Darkest Hour
With 3.0 and so many script changes on the horizon, i've decided to shelve writing stuff that I'd only have to edit later and am looking at other stuff. It turns out it's incredibly easy to kitbash meshes together with no real downsides (not 100% sure on how this will go with draw-calls, but for what I have in mind, it wont matter). There are even cargo assets, that if you know what you're doing, you can clip on to a ship in like 10 seconds flat to make shiptype-specific cargo vessels.
1616293070897.png
1616292764442.png
1616292775492.png
1616293604403.png
1616292870465.png
1616294234102.png
1616298588320.png
1616299283233.png

(textures would need work to fit the various ship types - eg via a custom "trader" shipset that includes everything and is called by script - lithoids probably being the hardest to fit them to, probably just use the default transport gfx)

And this is more rambling than my usual posts but this has got me thinking. What could a scalable galactic trade system look like?
Yes, we have internal trade, and we have bilateral/multilateral(federal) trade deals, but there isn't really a galactic trade network per se.​
I've seen a lot of threads about "extra national trade lanes" (which tend to ignore that other empires would be making trade lanes through your stuff too),​
And the old Living systems mod & a few others that built on it by spawning freighters that reward you with resources.​
These all suffer from either mechanical issues, scalability issues (a cargo ship delivering 500 minerals or alloys early game is OP - doing it late game is just a waste of CPU cycles).​

But.. what about a mod that:
  1. Spawns cargo ships equal the number of non-gestalt/non-FP trade hubs
    1616294514485.png
    in the galaxy (and corresponding to the ship type of that station - so a plantoid cargo ship spawns from a trade hub on a plantoid starbase - easy to do in script)
    • This keeps a solid cap on the max number of these ships in the game as there aren't that many hubs in GC space at once.
  2. These cargo ships are run by an "AI nation" formed out of a GC resolution - the Galactic Trade Alliance
    • Open/closed borders are known to be an issue with path-recalculation. A "GTA" Nation can ignore open/closed borders, letting freighters move freely between any GC signatories Non GC-signatories could have a policy to allow/block/eat(lol) to modify scripts for orders.
  3. These cargo ships provide planet buffs rather than offer resources, letting them scale better over time, rather than offering flat values.
    • The general flow would be
      • Ship find colonised world.
      • Pick any resource the planet generates in surplus, or fall back and pick something linked to its specialisation type (e.g. Alloys if its a forge world).
      • Pick a destination world, get its specialisation, cross-reference from a database what buffs could be used
        • (e.g. alloys > Colony = "Bought aftermarket colonial equipment" planet buff +50% build speed for 60 days.
        • alloys > mining world = "Bought new mining machinery" + miner worker output +25% 90 days.
        • etc. Can generate a large table of these of Y resource to X planet specialisation types.
      • Travel to world, "sell cargo" wait two weeks,
      • find another world, "buy cargo" (increases TV for that world for a short time), repeat script.
  4. All freighter movement handled via script, I've spent the day reading over the enigmatic cache events (the enigmatic cache literally just flies from random world to world, waiting a bit and moving on, which is precisely what a freighter would do too), and it's surprisingly easy to write up some clever logic to pick planets that are close, or far, with minimal performance hit, or even avoid ones at war, or go for more populated worlds for "passenger runs", increasing pop immigration pull.
  5. Have other mechanics in my notes for this
    1. Different ship types
      • Tankers/freighters (only gives resource/construction/terraforming related buffs) - cargo displayed en-route via a scripted-loc tooltip on-hover over ship.
      • Diplomatic ships/passenger liners (only gives pop growth/xenophilia/unity/influence buffs) -
        • tourist worlds could have a high weight for passenger liners in the ship logic script, making them massive pulls for immigration, or each ship that arrives could buff POP trade value produced (so you could run a profitable resort world),
      • Slave ships that will auto-buy slave pops off the slave market, take them to slaver empires and just dump them there, if a slave has been up for sale for too long.
        • Gestalts can also trigger a policy to receive these, if biological, to eat the pop.
      • Bio-trophy pleasureliners (yes, really) for RSes to spawn in their space, to increase bio-trophy growth.
        • (depending on how pop-migration works in 3.0 this could even enable it for RSes if it isnt already on, for biotrophies, letting them move between sanctuaries if overcrowded).
      • Syndicate ships (hunt the other freighter types for profit, loiter in systems with CS branch offices to passively increase crime on worlds in that system)
    2. If freighters deliver the same buff to the same world, its buff is doubled, and its time is refreshed, most buff times would last 90-180 days.
    3. MCs lobbying the GC to pass a resolution that awards them 50 EC (or, because we have more script power in 3.0, EC = 1% Month income) any time a trade ship performs a trade in GC space, but non-MCs pay a TV/MC upkeep cost if this is passed, making megacorps incredibly fat off trade fees.
    4. If the Galactic Imperium is founded, the GTA is automatically re-branded as the ITA (Imperial Trade Authority) and is re-sprayed red, rather than GC-blue.
    5. Barbaric despoilers and crime syndicates can shoot down trade ships for goodies. either
      • directly, letting you basically run piracy operations of your own [though the GTA wont become hostile it will avoid your space for 10 years] (and triggering galactic sanctions for 10 years + cheesing off the local space's owner if they're a GC member and you're killing freighters in their space {it isn't possible to only make 1 ship out of a whole empire hostile, as in CK3 with raiding parties, sadly. Or at least I've not found a way, yet - you need the indirect route below using a vassal nation for this})
      • or indirectly by forming a "syndicate" vassal that will spawn "syndicate" ships (corvettes/DDs only) that prowl the galaxy hunting down freighters, crediting you the rewards. They'll be treated as pirates by everyone for 60 days after killing a freighter. If anyone discovers you finance them, big opinion hit.
This sounds like a good way to expand trade and potentially even megacorps by
letting them run their own freighter operations, on top of the GTA,​
or lobby to become a GTA shareholder/controller and reap benefits - imagine corps going to war over a CB for a "10% stake in the GTA" that another corp had won from the GC (randomly assigned initially - or given out by the emperor [essentially Emp triggers a battle royale for the assenting MCs, whomever wins becomes the new ITA majority shareholder]) with every 10% giving you larger share of EC from each GTA trade in the galaxy - a seriously large amount of money).​

It boils down to
  • Core stuff is quick to do (mostly ripping off how the enigmatic cache works + extra stuff on top)
    1. A GC resolution to trigger the GTA nation
    2. 4 small events needed to grab an idle ship + find a destination, assign a cargo, apply planet buff and clear cargo, repeat.
    3. A grid of planet buffs based on source cargo + destination world specialisation.
    4. Housekeeping events (respawning ships if they blow up, re-routing freighters if a world is destroyed, an empire is under extra-dimensional invasion, or if a star-system explodes - y'know usual stuff).
  • Bonus stuff (point 5 above)
As I said, rambly, but I've been re-playing Freelancer lately and when I saw how similar those cargo freighters in the Stellaris game files looked to Freelancer, I thought to myself YES. Mission Commission Signing Off.

Seriously considering making this for 3.0 as I like thought of actual economic goals (rather than just a military expansion focus). Any thoughts?
 
Last edited:
  • 3Like
  • 2
  • 1Love
Reactions:
On the ships themselves:

1 - Cargo spheres are cool, but IMHO they ought to be arranged in hexagonal close packing to maximize both capacity and stability. (That's the packing pattern you get when stacking cannonballs, for example; it shows up in chemical structures as well, because it's stable.)

2 - A decent compromise between 3D packing and conventional shipping containers might be a hexagon extruded into a prism. Those would pack nicely in 3D while also looking recognizably like contemporary shipping containers.

3 - Whichever you pick, there ought to be some ships that carry just one such container (like a contemporary truck), some that carry a number of containers (train), and some that carry a LOT of containers (cargo ship).


On the idea of commerce:

Planets need to be specialized somehow before interplanetary trade makes sense.

- Farm planets should eventually develop a specific terroir which produces exportable goods of some kind.
- Mine planets could discover unusual gems (especially planets with Rare Crystals deposits).
- Planets with entertainers and culture workers should attract tourism.
- Clerks might attract tourism, or perhaps Commercial Zones do that and clerks are just along for the ride.

Ethics might also play a role:
- Authoritarian planets produce more & better luxuries.
- Egalitarian planets build more & better tourist attractions.
- Spiritualists visit other Spiritualist sites (tourism).
- Materialists make new iPods every year (luxuries).
- Militarists suck at this stuff. Their idea of a "tour" is not what a tourist wants, and luxuries are weakness.
- Pacifists are great at this stuff.
- Xenophiles get more benefit from imports and tourism, whatever the benefit might be.
- Xenophobes trade with themselves internally; their homeworld automatically gets a special terroir which brings their colonies the maximum benefit (whatever that benefit might be); alien luxuries are less beneficial than usual.


Overall this sounds like a thing which would make the game better.
 
  • 1
  • 1Like
Reactions:
Diplomatic ships/passenger liners (only gives pop growth/xenophilia/unity/influence buffs) -
tourist worlds could have a high weight for passenger liners in the ship logic script, making them massive pulls for immigration, or each ship that arrives could buff POP trade value produced (so you could run a profitable resort world),

Having a system where tourist worlds (or high amenity worlds in general) had a way to turn amenities into trade value (and hence money) via space-tourism would be really cool - it'd also be good for things like pilgrimages to temple-worlds or visits to that one Ecumenopolis with all the culture workers and entertainers (Dibney World or Space Vegas or something).
 
  • 1Like
Reactions:
1 - Cargo spheres are cool, but IMHO they ought to be arranged in hexagonal close packing to maximize both capacity and stability. (That's the packing pattern you get when stacking cannonballs, for example; it shows up in chemical structures as well, because it's stable.)

2 - A decent compromise between 3D packing and conventional shipping containers might be a hexagon extruded into a prism. Those would pack nicely in 3D while also looking recognizably like contemporary shipping containers.

3 - Whichever you pick, there ought to be some ships that carry just one such container (like a contemporary truck), some that carry a number of containers (train), and some that carry a LOT of containers (cargo ship).
Yeah it comes down to how i set up the final spawning system - whether ships will persist and move between worlds or delete upon arrival (respawning as a diff ship model, as I dont thinkif you can change entities of an active ship). I'm likely going to do 1 cargo ship for each ship-type, to start with + use the army transport for passenger/tourist etc stuff.

Still un-decided on whether I'll strap tanks/cargo on to the army transports + rescale (as in first post). Or perhaps make a train-style one (may end up being easier [but more effort] to make it fit the styles if I model my own simple "spine" and tanks/cargo to fit it - am using the in-game one below)
1616330539694.png
1616330988678.png
1616331228537.png


Planets need to be specialized somehow before interplanetary trade makes sense.

- Farm planets should eventually develop a specific terroir which produces exportable goods of some kind.
- Mine planets could discover unusual gems (especially planets with Rare Crystals deposits).
- Planets with entertainers and culture workers should attract tourism.
- Clerks might attract tourism, or perhaps Commercial Zones do that and clerks are just along for the ride.

Ethics might also play a role:
- Authoritarian planets produce more & better luxuries.
- Egalitarian planets build more & better tourist attractions.
- Spiritualists visit other Spiritualist sites (tourism).
- Materialists make new iPods every year (luxuries).
- Militarists suck at this stuff. Their idea of a "tour" is not what a tourist wants, and luxuries are weakness.
- Pacifists are great at this stuff.
- Xenophiles get more benefit from imports and tourism, whatever the benefit might be.
- Xenophobes trade with themselves internally; their homeworld automatically gets a special terroir which brings their colonies the maximum benefit (whatever that benefit might be); alien luxuries are less beneficial than usual.
Definitely would want ethics to play in to this somehow (even if V1 is just random ships moving and can build on it later).

As for resources, I'm in two minds about it. The current plan is to only use the ingame resources + target planet specialisation to choose what kind of buffs are imparted + use tooltips/text to "fake" different cargos.
  • E.g. Alloys > Mining world "Mining goods" > "Premium Drill Bits: Increased miner output by 10% for 180 days" or
  • Strat Crystals > Tech World "Scientific-Grade Optics" >"Aftermarket Scientific instruments: Increased research output by 5% for 90 days"
  • (its really just a ship_flag which will tell the game to impart timed planet_modifier XYZ on arrival)
It wouldn't be hard to add extra resources [though you do need to mod the UI for it to show up on top bar, so this adds incompatibilities or cross-patches], and the idea of, say, an agri-world [randomly / via planet decision / via "building"(like how alloy forge/factory buildings bias jobs in 3.0)] developing "luxury alcohol" ("The Farmers of Omicron XI have become Specialist Vinters, Omicron XI farm districts will now produce 1 vinter job each"), could be cool.
Though then you have to ask how would it be used?
  • Would you float these resources on the market + spend edicts or planet decisions to use them?
  • Would ruler-tier pops automatically start demanding/consuming luxury foods when you find some? becoming unhappy otherwise? (Never looked but I think it is possible to alter the base-upkeep requirements of pops, as species rights do it. Perhaps extra modded species settings can be used as hooks)
  • Could you create negative externality driven goods - like "narcotics" - convert zro into "Red Zro" that's highly addictive - pops that have it work harder, but cut off their supply and they'll fly into a rage spawning riot armies, driving up demand (via ai weights) and increasing price. (Crime syndicates could push drugs via branch offices).
  • Would certain ship weapons only become available if certain parts are produced?
    • E.g. "Premium starfighters" unlocks a Buffed strikecraft weapon that consumes + upkeeps with that resource.
    • Upkeep costs can be modified if a ship is in orbit or not - or even if at war or not, combine this with some decent AI weights/events for trading and you might well have the beginnings of a military industrial complex. Spam out Mil-components and trigger wars (via espionage) to drive up demand for your goods [stonks meme].
It could well be an entire mod of its own, and could be very very cool.

Ecumenopolis with all the culture workers and entertainers (Dibney World or Space Vegas or something).
Definitely tourism could be a huge change for the game. Though I just had a mental image of a Hive mind creating a fake tourist world, luring pops there on transports to eat them lol. Or authoritarian crime syndicates luring pops to their thrall worlds and enslaving them. Possibly triggering reprisal if someone gets away.
 
Last edited:
It sounds interesting, I like the premise. The ships look good.

The only questions:
Would it’s pathfinding impact be minimal?
Would the trade ships have implications for the new system discovery system?
Could you shut your borders to them to stop them trading with your enemy (by blocking their route)?
 
Would it’s pathfinding impact be minimal?
I think so.
So i'd be basing it off the enigmatic cache which means 0)Find free ship 1)Find target 2)Save target 3)issue order. the "pathfinding" load happens only upon a calculation AND when borders change. I get around this by
1) making it a "non default country" (so it ignores wars -though will avoid trading at worlds at war)
2) making it ignore open/closed border states (which the AI is prone to changing often)
3) through distributing load over the course of a month (if pathfinding is scattered there is less spike in CPU wait-times)
4) capping #ships 1:1 basis = #trade hubs in GC space (I did some napkin maths and found this to be 80 or so in midgame up to 400 late game - effectively one extra empire's worth - on 1k stars with max AIs)
Would the trade ships have implications for the new system discovery system?
I'm not sure I follow what you mean by this. As far as I know star systems arent changing in 3.0?
The ships would only appear once the GC has formed AND a resolution has passed to form the GTA/ITA (the AI nation that runs them) so they'd be a "post-2240" setup typically when most space is claimed. But the ships themselves could be ordered to ignore unexplored space and fly wherever by tweaking their country_type (if I remember right).
Could you shut your borders to them to stop them trading with your enemy (by blocking their route)?
Not by shutting your borders, but by a policy. To quote my OP:
  • Open/closed borders are known to be an issue with path-recalculation. A "GTA" Nation can ignore open/closed borders, letting freighters move freely between any GC signatories Non GC-signatories could have a policy to allow/block/eat(lol) to modify scripts for orders.
To elaborate. you get a policy setting:
  • Trade Association Stance (could have a separate one for Cargo-Trade vs passengers/tourism vs slaver ships)
    • Hostile - Shoot on sight [SANCTIONABLE if in GC + generally angers GC members + really angers GC megacorps if MC-lobby resolutions passed]
    • Blacklisted - GTA ships will not pass through your space
    • Tolerated - GTA ships can pass through your systems but NOT trade at your worlds
    • Welcomed - GTA ships can enter your space and trade with your worlds [Not an option for Gestalts?]
This would be used to set a corresponding country flag on the country (and a 31 day "GTA_Policy_state_changed" flag), each month the GTA nation checks for state change flags and applies the "Do not enter" check on all of their systems or removes as appropriate. If no state changes made country is skipped.

This is potentially more performative [in that it creates fewer recalculation events] than the open/closed border method (which, whilst done in code, is checked daily & is prone to flipping often, due to wars and whatever other random crap is going on in the galaxy). By ignoring open/closed borders it means that paths will ONLY re-calculate when a country changes its policy (once every ten years, and AIs will only do a policy update based on governing ethos - or FP civics, so this should very rarely cause recalculations)
 
Last edited:
  • 1
Reactions:
Sounds good!
 
I really like this, specially how you are thinking on ways to tie into other parts of the game, such as megacorps, despoilers, etc.

Couple questions/ideas

1. Why leave Gestalt/Hivemind out? I get it why they don't have internal trade, but why would they not want external trade?

2. Can we leverage new policies to help customize the bonuses? Something like we have for internal trade, but opposite. What I mean by that are options for external trade policies that let you get a weaker bonus in exchange for more Energy Credits. Think "Taxation". This could then tie into factions (I can't wait for your other mod dealing with them), with factions wanting more free or regulated/taxed external trade.
 
1. Why leave Gestalt/Hivemind out? I get it why they don't have internal trade, but why would they not want external trade?
Mostly because I already have a huge array of possible planet modifiers to fill in, and the way gestalts work means that I'd probably need duplicate modifiers for a hive agri world vs a regular agri-world, as drones work slightly differently.
1616414532497.png

Not included in this (as i want to test stuff in 3.0) is applying a non-linear +TV% buff to represent the local planet economy boost from sales to trade ships. Also need to roll habitat Designations into the tags on the left, forgot to add them last night.

Though I suppose Gestalts might be something to do "later" once the core stuff is done and bits can be copy-pasted.

2. Can we leverage new policies to help customize the bonuses? Something like we have for internal trade, but opposite. What I mean by that are options for external trade policies that let you get a weaker bonus in exchange for more Energy Credits. Think "Taxation". This could then tie into factions (I can't wait for your other mod dealing with them), with factions wanting more free or regulated/taxed external trade.
I'd rather just leave that to megacorps lobbying the GC. The whole point of this is that its mostly hands off and reactionary to your empire setup.

And adding things like tax policies affecting modifier sizes seems simple on the surface, but that giant array I put above becomes exponentially larger, as planet modifiers cannot be modified dynamically (i cant reduce +100% output to 50% output on-the-fly I need a separate modifier and to pick that directly).

What I might screw with is adding a EC/Influence-costing planet decision "Trade Beacon" which makes trade ships more likely to flock to that world/system, rather than picking worlds at random (pseudo distance weighted)
 
  • 1
  • 1
Reactions:
From the release notes thread:

* Added is_civilian trigger for ships and fleets.

Looks interesting for this.


Regarding resources .... my instinct is that Metallurgists and Researchers are both desirable enough as-is, and shouldn't be buffed by letting them create special trade goods as well. Artisans, Miners, and Farmers are not desirable, and should be buffed. (Technicians are ignored here: what they create is too fungible.)

Entertainers and Culture Workers could provide different sorts of tourism. Culture Workers could provide domestic tourism draw, as people enjoy participating in local traditions; Entertainers could provide foreign tourism draw, which is probably both more trouble and more profits, because foreigners are interested in spectacle more than tradition.

(Priests are special and could do both, but only for Spiritualist tourists.)
 
  • 1
Reactions: