Generic Settings
Chunk #0
In this page you’ll find documentation regarding settings and configurations that can be used in any game:
- [Asset Bundles in Game Server](/wiki/spaces/KB/pages/2926346323/Asset+Bundles+in+Game+Server)
- [Generic Chapters and Levels](/wiki/spaces/KB/pages/2852126735/Generic+Chapters+and+Levels)
- [Generic Journeys and Events](/wiki/spaces/KB/pages/2926870529/Generic+Journeys+and+Events)
- [Generic Daily Challenges](/wiki/spaces/KB/pages/2933653553/Generic+Daily+Challenges)
Payments and Shop Configuration in Hawk
Chunk #0
**Introduction**
In this guide you’ll learn:
- How to configure Game Products and Shop Products
- How to configure a shop in your game
- How to configure payments
**Table of Contents**
* * *
## Payments in Hawk
Payments is the section that allows you to configure in-app purchases (IAP) in your game.
There are two main types of in-app purchases that can be made in Tripledot’s games:
- **Consumables:** assets that provide further progress in a game like gems, coins, chips, etc. Consumable in‑app purchases are depleted as they’re used and can be purchased again. An example of consumable assets are extra chips in Blackjack, coins in Woodoku, etc.
- **Non-consumables:** non-consumables are premium features that are purchased once and don’t expire. Examples include additional filters in a photo app, characters' new clothes/weapons in a game, etc. The main check here is to ensure that non-consumable purchase is saved through updates and reinstall, and cannot be purchased multiple times. An example of a non-consumable asset would be being able to pay so that no ads are shown in Blackjack.
However, please note that Hawk does not make any difference in practical terms regarding these two types of IAPs.
## Game Products and Shop Products in Hawk
Game Products and Store Products are the core of the Payments system in Hawk.
Game Products are the actual bundles of items to sell in your shop. Store products are the bundles with the price point to sell in the device app store, and all of them are composed of **Game Items** , which are created in **Game Server.**

