Point System

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:

Totalย Seashellsย inย game=Totalย numberย ofย playersร—Generalย Boostร—Communityย Boostร—Wagerย Boost\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.

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

Let:

SHTotal=Totalย amountย ofย seashellsย availableย forย distributionย inย aย singleย (multiplayer)ย gameN=Totalย numberย ofย playersย inย aย singleย (multiplayer)ย gameBoostb=Theย individualย boostย toย incentivizeย largeย multiplayerย gamesย accordingย toย theย followingย tableSH_\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} \\
SHTotal=f(N)=Nโ‹…(1+โˆ‘b=0BBoostb)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:

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:

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=totalย numberย ofย playersย inย aย singleย (multiplayer)ย gameni=theย individualย singleย playerย inย aย singleย (multiplayer)ย gameN = \text{total number of players in a single (multiplayer) game} \\ n_i = \text{the individual single player in a single (multiplayer) game} \\

Therefore:

N=โˆ‘ni=1N1N = \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:

Ranki=Rankย ofย anย individualย playerย amongย allย otherย playersย inย theย game\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

KPIi=Performanceย ofย anย individualย playerย iย amongย allย otherย playersย inย theย gameKPI_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:

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

SHTotal=1000SH_\text{Total} = 1000 \\

Comment

Percentile

Seashell Allocation

Seashells

Maximum

100%

30%

300

95%

25%

250

90%

20%

200

75%

10%

100

Median

50%

5%

50

25%

4%

40

10%

3%

30

5%

2%

20

Minimum

0%

1%

10

Or visually:

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.

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

Let:

Pp=p%ย Percentileย e.g.ย P10%=10%ย PercentileNp=Theย numberย ofย playersย scoringย inย aย specificย percentileย pO=Overflow=โˆ‘pSeashellsย allocatedย toย aย percentileย pย whereย Np=0NOM=Nominator=โˆ‘pSeashellsย allocatedย toย aย percentileย pย whereย Npโ‰ 0SHp=Basisย Seashellsย allocatedย toย aย percentileย p=Allocationโ‹…SHTotalSHp=Actualย Seashellsย allocatedย toย aย percentileย p=SHp+Oโ‹…SHpNOM\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:

Dp,i=SHApNpD_{p,i} = \frac{SH_{A_p}}{N_p}

Last updated