Offworld is really coming along as a game. The base game plays extremely well now, bravo to the devs.
The Auto Sell feature is useful, but its behavior is not ideal for making strategic plays using larger stockpiles. This leads to either highly repetitive micromanagement of sell orders, or simply avoiding stockpiling as a technique because it is too annoying to execute. Suppose a UI feature were added which allowed players to specify a "ceiling" price at which the specified commodity will be sold automatically. And, conversely, the ability to set a "floor" price at which that player will automatically purchase the commodity.
For example, a player who is focusing heavily on producing food and water may at one point during the game have a higher water income than they presently have water requirements for food production. They will often want to sell water, but the auto-sell feature as implemented now cannot be used effectively because shortly it will be automatically selling all that player's water and leaving none to be passed on to food production, as well as depressing the price of water further than a player who is mass-producing a commodity probably desires.
Suppose instead the player could set a price of water, and if the price of water goes above that number, it will be sold until water's price has fallen again to the ceiling that player has defined, at which point the automatic selling would stop.
Building further upon this idea, what if players had the opportunity to purchase futures contracts in whichever commodities. A futures contract would be an offer to buy a commodity, in the future. If I anticipate that the price of a particular commodity is going to rise, then I can buy a futures contract to lock in the price of the commodity now. However, if the price of the commodity actually goes down, then I am actually overpaying by paying the price now rather than at the time in the future. The contract itself would have a small cost to purchase (and could require a new type of special building to use), with the required cost of the resources specified in the futures contract being paid at the moment it is concluded. Let's make every futures contract be for 100 resources, and if you want more you can buy several separate ones. And when a player buys a futures contract it should be announced to the other players.
For example, if we are playing on a map which has a very limited supply of silicon, and I anticipate that glass is going to be expensive in the future, I could buy a futures contract for glass now at the current price. I pay a few hundred bucks for the contract itself, and five minutes from now I will be required to buy 100 Glass, at the current price. Five minutes later, when the price of glass has gone through the roof, I am getting a lot of glass for cheap, and I don't have to pay the full amount right now either.
The same could be done in reverse with a promise to sell 100 resources in the future. In the event that the player does not have those resources when the futures contract is due they will be forced to pay for them but will receive nothing in return. A promise to sell in the future at the current price will be advantageous if the price falls.
Futures are easily exploitable by an intelligent human, such as buying to drive up the price, a futures contract to sell, and then unloading a stockpile to greatly lower the price of the commodity. But an intelligent opponent could easily do the same in reverse; upon observing an opponent has bought many futures contracts to sell, driving up the price by buying a large quantity of that commodity.
Suppose further that players could sell their futures contracts using options, allowing players to make Put options and Call options. A Put option is an offer to sell 100 resources in the future, and a Call option is an offer to buy 100 resources in the future. If two players have matching Put/Call pairs, a trade will be made automatically.
An outstanding futures contract should be displayed on the screen for the player. And on this UI element would be adjustable prices; for its owner the option to Put, and for other players the option to Call. If another player is willing to buy that futures contract they will indicate it by setting a Call price they are willing to pay for it. If that price is equal to or greater than the price that its owner is willing to accept (set in the Put price by the owner), then whichever player has set the highest price will buy it for that price.
In terms of gameplay, these features do three things. First, players have a lot more flexibility to play styles that are more focused on one resource type, rather than needing to build their own basic water/food/O2/fuel infrastructure. A strategy which deliberately avoids building structures that will produce these resources would benefit from purchasing futures to buy them, at times when the price is low.
Second, in unusual situations such as maps with random/rare resource settings, or just weird cases in general, players can use futures to hedge against "weird map" related issues. For example, on a map spawned without any water, players have the ability to use futures contracts to introduce water into the game's closed system, for a premium price.
And third, a wide variety of strategies which involve strong control over the price by aggressively buying, selling, and floating large stockpiles become much more interesting and more effective. As the game currently stands a large stockpile of any resource is a liability, since a reduction in the price of that commodity could cripple that player. Strategies where a player might sit on 1000 of a type of resource and still buy it in order to increase the price, do not really work, as they are slow, risky, and have relatively small and temporary benefits. But aggressively manipulating the price by buying and selling (not just by the hacker array) becomes a lot more powerful and a lot more interesting when futures contracts are available to exploit price movements, both to make money, and also to hurt your opponents by doing the opposite of whatever they are trying to do to make money.