Problem
Ship sales have been a longstanding pain point. Shipbuilders, and thus a lot of endgame content, is disincentivized by an unreasonable amount of effort to make 20-30 contracts to sell each individual component of a ship. It’s a pretty painful process.
Key Consideration
Until “bulk” contracts are a thing, if you make it too easy to send shipping contracts, users might inadvertently macro-send / batch-send 20-30 contracts to unrelated users, creating a spam problem.
Proposed Solution
There are 2 existing data-models to leverage in making a better experience here: contracts that work as-is, and shipyard projects that work as-is.
Blueprints are 100X easier to make than 20-30 contracts. Blueprints can easily be sent to shipyards. This means that 2 players already have a way to verify shared interest in a specific blueprint:
- Ship buyer has the BLU applied to a Shipbuilding project.
- Ship seller has the BLU saved.
- When both are true, a batch-sale can be made, and 20-30 contracts can be sent without being a spam issue.
So the proposal is as follows:
- Modify the Blueprint experience, to let players buy or sell “blueprint fulfillment” to other players.
- This requires both players have the same Blueprint at least saved.
- It also required the Buyer has the Blueprint started as a Shipyard project.
- When all those conditions are true, “blueprint fulfillment” takes in a price, a contract duration, a target user, and will issue a batch of Contracts between the buyer/seller.
Proposed Buyer User Experience
Use Case: This is a user who is submitting a buy order to a shipbuilder.
- Open BLU
- Go to a ship blueprint you want to buy
- At the bottom of the blueprint, observe a new hypothetical section called “Buy and Sell”
- A dropdown defaults to “Buy”. More players will be buying ships than selling them.
- Informational text reads: “You must have a blueprint saved and applied to a shipbuilding project in a shipyard to buy a ship’s materials from someone else.”
- A dropdown shows all ships that meet that requirement, for you to select.
- A text-entry box allows users to specify who they’re buying from. Player names only fill and validate if they have a matching blueprint themselves. (AKA, 2 players having the same blueprint is a safety mechanism to prevent spam).
- A text box accepts entry for “Total Purchase Price”. Informational text relating to this box says: “Total purchase price will be evenly spread across all contracts, based on material quantities.”
- A text box defines “Fulfillment Duration”, and it defaults to 7 days.
- A “Send” button is below that text-entry box.
Proposed Seller User Experience
- Open BLU
- Go to a ship blueprint you want to buy
- At the bottom of the blueprint, observe a new hypothetical section called “Buy and Sell”
- A dropdown defaults to “Buy”. More players will be buying ships than selling them. Since we’re selling, toggle to “Sell”.
- Informational text reads: “You must have a blueprint saved to sell a ship package. The buyer must have the same blueprint saved and applied to a shipbuilding project to complete the sale.”
- A dropdown shows all ships that meet that requirement, for you to select.
- A text-entry box allows users to specify who they’re selling to. Player names only fill and validate if they have a matching blueprint themselves.
- A text box accepts entry for “Total Purchase Price”. Informational text relating to this box says: “Total purchase price will be evenly spread across all contracts, based on material quantities.”
- A text box defines “Fulfillment Duration”, and it defaults to 7 days.
- A “Send” button is below that text-entry box.
System Behavior
When executing a ship sale in this way, a loop will run on the server that creates the 20-30 necessary contracts, and batch-sends them. The purchase price of the ship is spread evenly across all the contracts, allowing for incremental purchasing. The payment & material fulfillment still happens as it currently does, so if Shipbuilders desire to collect full payment before fulfilling, that’s still possible.
More than anything, this is macro-type functionality for something players are already doing (albeit painfully).
Spam Reduction
Because the buyer must have a blueprint both saved and applied to a shipbuilding project, and the seller must have a matching blueprint, I’m estimating that the potential of a spam-issue with this approach would be minimal.
Thank you for coming to my TED Talk