### Configuring Game Items
Game Items, which are the consumable elements that can be bundled in Store Products and purchased in the App Store, **are configured in Game Server. **
1. In your game, navigate to Game Items, and click **[New]**.
2. Add a name to your item and select the type of item. Click **[Save]** when you’re done.
Once the items have been created in Game Server, it’s time to configure them in Hawk.
**About Game Items**
- The type of items that can be configured are determined by the Client.
- Game Items are created in Game Server because they are part of the core logic of the games, and are game-specific. Hawk, on the other side, as a Live Ops system, it can only operate with these items, but not create them.
- Game Items are synchronised with Hawk every hour, but this can be manually forced by clicking **[Synchronize]** in **Hawk \> Payments \> Game Items**
### Creating Game Products
As mentioned above, a **Game Product is the bundle of Game Items** that can be sold as an offer in the game. These bundles are **created in Hawk** , and can have more than one type of item inside (this depends on the configuration of your game).
To configure Game Products, follow these steps:
1. In Hawk, navigate to your Game, and select **Payments \> Game Products**. In this page you’ll be able to see the existing products, and where are they being used. Game Products can be used in more than one store, and the display name is localisable.
2. Click **[+ Add Game Product]** to create a new bundle. Add a new name, select a localisation key (if required, called Display Name Key in Hawk), and select a Product Image.
3. Then, click **[+Add]** to create your bundle of items. From the dropdown, select your item, and type in the amount. Click **[+Add]** again to add more items.
**About Localisation Keys and Product Images**
- The display name of the Game Product can be localised, however, the contents are not localisable. Localisation Keys are created and synchronised from Game Server. Read [this page](/wiki/spaces/KB/pages/3230760961/Managing+Localisations+in+Harmony) to know more.
- Product Images are created in Hawk. To add a new image, navigate to **Payments \> Product Images** , and upload a new image.
### Configuring Store Products
Store Products are the abstract entity of Game Products that is used on the device App Store, such as App Store for iOS or Google Play Store for Android. Store Items have the price point that will be used in the device App Store, and they are also used in Catalogs to determine the price of the items in the shop.
To create a new Store Product, follow the steps below:
1. In your game, navigate to **Payments \> Store Products**. In this page you’ll be able to see the existing products, their prices and in which catalogs they’re being used. To create a new Product, click **[+Add Store Product]** on the upper right corner of the screen.
2. Then, add a price point, and the Store ID will be generate automatically following the naming convention. Click **[Save]** when you’re done.
**Store Products Naming Convention**
The naming convention for Store Products is the following: `<denominator>_package_<game>`
Example: `0.99_package_woodoku`
## Creating a Catalog in Hawk
Catalogs are where you configure the items to sell in your shop. Catalogs are A/B testable and can be targeted to different segments of users.
**About Segments in Catalogs**
Remember that **Catalogs are created per segment**. If you’d like to create a different shop for another segment, please create a new Catalog.
1. In Hawk, select your app from the dropdown menu, and then navigate to **Payments \> Catalogs.** Click **[+ Add Catalog]** to create a new one.
2. Add a name to your catalog, assign a status and availability. Assign it to an existing segment and provide it with a priority.
3. Click the **“Edit configuration”** toggle to start configuring your shop. Once enabled, click **[+Add]** to add products.
4. Then, fill in the fields. A description of each of the fields can be found in the table below:
| **Field** | **Description** | **Validations** |
| **ID Product** | The product you will be selling in the store. The data in this field comes from Game Items | Dropdown with the game products to sell |
| **Price Type** | The type of item you are selling in the store. | - Store Product - In-game Currency - Ads - Free |
| **Price** | The price of the bundle in the App Store. This information comes from the items in Store Products. | Dropdown |
| **Platform** | The App Store where you want to sell your items. | - All - iOS - Android |
| **Line Group** | This field determines where in the shop your catalog will be located. Shop Items with the same Line Group will be presented in the same line to players. | Number |
| **Label** | Label to appear in the App Store, which are used to highlight a special offer or similar. They can be configured from **Payments \> Product Labels.** | Dropdown with existing labels  |
| **Purchase restrictions** | This field determines how many times can the item be purchased by the player. | - **None:** no restrictions apply - **Purchase Limit:** Integer value for the number of items that can be purchased/claimed - **Purchase Cooldown:** Time between two consecutive items are available for purchase/claim. Specify the time in hours and minutes. |
| **Sale Type** | This field determines the type of sale that applies to this shop. Not applicable for Ads or Free items. | - **None:** no special sale - **More Value:** more products for the same price. - **Price Cut:** lower price. If this is selected, a new dropdown will appear where you can select a new price. - **Extra Amount:** more items for the same price.  |
| **Sale Value** | Value that is charged for the sale. | You can specify the sale value based on the sale type. It is to be specified as a % value for more value type and in float form for price cut and extra amount sale types. |
| **Items Rounding Type** | This field is enabled if “More value” is selected under sale type. The calculation is determined by the Client development Team. | - **Round up** - **Round down** - **Math rounding:** chooses the number closer to 0 or 1 as determined by the client dev team. |
**Do you need support?**
If you need support, you can obtain the Entity Variant ID from any Catalog. This will help the Hawk team identify better your issue.
## Configuring Presets
Presets are specific **reusable stores** that are intended to be used for recurring or seasonal sales. These Presets will appear under **Catalogs \> Shop** and even though they target the same segment of users, they offer a different set of products.

To configure a new Preset, navigate to **Payments \> Presets**. In this section, you’ll be able to see the existing presets and in which catalog they’re being used. The short video below shows to create a preset.

Once the preset has been created, it will be available to use and configure in any Catalog:

