So. Economy's fucked. I think my suggestion will make a noticeable improvement to it, emphasize the creation of trade ships, enable mass production for public consumption, and enable more specialized playstyles and ship creation (players that only mine, only produce goods, only trade goods from one sector to another, ect) and generally assist in the creation of a living breathing universe.
Step 0: Simplest thing. A check box for stores. When checked, the store is connected to the global network as described below. When not, it's not. Done.
Step 1: Variable NPC shop sizes and cargo integration. This is necessary for the main idea. Shops should link to cargo and store their goods there if they don't already (I haven't played with shops in a while). Store max stock should be measured in mass and global across all goods (instead of max of 100k of X item like it is now).
Step 2: Prices change instantly, per shop, per item, per transaction. Simple as. Prices go up and down by a percentage based on stock movement each transaction. If a store has 1000 items and you buy 100 of them, the price goes up by 10% after the transaction is completed. If you buy 1000, the price goes up by 100%. If you buy 100 5 times, the prices goes up by almost 100% anyways, due to recursive multiplication, so large bulk purchases are the best idea. Transactions of less than 50 items don't trigger this effect (though 2a still applies)
Step 2A: To mitigate exploitation, every faction tick, the difference between the previous tick's stock and current tick's stock (Before stock movement below) is calculated, and the price (from previous tick) is adjusted based on that info to determine the new price for the new faction tick (again before stock movement), ignoring individual transactions since then (thus preventing a single player from driving up the price of critical goods permanently and easily without purchasing many actual goods). This takes place just before, but effectively at the same time as, step 3 below
Step 3: The good stuff
Stock movement. Each faction tick, each shop that a player has run a transaction against in the past 4 (number semi-arbitrary and pending balance analysis) faction ticks checks the prices of each networked shop within a 8-16 sector radius. If the prices on a checked shop is low/high enough (after a penalty for distance), the checking shop will basically buy/sell goods from that shop, leaving empty space in both shops for further transactions. Shops that have more purchases than sales will have less space left, shops that have more sales than purchases will have lots of empty space and not much stock left (But still a handful of every item, if possible)
The result of this is that shops will dynamically adjust prices to whatever the system-wide normal is, some areas will have higher prices in certain goods than others, trading runs become feasible, and more.
Further, this system could easily be expanded in the future!
Step 0: Simplest thing. A check box for stores. When checked, the store is connected to the global network as described below. When not, it's not. Done.
Step 1: Variable NPC shop sizes and cargo integration. This is necessary for the main idea. Shops should link to cargo and store their goods there if they don't already (I haven't played with shops in a while). Store max stock should be measured in mass and global across all goods (instead of max of 100k of X item like it is now).
Step 2: Prices change instantly, per shop, per item, per transaction. Simple as. Prices go up and down by a percentage based on stock movement each transaction. If a store has 1000 items and you buy 100 of them, the price goes up by 10% after the transaction is completed. If you buy 1000, the price goes up by 100%. If you buy 100 5 times, the prices goes up by almost 100% anyways, due to recursive multiplication, so large bulk purchases are the best idea. Transactions of less than 50 items don't trigger this effect (though 2a still applies)
Step 2A: To mitigate exploitation, every faction tick, the difference between the previous tick's stock and current tick's stock (Before stock movement below) is calculated, and the price (from previous tick) is adjusted based on that info to determine the new price for the new faction tick (again before stock movement), ignoring individual transactions since then (thus preventing a single player from driving up the price of critical goods permanently and easily without purchasing many actual goods). This takes place just before, but effectively at the same time as, step 3 below
Step 3: The good stuff
Stock movement. Each faction tick, each shop that a player has run a transaction against in the past 4 (number semi-arbitrary and pending balance analysis) faction ticks checks the prices of each networked shop within a 8-16 sector radius. If the prices on a checked shop is low/high enough (after a penalty for distance), the checking shop will basically buy/sell goods from that shop, leaving empty space in both shops for further transactions. Shops that have more purchases than sales will have less space left, shops that have more sales than purchases will have lots of empty space and not much stock left (But still a handful of every item, if possible)
The checking shop is shop A and the checked shop is shop B
A player visits shop A, buys a good, and an activity counter begins at 4
Faction Tick
For each good that shop B has higher prices for, determine the ratio by which that is the case and store it. Subtract .01 from that ratio for each sector of space between the two shops, discard the ratio if the result is below 1
For each good that shop B has lower, Same thing, but ADD .01 to the ratio for each sector of space between the two shops and discard the ratio of the result is below 1.
Now for each shop, determine their cargo capacity and which shop has generally higher prices.
Finally, Shop A buys/sells a number of every good based on which shop has generally higher prices, and weighted by the price ratios stored above (So the items with the bigger price difference has bigger stock movement, leveling the prices out between the two shops towards the normal.
Shop A activity counter is reduced by 1
Shop B activity counter is set to whatever shop A's activity counter is, and ignores shop A in any checks. (Shop C, which will be checked by shop B next faction tick, will ignore shop A and B [all shops checked by A last tick] in future checks)
A player visits shop A, buys a good, and an activity counter begins at 4
Faction Tick
For each good that shop B has higher prices for, determine the ratio by which that is the case and store it. Subtract .01 from that ratio for each sector of space between the two shops, discard the ratio if the result is below 1
For each good that shop B has lower, Same thing, but ADD .01 to the ratio for each sector of space between the two shops and discard the ratio of the result is below 1.
Now for each shop, determine their cargo capacity and which shop has generally higher prices.
Finally, Shop A buys/sells a number of every good based on which shop has generally higher prices, and weighted by the price ratios stored above (So the items with the bigger price difference has bigger stock movement, leveling the prices out between the two shops towards the normal.
Shop A activity counter is reduced by 1
Shop B activity counter is set to whatever shop A's activity counter is, and ignores shop A in any checks. (Shop C, which will be checked by shop B next faction tick, will ignore shop A and B [all shops checked by A last tick] in future checks)
The result of this is that shops will dynamically adjust prices to whatever the system-wide normal is, some areas will have higher prices in certain goods than others, trading runs become feasible, and more.
Further, this system could easily be expanded in the future!
Players can allow public access to their jump gates, charging a toll for each mass that goes through the gate. NPC shops use that jump gate in their shop checks, applying a penalty based on the toll to their calculations. If any goods go through the gate, the player owning the structure gets an appropriate number of credits
Pirate stations could apply a penalty to the check. Using A* pathfinding, apply a movement penalty for sectors near a pirate station. Players destroying pirate stations gain a credit bonus from each shop based on the stations proximity to that station, and if a faction is manufacturing goods, it's in their best interest to destroy all pirate stations nearby to facilitate the movement of their product to nearby systems (and keep them destroyed, if pirate bases respawn)
Bam; suddenly the magical movement between shops isn't magic at all. The stock is removed, ships are generated with the stock in their cargo hold. They go to the other shop, perform the transactions and vanish. Destroying the ships drops the goods for players to use, but places a bounty on them that other players (and NPC mercenaries) want to retrieve (by destroying that same amount of credits of stuff)
Last edited: