Summery: Dynamic prices and stock levels equivalant to supply and demand.
Detail: Every item in the game should have an entry in a server-side database indicating its current price and 48 hour/weekly buy and sell trade volume.
Every time a purchase is made, the trade volume is increased; and the price is increased relative to the trade.
The price increase would be directly related to the percentage of trade volume, with caps on maxiumum price change.
(expressed via math
tradeVolume=previousVolume+purchases+sales
saleVolume purchaseVolume
averageStock=previousAverageStock - __________________ + ______________________
PreviousSaleVolume previousPurchaseVolume
tradeDifference=(averageStock*defaultPrice)/(price*defaultPrice)
tradeVolume
price=previousPrice*(___________________*tradeDifference)
previousTradeVolume
)
Thus: A player buys 1000 shield capacitors; trading volume for the last week was 100,000 purchases, the prices goes up by 1%. (Credit fractions would be tracked to 2 decimal places and rounded to nearest)
The effect of all this is prices would change reletive to manufacturing and purchasing. As everyone buys shield capacitors, shield capacitor prices go up, thus some players start making dedicated shield capacitor factories, bringing prices back down.
If trade convoys were implimented the volumes and such should be tracked per shop/sector; and go up or down as convoys come in to spread stock data from other shops/sectors.
Also, if tradeDifference isn't 1, price should slowly (around 1 unit per hour) convert to/from averageStock to make it as close to 1 as possible.
The primary downside I see to this is it would take up more hard drive space, but i don't think it'd be very much more. There's not even any reason to transmit the data to clients in multiplayer, unless you want to make it extremely and immediately obvious what items are most profitable to manufacture/trade.
Detail: Every item in the game should have an entry in a server-side database indicating its current price and 48 hour/weekly buy and sell trade volume.
Every time a purchase is made, the trade volume is increased; and the price is increased relative to the trade.
The price increase would be directly related to the percentage of trade volume, with caps on maxiumum price change.
(expressed via math
tradeVolume=previousVolume+purchases+sales
saleVolume purchaseVolume
averageStock=previousAverageStock - __________________ + ______________________
PreviousSaleVolume previousPurchaseVolume
tradeDifference=(averageStock*defaultPrice)/(price*defaultPrice)
tradeVolume
price=previousPrice*(___________________*tradeDifference)
previousTradeVolume
)
Thus: A player buys 1000 shield capacitors; trading volume for the last week was 100,000 purchases, the prices goes up by 1%. (Credit fractions would be tracked to 2 decimal places and rounded to nearest)
The effect of all this is prices would change reletive to manufacturing and purchasing. As everyone buys shield capacitors, shield capacitor prices go up, thus some players start making dedicated shield capacitor factories, bringing prices back down.
If trade convoys were implimented the volumes and such should be tracked per shop/sector; and go up or down as convoys come in to spread stock data from other shops/sectors.
Also, if tradeDifference isn't 1, price should slowly (around 1 unit per hour) convert to/from averageStock to make it as close to 1 as possible.
The primary downside I see to this is it would take up more hard drive space, but i don't think it'd be very much more. There's not even any reason to transmit the data to clients in multiplayer, unless you want to make it extremely and immediately obvious what items are most profitable to manufacture/trade.