# Point System

<figure><img src="/files/dJOx4TcyPebydITZsatH" alt=""><figcaption></figcaption></figure>

## Seashell Formulas

This section describes the generalistic formulas to allocate Seashells (Points) to individual users of TideFlow participating in free games and wager games. Seashells will later be converted into $TIDE tokens.

Participation in free and wager games is tracked separately

* Silver Seashells
  * Awarded for free games
  * Reward currency for social tasks
* Gold Seashells
  * Exclusively earned for playing wager games

This ensures an effective airdrop allocation to players. Players of wager games will be adequately rewarded, preventing dilution by free-to-play users.

### Determining Seashells Per Game

Initially we have to define the total number of seashells available for distribution in a single multiplayer game.

At its simplest, the total number of seashells within a single lobby is calculated as such:

$$
\text{Total Seashells in game} = \text{Total number of players} \times \text{General Boost} \times \text{Community Boost} \times \text{Wager Boost} \\
$$

**General Boost:** Note that the “General Boost” is set at 100% across all community sizes. This is in order to give two Seashells/player as a base rate.

**Community Boost:** Scale with the number of players that join one single game to incentivize larger communities.

**Wager Boost (only in wager games):** Scales with the wager each participant in a game bets by that incentivizing communities or games with larger wagers.<br>

\
This simplified logic can further be expressed in the following way.

Let:

$$
SH\_\text{Total} = \text{Total amount of seashells available for distribution in a single (multiplayer) game} \\
N = \text{Total number of players in a single (multiplayer) game} \\
Boost\_b = \text{The individual boost to incentivize large multiplayer games according to the following table} \\
$$

$$
SH\_\text{Total} = f(N) = N \cdot \left( 1 + \sum\_{b=0}^{B} Boost\_b \right) \\
$$

In a simplified example where only a base boost as well as a community boost is applied is shown in the following table:

| **N** | **Base Boost** | **Large Game Boost** | **SHTotal** |
| ----- | -------------- | -------------------- | ----------- |
| 1     | 100%           | 0%                   | 2           |
| 10    | 100%           | 0%                   | 20          |
| 25    | 100%           | 0%                   | 50          |
| 50    | 100%           | 0%                   | 100         |
| 100   | 100%           | 100%                 | 300         |
| 150   | 100%           | 100%                 | 450         |
| 200   | 100%           | 100%                 | 600         |
| 250   | 100%           | 200%                 | 1’000       |
| 500   | 100%           | 200%                 | 2’000       |
| 1000  | 100%           | 500%                 | 7’000       |

\
Or visually:

<figure><img src="/files/x2dxI5fWjmeyQyElF1CR" alt=""><figcaption></figcaption></figure>

Further expanding the above formula with a wager boost lead to a slightly more complicated table:

| **N** | **Base Boost** | **Large Game Boost** | **Wager** | **Wager Boost** |
| ----- | -------------- | -------------------- | --------- | --------------- |
| 1     | 100%           | 0%                   | 1         | 0%              |
| 10    | 100%           | 0%                   | 10        | 0%              |
| 25    | 100%           | 0%                   | 25        | 0%              |
| 50    | 100%           | 0%                   | 50        | 0%              |
| 100   | 100%           | 100%                 | 100       | 100%            |
| 150   | 100%           | 100%                 | 150       | 100%            |
| 200   | 100%           | 100%                 | 200       | 100%            |
| 250   | 100%           | 200%                 | 250       | 200%            |
| 500   | 100%           | 200%                 | 500       | 200%            |
| 1000  | 100%           | 500%                 | 1000      | 500%            |

This again leads to a two dimensional grid of total seashells to be distributed in a single game:

| **N / Wager** | **1** | **10** | **25** | **50** | **100** | **150** | **200** | 250   | 500   | 1000   |
| ------------- | ----- | ------ | ------ | ------ | ------- | ------- | ------- | ----- | ----- | ------ |
| 1             | 2     | 2      | 2      | 2      | 3       | 3       | 3       | 4     | 4     | 7      |
| 10            | 20    | 20     | 20     | 20     | 30      | 30      | 30      | 40    | 40    | 70     |
| 25            | 50    | 50     | 50     | 50     | 75      | 75      | 75      | 100   | 100   | 175    |
| 50            | 100   | 100    | 100    | 100    | 150     | 150     | 150     | 200   | 200   | 350    |
| 100           | 300   | 300    | 300    | 300    | 400     | 400     | 400     | 500   | 500   | 800    |
| 150           | 450   | 450    | 450    | 450    | 600     | 600     | 600     | 750   | 750   | 1’200  |
| 200           | 600   | 600    | 600    | 600    | 800     | 800     | 800     | 1’000 | 1’000 | 1’600  |
| 250           | 1’000 | 1’000  | 1’000  | 1’000  | 1’250   | 1’250   | 1’250   | 1’500 | 1’500 | 2’250  |
| 500           | 2’000 | 2’000  | 2’000  | 2’000  | 2’500   | 2’500   | 2’500   | 3’000 | 3’000 | 4’500  |
| 1000          | 7’000 | 7’000  | 7’000  | 7’000  | 8’000   | 8’000   | 8’000   | 9’000 | 9’000 | 12’000 |

