Trade interfaces

Posted June 19th, 2013 by Tynan Sylvester

It’s amazing how the detail work of getting something right can take so much longer than the baseline work of getting it functioning in the first place.

Today I spent the entire day working on the commodity trading interface. And I’m pretty sure I’m not even done. But, at least, I think we’re improving.

Now traders can pay and offer different prices when buying and selling commodities. They’ll always offer to pay less when you sell to them than they’ll demand when you buy.

In addition, traders have a stock that depletes. This stops some absurdities in gameplay, and means it”ll be important just who visits your struggling little colony. If you’re depending on food from the stars, you better hope a farming vessel happens by.

Here’s the old interface:

TradeInterfaceOld

It got the job done, but there was some weirdness. What’ that second column mean? And what’s it mean when the trading number is negative? And, of course, the aforementioned issues with traders having an infinite supply of everything. The exploits got extra fun when there were two traders in the system at once, one trading a commodity for less than the other.

Here’s the new interface:

TradeInterface

I’m not worrying much about making things pretty at all. These days it’s all about making things clear, bug-free, and compelling from an interactivity standpoint.

It’s still not as stupid-simple clear as I’d like. But it expresses the concepts I need, I think.

There’s a lot to deal with that the screenshots don’t show. How do you handle players trying to set up deals that they can’t afford? Or trying to buy more than the trader has? Do you stop them immediately? Where and what do you flash to indicate something was wrong?

I mixed the solutions – if you or the trader don’t have enough money to fulfill the deal, I still let the player set it up, and only give the rejection notice if the player tries to execute the deal. This makes it easier to move the numbers around towards the final deal that you want. Before this, players would constantly hit the money limits of themselves or the trader when only trying to setup a deal they knew would work.

Stock limits I handled differently. If the player tried to set up a trade where they or the trader didn’t have enough stock to cover the deal, the system would immediately stop them.

I think this mixed solution feels best. You’re not constantly being blocked while setting up deals, but there’s only one variable (final balance) that you have to ensure lines up before the deal will go through.

You’ll also notice the data in that second column from the first screenshot is gone. That’s because it’s rolled into the player totals. What the old “purchased” column indicated was the number of the commodity that the player had bought but had not yet been delivered. You could “un-buy” these by selling that commodity. I ultimately decided it was unnecessary; now the game just tracks the totals of everything you’ve traded since you opened the trade screen. Only when you close the screen does it resolve who got what, pull resources from your bank to go to the trader, and spawn drop pods to deliver what you’ve bought.

And working this out took all day. I love it.¬†As always, it’s those endgame details that get you. Hopefully this solution will hold for a while.

Comments are closed.