Tiles Family Games - Levels & Chapters
Chunk #0
**Introduction**
In this guide you’ll learn how to:
- Set up Layout Banks
- Create related configurations
- Create Chapter Sets and activate them in Game Settings
**Table of Contents**
**Triple Tile User Guide:**
[https://tripledotstudios.atlassian.net/wiki/x/WAAotg](https://tripledotstudios.atlassian.net/wiki/x/WAAotg)
* * *
## Setting up Layout Banks
Some parts of this process are done via API. Please read the instructions below before getting started:
### Prerequisites
**User Token**
In order create Chapters and Levels, please make sure you have access to [](https://tripledotstudios.postman.co/workspace/Tripledot-Studios~27e83636-a522-451e-8a35-a9e93f6ebe81/request/11806556-08c0fd26-7d35-4058-b39c-1e60ecde67a0) or [Level Editor](/wiki/spaces/TRIP/pages/2779349212/Level+Editor+Overview) (UI tool).
To use the API or configure levels using Level Editor, you’ll require a user token generated from Game Server. Read the instructions below to generate one.
**Editor Privileges**
You will also require Editor Privileges in order to create or edit levels. To obtain Editor privileges, follow the next steps:
- Navigate to **Levels & Chapters** , and select **Layout Banks**
- Click **[View]** next to your layout bank
- Add your username/email to **Users** and save the changes
Generating a User Token
1. In Game Server, navigate to your profile
2. Click **[Generate User Token].** A new alphanumeric user token will be generated. Copy and store it in a safe location.
3. Use this new `user_token` in your API Calls
* * *
### Creating Layout Banks via API
The instructions in this guide refer to the creation of Layout Banks **via API**.
You can also create Layout Banks via _Level Editor_. Read the instructions [here](/wiki/spaces/TRIP/pages/2779349212/Level+Editor+Overview) to know more.
Once you’ve obtained your user token, you can go ahead and create Layout Banks. The Layout Bank will then be saved in the Level Bank.
Creating a Level Layout - POST {{host}}/api/internal/tile/level\_layouts
**Example request URI:** `https://game-server-staging.tripledotapi.com/api/internal/tile/level_layouts`
**Query parameters:**
| **Parameter** | **Type** | **Description** |
| --- | --- | --- |
| `user token` | _string_ | You user token generated in Game Server \> Profile |
| `app_id` | _string_ | Your app ID For Triple Tile, use `9` |
| `bank_id` | _string_ | ID of the level |
| `name` | _string_ | Name of the level |
| `content_hash` | _string_ | Generated in the client |
| `valid_for_use` | _string_ | True/False |
| `type` | _string_ | Your type of level. Use `classic`, `match_four`, or `goals` |
| `data` | _string_ | Your level layout. Example: `{"some_key": 10}` |
**Example call:**
{
"user_token": "{{user_token}}", //https://game-server-staging.tripledotapi.com/admin/admin_users
"app_id": 9,
"bank_id": "8",
"name": "new level layout",
"content_hash": "42425tsg34tkngwlg2kjgk2j3gf2",
"valid_for_use": false,
"type": "classic", //or "match_four" or "goals"
"data": {"some_key": 10}
}
**Responses:**
200 OK _application/json_
Updating a Level Layout - PATCH {{host}}/api/internal/tile/level\_layouts
**Query parameters:**
| **Parameter** | **Type** | **Description** |
| --- | --- | --- |
| `user token` | _string_ | You user token generated in Game Server \> Profile |
| `app_id` | _string_ | Your app ID For Triple Tile, use `9` |
| `bank_id` | _string_ | ID of the level |
| `name` | _string_ | Name of the level |
| `content_hash` | _string_ | Generated in the client |
| `valid_for_use` | _string_ | True/False |
| `type` | _string_ | Your type of level. Use `classic`, `match_four`, or `goals` |
| `data` | _string_ | Your level layout. Example: `{"some_key": 10}` |
**Example call:**
{
"user_token": "{{user_token}}",
"app_id": 9,
"bank_id": "8",
"name": "new level layout",
"content_hash": "42425tsg34tkngwlg2kjgk2j3gf2",
"valid_for_use": false,
"type": "classic", //or "match_four"
"data": {"some_key": 10}
}
**Responses:**
200 OK
### Creating Layout Banks in Game Server
Any changes made to Layout Banks need to be saved by clicking **[Save]** on the upper right corner.
You can also create Layout Banks in Game Server. However, the upload of layouts is done via API.
Once you’ve set up your Level Layouts, you can create Layout Banks with them.
1. Navigate to **Levels & Chapters \> Layout Banks** and click **[+New].**
2. Add a name for your Bank, add a description, labels if needed, and click **[Save].**
3. Once your Bank has been created, you can add your Layouts via API.
When Level Layouts have been uploaded, you’ll be able to visualise the details via Game Server, as well as duplicating both the bank and the levels, or reorder them.

**Uploading, Replacing and Duplicating Layout Banks**
- You can duplicate existing Layout Banks using the **[Duplicate]** button on top.
- You can download the layout banks form Game Server in order to import them into Production/Staging. The downloaded file contains:
- You can also replace existing layout banks. To do so, use the **[Replace]** button on the upper right corner. You’ll need to hash of the level bank to replace.

#### Uploading & Clearing Seeds
It is possible to upload specific seeds for each level from Game Server. This process is done via a CSV file which should include the numbers of seeds which should be used for each level.
1. In your Layout Bank, click **[Upload Seeds].**
2. Select a CSV file with the following format:
3. Click **[Save]**
**About Seeds**
Please take in consideration the following points:
- Number of seeds = number of comma separated integers
- You can upload seeds multiple times, but take into consideration that the data from the new file will override/update existing data.
* * *
## Creating Related Configurations
In order to configure Chapter Sets, you will need the following entities to be already added/configured:
- DDA Schemas
- DDA Schema Sets
- Reward Schema Sets
### **Creating DDA Schemas & DDA Schema Sets**
DDA (Dynamic Difficulty Adjustment) Schemas are used to apply a more personalised difficulty adjustment for each user based on their win rate, power-up usage, and revive usage, with the ultimate goal of increasing the long term retention of installs and maintaining cumulative rewarded ad revenue.
The workflow goes as follows:
1. Create the DDA Schemas
2. Create DDA Schema Sets
3. Enable them in Game Settings Override
#### Creating DDA Schemas
1. Select your game, navigate to **Levels and Chapters** , and select **DDA Schemas**. Click **[+New]** to create a new Schema. You can copy an existing schema by using the blue duplicate button  .
2. Add the relevant information for your configuration, and click **[Save]** when you’re done.
#### Creating DDA Schema Sets
Once you have created your schemas, you can place them together into Schema Sets. These Sets can be later be added to Game Setting overrides to facilitate A/B experiments.
To create DDA Schema Sets, follow the steps below:
1. Navigate to **DDA Schema Sets** , and click **[+New]** in the upper right corner.
2. Give your Set a name, and add the DDA schemas that will be part of the set. Under **From/To** , select the range of Chapters that the DDA Schema will apply to. If using “All next”, all next chapters will use this DDA schema. To include a new chapter, click **[+Add Difficulty Schema]**. When you’re done, click **[+Save].**
After creating your DDA Schema Sets, the final step is enabling them in Game Settings:
.gif?version=2&modificationDate=1687786465720&cacheVersion=1&api=v2&width=807&height=439)
### **Creating Reward Schema Sets**
1. To create Reward Schema Sets, navigate to **Levels & Chapters \> Reward Schema Sets**. In this page you’ll be able to see the existing sets, and in which configuration they’re being used.
2. Give your set a name, assign a label if needed, and click **[+Add Chapter Range].** A new chapter range will appear, which by default, includes all chapters available. To edit the rewards per chapter, click again **[+Add Chapter Range]** to include a new range of chapters.
3. Click **[+Add Reward]** to include any Game Item as a reward and its quantity. You can also add different rewards for players who reach the middle of a chapter by clicking **[+Add Midchapter Reward].**
If you select a Chest as a reward (bundle of Game Items), the folder icon will be active. Clicking it will redirect you to the Chest so that you can see the detailed view of Game Items
When you’re done with the configuration, please navigate to Game Settings and enable your Reward Schema Set:
