Feature Request - Shopping List

A Shopping List feature to help manage and plan multiple purchases would be a useful addition to the game.

Summary

Many times, I find myself planning a base building construction or need to purchase production materials, requiring several trades at a time. A list to help manage and plan multiple purchases would be very helpful.

Shopping List

Features

  • A Shopping List would be created by a command specifying a Commodity Exchange to obtain relevant prices (ie. “SHL CI1”).
  • Ability to add a specified quantity of a material to the list. See Adding Materials below for examples.
  • Each material on the list shows a subtotal cost for the specified quantity.
  • Display a total cost for all materials on the list at the bottom.
  • Have the ability to access the Place Order command for a material on the list at the list’s specified Commodity Exchange.
  • The quantity of each material on the list could be an editable text input to quickly adjust quantities.

Adding Materials

  • The ability to add a material to the list by prompting the player for a material and quantity. For example, “BSE 10” would add Basic Structural Elements with a quantity of 10.
    • This could be either a permanent text input at the top of the Shopping List or through a button in the corner similar to other commands.
  • The ability to add all required materials for constructing a building from the base Building Construction command (ie. “BBC UV-351a”).
    • This could either add the total amounts or the missing amounts that are shown.
  • The ability to add a specific material from the Material ticker command (ie. “MAT BSE”).
    • This would provide convenient access to the shopping list from anywhere you can click on a material icon.
  • The ability to add a material from the Workforce command (ie. “WF 857f47a8”) to quickly add an item needing restocked for your workforce.

Please feel free to add any ideas or suggestions on how this could be improved, or other use-cases where you think this feature would be useful.

2 Likes

The “total price for all materials” could be problematic and the “place order” coupled that could result in either not buying enough or spending more than desired.

Consider the current listing for BBS.NC1

Screenshot 2023-11-14 at 5.30.36 PM

If I was to put in an order for 10, would it cost 15,100? or 15,160? I realize that’s only a 60 NCC difference, but its a difference. In some order books this could be a significant jump in price.

If it showed 15,100 and you bought 10, would that buy the 4 available and then put up a bid for 6 at 1,510?

If you buy those 4 while I’m still adding other things, does the list update the price? Would it still put in a bid for 10 at 1,510?

Assuming it does a “start at the bottom of the ask and work up” is there a “don’t buy if its more than this?” PPA.NC1 goes from 100/unit to 200/unit with the bottom two listings in the order book. If you were to buy a quantity 200 of them (just as an example), you’d be spending 444/unit by the time you filled it.

What happens if it runs out items in the order book? There’s only one VSC.NC1 in the order book as I write this. For that matter, what happens if the book is empty as with TK.NC1?

I do want this functionality (and would often use it) and that this is a whole bunch of “what ifs”. More than once I’ve had a list and then forgotten an item or two for an upgrade and I’d love to be able to have a list of items.


I believe that the way to resolve this is a “no more than” limiter with the option of placing the remainder up as a bid if it can’t be filled.

With the BSE example, when adding “10 BSE” it would show 4 at 1510 and I could enter in 1510 (or 1520 or unlimited). When buying it would stop at the value entered. Aside, if you do a “place order” with 10 BBH at 1520 it will buy 4x at 1510 and 6x at 1520.

If, for this example, it was at 1510 and the order was placed, it would buy 4 at 1510 and then show that there are 397 at 1520 and you could then have the option of updating the price to 1520 and placing another order for the remaining six.

This way, at no time will it spend more than the amount shown for the order totals. From a data perspective it doesn’t need the entire order book in order to do the calculation - just the current ask and bid and amounts as is shown in CX NC1 : Construction prefabs view.

If you select the option of “place bid if amount can’t be filled” (off by default), when buying 4 BSE at 1510 it would then put up a bid for 6 BSE at 1510.

1 Like

If the subtotal for a material would simply be Quantity x Ask price, I personally feel this would be alright. Since on the Place Order command shows the total ask Quantity x Price Limit, regardless of how many are available on the books for the Ask price shown, I think this would be familiar enough to a player to be useful. I understand this isn’t 100% accurate but it would still be of use in my opinion.

The prices shown on the list would ideally update at a reasonable rate, but I’m not sure what would technically be possible. If I open the Place Order command and someone makes a purchase that changes the actual lowest available price, the Place Order command doesn’t update to show the new true value. I don’t know if there are any other commands that do have some sort of real-time updating of market prices to make an estimate on what would be possible.

I don’t think the Shopping List should place any trades directly, so handling which orders are purchased at what prices, etc. shouldn’t be of concern. The Shopping List would simply have a button that access the Place Order command for that material at that Commodity Exchange. Ideally the Quantity field would be populated with the quantity on your list if possibly, but I don’t believe the CXPO command currently supports a quantity parameter.

As an aside, this is the sequence for "what happens if you place an order to buy at higher than the lowest ask price for more than the amount in the book. You’ll see that it correctly only buys at their ask amounts.

Note the “Volume” is the total price I am willing to pay (but not necessarily what I will pay) and that the CX Order screen shows my limit which is higher than I paid for any individual item.

I don’t think this should be given a high priority.

Given the level of clunkiness in the current UI (see: material transfer window, contd templates), I’m 98% certain I’d find it faster to just make this list in my spreadsheet and this whole feature would be left unused by majority of players.

Also the issues pointed out by @shagie.

Eve Online has a “multi-buy”. I believe it works like this:

You specify the materials you want and their quantity. It looks each one up at the CX and tells you the price for the quantity specified- recognizing that you might be getting several orders at different prices. It alerts you if there aren’t enough in stock.

(In Eve, there are many more CXes, so low-stock items are more common than PRUN)

As with normal CX purchases, the user still needs to be aware if they are purchasing something at a price they consider bonkers. That’s an unavoidable requirement in either case, so the burden isn’t increased here.

In Eve you can also paste in your shopping list from Google docs / xcel / PRUNPlanner-like-tools. That would be a godsend for me. It’s really rough when you gotta buy 20 different things, and it’s a lot of mindless clicks. And since it’s a spreadsheet game, I’d love support for something like that, and I don’t consider it automation.

It is a relatively big dev task though, I imagine.

1 Like