We can put the above also into a graphical representation:

<figure><img src="/files/DVxcl5bT4syPaj4ZuUrQ" alt=""><figcaption></figcaption></figure>

## Calculating Seashells Per Player

Now that the total amount of seashells available for distribution per game has been defined, we can break it down to a single player.

Let:

$$
N = \text{total number of players in a single (multiplayer) game} \\
n\_i = \text{the individual single player in a single (multiplayer) game} \\
$$

Therefore:

$$
N = \sum\_{n\_i=1}^{N} 1
$$

To determine the number of seashells distributed to an individual single player we need to rank the player's performance against the other players.

Let:

$$
\text{Rank}\_i = \text{Rank of an individual player among all other players in the game} \\
$$

The ranking has to be based on a metric which we will call:KPIi = Performance of an individual player i among all other players in the game

$$
KPI\_i = \text{Performance of an individual player } i \text{ among all other players in the game} \\
$$

Where KPI may be based on a Success Score or Return Measure (ROI) suitable for ranking the players individual performance.

Each player is then ranked based on the KPI relative to all other participants in the match. The following illustrates such a distribution:

<figure><img src="/files/5FWW7zckxssoG937nZe7" alt=""><figcaption></figcaption></figure>

The individual performance will then be rewarded by boosting seashells available for distribution for players that scored in the top percentiles while the majority (the belly of the distribution) will get a small reward and the bottom tail may or may not receive a marginal reward.

This increase is currently set to always incentivize players to compete in order to climb as far up the P\&L ladder as possible. An idle playstyle, where aiming for the middle of the leaderboard is rendered inefficient from an economic and pointnomic perspective

Taking above into consideration one can easily draft a rewards table assuming a game with &#x20;

$$
SH\_\text{Total} = 1000 \\
$$

| **Comment** | **Percentile** | **Seashell Allocation** | **Seashells** |
| ----------- | -------------- | ----------------------- | ------------- |
| **Maximum** | 100%           | 30%                     | 300           |
| <p><br></p> | 95%            | 25%                     | 250           |
| <p><br></p> | 90%            | 20%                     | 200           |
| <p><br></p> | 75%            | 10%                     | 100           |
| **Median**  | 50%            | 5%                      | 50            |
| <p><br></p> | 25%            | 4%                      | 40            |
| <p><br></p> | 10%            | 3%                      | 30            |
| <p><br></p> | 5%             | 2%                      | 20            |
| **Minimum** | 0%             | 1%                      | 10            |

Or visually:

<figure><img src="/files/sw3WaLtCULr0s3ycpS9u" alt=""><figcaption></figcaption></figure>

The number of seashells available for distribution in a specific percentile then needs to be shared among all players that scored in the same percentile.

Furthermore, if there should be no player scoring in a particular percentile the seashells allocated to that percentile are held in an overflow. This overflow is eventually proportionally distributed relative to the base seashell allocation, to the percentiles with players. By doing so one ensures that players in higher percentiles always receive more than those in lower percentiles.&#x20;

<figure><img src="/files/5eMQsiAbkB4z6CKGUlnh" alt=""><figcaption></figcaption></figure>

One can now easily define the generalistic formula for the individual user.

Let:

$$
\begin{aligned}
P\_p &= p% \text{ Percentile e.g. } P\_{10%} = 10% \text{ Percentile} \\

N\_p &= \text{The number of players scoring in a specific percentile } p \\

O &= \text{Overflow} = \sum\_p \text{Seashells allocated to a percentile } p \text{ where } N\_p = 0 \\

\text{NOM} &= \text{Nominator} = \sum\_p \text{Seashells allocated to a percentile } p \text{ where } N\_p \neq 0 \\

SH\_p &= \text{Basis Seashells allocated to a percentile } p = \text{Allocation} \cdot SH\_\text{Total} \\

SH\_p &= \text{Actual Seashells allocated to a percentile } p = SH\_p + O \cdot \frac{SH\_p}{\text{NOM}}
\end{aligned}
$$

Therefore, the Seashells allocated to an individual player i scoring in percentile p is:

$$
D\_{p,i} = \frac{SH\_{A\_p}}{N\_p}
$$


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tideflow.com/seashells/point-system.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
