The Kobol Engine has an in-game shop that uses the BardCommerce cart engine for selling card packages to the users and hosting the P2P marketplace.
But in order to sell card packages, there must be somewhere to take the cards from. And that's the purpose of the depot.
The depot is both a cards factory and warehouse:
A package consists of a set of directives that define how cards should be selected from the repository using several filters:
- Using a direct cardspec id
- By user level / random or specific cardspec level
- By universe
- By character class
- By character type (nature)
- By base element
- By character set class
- By character hierarchy
To understand how selectors are used, let's say you have a candy shop and you want to build different bags with assorted candy, E.G.:
- Bag 1 will have 6 vanilla caramels.
- Bag 2 will have 4 chocolate bars and 2 marshmallow bars.
- Bag 3 will have 2 vanilla caramels, 2 chocolate bars and either 2 marshmallow bars or 2 oat cookies (without exceeding 6 candy pieces per bag).
Following the example:
- Bag 1 will only need one selector, a fixed selection of 6 vanilla caramels.
- Bag 2 will need two selectors:
- Selector 1 will add 4 chocolate bars.
- Selector 2 will add 2 marshmallow bars.
- Bag 3, the most complex sample, will require four selectors:
- Selector 1 will add 2 vanilla caramels.
- Selector 2 will add 2 chocolate bars.
- Selector 3 will add 2 marshmallow bars with a 50% chance of success.
- Selector 4 will fill up the rest of the package with oat cookies.
- An acquisition simulator is used to test the pack selectors.
- Once the package is tested and published, it needs to be registered on the shop frontend:
- The depot package id is the custom id or SKU set on the shop item.
- Descriptions and "photos" of the package are also set on the shop frontend.
- Price is also set on the shop frontend.
- When a user purchases a cards package on the shop, a call is made to the depot API and the cards are given back for delivery to the buyer's inventory.