【ver.3】トークンの獲得量およびベッド修理費の算出式について

11月 13, 2022

「寝て稼ぐ」をコンセプトとし、すべての人々に欠かせない睡眠の質を見直すきっかけを与えてくれる今大注目のプロジェクト、それがSleeFiです。

最近クローズドβ版が先行スタートし、テスターの資格を持っている人はダミーのトークンを使って、実際に寝て稼ぐゲームを体験することができるようになりました。

今回はクローズドβ版の結果から獲得トークンおよびベッド修理費の計算式を推定できたので、記事にまとめることにしました。

なお、この計算式はあくまでクローズドβ版のものであって、オープンβ版では同じ式が使われるとは限らないので注意してください。

背景

SleeFiで詳細な検討を行うためには、獲得できるトークン(SLFT)などの計算式を明らかにする必要がある。

そこで前回は、クローズドβver.2における結果を用い、現段階でのトークン獲得量およびベッド修理費の算出式を明らかにした。

しかしクローズドβver.3およびver.3+では獲得トークンの算出式が変更となったため、改めて検証を行うことにした。

公式リンク

・SleeFi公式サイト

https://sleefi.com/jp/

・公式discord(アプリダウンロードはこちらから)

https://discord.gg/UZSsqBMwkx

用語集

ベッドパラメータ

図1.ベッドのステータス画面

Level

ベッドのレベル。高いほどステータスを上げられるが、修理費にも影響を及ぼす。

Efficiency

睡眠で獲得できるトークンに大きく影響するパラメータ。高いほど稼ぎが良くなる。

Resilience

ベッドの耐久性に関わるパラメータ。疎かにすると修理費が高くなってしまう。

Durability

黄色の文字で100/100と書いてある部分、ベッドの耐久値を表す。睡眠を行うと耐久値が減少し、放置していると稼ぎが悪くなってしまう。

本検証では常にDurabilityを100まで回復させた後に睡眠を行うことを前提としている。

Bed type

ベッドにはShort, Middle, Long, Flexibleの4種類が存在し、それぞれ睡眠可能時間が異なる。

種類によって稼ぎや修理費が変化することはないため、本検証では無視している。

Bed Quality

現段階でベッドにはCommon, Uncommonの2種類の品質が設定されている。

Commonが最も一般的で、Uncommonはより稼ぐ性能を高められる。修理費の計算で重要な項目。

Earn

図2.睡眠後のスコア画面

睡眠を行った時の報酬額のこと。図2のようにSLFTを稼ぐことができる。

Score

睡眠スコアのこと。

Repair cost

ベッドのDurabilityを回復させるために支払うコストのこと。

Insurance cost

ベッドは使用後一定確率で破損して2度と使えなくなる。しかし保険に加入してInsurance costを支払うことで、破損する確率を0にできる。

Bed bonus

ベッドを複数台保有することで、獲得できるトークン量を増やすことができる。

Staking bonus

所有するSLFTをステーキングに預け入れすることで金利を得られる他、図3のようにさまざまな特典を受けられる。

図3.ステーキングによる恩恵の一例

獲得できるトークン量の計算について

睡眠を行った後は前述の図2のようにSLFTを獲得できる。

WPによれば、Earnに関係するのはEfficiency, Durability, Score, Insurance cost, Bed bonus, Staking bonus、そして睡眠時間と睡眠の質である。ただし本検証ではDurabilityは常に最大まで回復していることを前提とするため、検証から除外する。

睡眠時間と睡眠の質に関しては、睡眠時間を変化させても同じスコアであれば稼ぎ量は不変だったことから睡眠スコアに統合されているという前提で検証を進めた。

残りの係数のうち以下の係数は、WPや簡単な検証から獲得量に及ぼす関係性が分かっている。

  • Insurance cost
Bed QualityCost
Common獲得トークンの7%
Uncommon獲得トークンの10%
表1.Insurance cost一覧
  • Bed bonus
Bedの個数補正量
1×100%
2×150%
3×200%
4×241%
表2.Bed bonus
  • Staking bonus
StakingしたSLFT量獲得トークン補正
0+0%
0~2500+2%
2500~5000+4%
5000~10000+6%
10000~+8%
表3.Staking bonus

以上より、EfficiencyとScore以外の係数に関しては関係性が明らかになった。

Scoreに関してはver.2では比例してEarnは大きくなっていたが、ver.3では比例ではなくなった。

そこでまずはEfficiencyに関して検証を進めることにした。

ver.3でもver.2と同じようにEarnはEfficiencyのn乗に比例していると仮定すると、獲得トークンは以下の式で表される。

$$ \text{Earn} = \text{Efficiency} ^ n \times\text{Bed bonus}\times \text{Score table}\times (1 – \text{Insurance cost}) \times (1+\text{Staking bonus})$$

そこでScoreが58点となったときの睡眠結果を集め、X軸に\( \text{Efficiency} ^ n\)を、Y軸に\(\text{Earn } / { \text{ Bed bonus} / (1 – \text{Insurance cost}) / (1+\text{Staking bonus}) }\)をプロットしたところ、図4のように\(n=0.4637\)のとき以下のように良い相関が得られた。

図4.スコアが58点のとき、EfficiencyとEarnの関係性

この結果から、Earnの算出式は以下のように推定された。

$$ \text{Earn} = \text{Efficiency}^{0.4637} \times \text{Bed bonus} \times \text{Score table} \times (1 – \text{Insurance cost}) \times (1+\text{Staking bonus})$$

以上よりEfficiencyとEarnの関係が判明したため、Score tableを調査することにした。

Score tableに関しては、各種補正係数を除去したうえでEfficiencyが1のときに変換したEarn(以降規格化したEarn)と、そのときのScoreをグラフにプロットしたところ、一定の関係性が見られた。

図5.規格化したEarnとScoreの関係性

ver2.0ではScoreとEarnは原点を通る線形比例の関係性で表されていたが、今回は58点を境に大きく落ち込む形状となった。またスコアが0点でも規格化したEarnが0ではなくなっている。

図5の結果をフィッティングしたところ、Score tableは以下の表4のようになった。

スコア規格化したEarn
0~390.054×Score+0.535
40~570.075×Score-0.307
58~1000.033×Score+2.127
表4.規格化したEarnとScoreの関係性

なお、図5は55点付近で規則性から外れた点が数点存在するが、原因は不明である。実際に筆者も同じベッドでの計測結果で51点のときと55点のときで同じEarnだったことがあり、原因は調査中である。

ベッド修理費の計算について

Repair costの計算

睡眠を行った後はベッドのDurabilityが減少する。以下、減少量をDamageと表記する。

Durabilityが最大でない状態で睡眠を行うとEarnが減少するため、必ずDurabilityを最大まで回復させる必要がある。従って睡眠ごとにRepair costが発生する。

Repair costに影響を及ぼす項目はWPに詳細な記載がなく、未知である。

そこで様々なデータを比較したところ、図6のようにCommonベッドかつDamageの値を固定したときのRepair costはレベルごとに略比例していることが分かった。

図6.Damageを8で固定した時のLevelごとのRepair cost

またRepair costはCommonのときとUncommonのときのRepair costは同じ条件であれば、Uncommonの方が1.5倍高かった。これをBed quality tableとし、以下表5のように表す。

Bed qualityRepair cost effect
Common×100%
Uncommon×150%
表5.Bed qualityによるRepair costの違い

従ってRepair costはLevelとDamageのみが関係、さらにDamageは比例であると予想し、以下の式が成立すると判断した。

$$ \text{Repair cost} = \text{Damage} \times \text{Level} \times \text{Bed quality table}$$

そこでX軸にLevel、Y軸に\( \text{Repair cost } / \text{ Damage}\)をプロットしたところ、規則的な結果が得られた。(図7より表6の方が分かりやすい)

図7.Levelと1damageあたりのRepair cost
LevelRepair cost / DamageΔRepair cost / Damage
00.8040
10.83080.0268
20.85760.0268
30.88440.0268
40.91120.0268
50.96480.0536
60.99160.0268
71.01840.0268
81.04520.0268
91.07200.0268
101.15240.0804
111.17920.0268
121.23280.0536
131.28640.0536
141.34000.0536
151.39360.0536
161.44720.0536
171.50080.0536
181.55440.0536
191.66160.1072
201.76880.1072
211.84920.0804
221.92960.0804
232.01000.0804
242.09040.0804
252.17080.0804
262.25120.0804
272.33160.0804
282.4120.0804
292.49240.0804
302.59960.1072
表6.各LevelのRepair cost / Damage

表6を見ると、Repair costは特定のレベルを除き一定の値で増加する傾向にあることがわかる。

以上より、Repair costは以下の式で表されることが推測される。

$$ \text{Repair cost} = \text{Damage} \times \text{Level table} \times \text{Bed quality table} $$

Damageの計算

Repair costの計算式は前述の通り推測できたが、Damageの式を分解できないとベッドパラメータによるRepair costの算出ができない。

こちらも様々な検証を行った結果、Damageに関係するのはResilience、Bed保有台数のみであり、他の係数は一切影響を及ぼさないことが分かった(EfficiencyやScoreは無関係)。

またベッド保有台数が1台のときのDamageは偶数または奇数だったのにも関わらず、ベッド保有台数が2台, 3台のときはDamageは必ず偶数であったことから、ベッド台数補正は線形ではないと考え、2台以上保有しているときは一律に2倍の補正がかかっていると予想した。

この予想を元に、ベッド保有台数が2台, 3台のときのDamageを半分にして、X軸にResilience、Y軸にDamageをプロットしたところ図8のようになった。

図8.ResilienceとDamageの関係

Resilienceが一定の基準に達するごとに、Damageが減少していくことが確認できた。

このことから、睡眠を行った際のDamageはResilienceごとに以下の式および表7のように表されると推定できた。

$$ \text{Damage} = \text{Resilience and Bed number table} $$

Resilienceベッド1台保有ベッド2~3台ベッド4~9台ベッド10~14台ベッド15~30台
1~491840.55490
5816364880
671431.54270
7~9612273660
10~1451022.53050
15~1948182440
20~293613.51830
30~502.5511.251525
51~1002491220
表7.Resilienceとベッド台数ごとのDamage

ベッド台数が4台以上のときのデータはサンプル数が非常に少ないため、推定の値となる。

結論

検証により、SleeFi攻略に重要なEarn, Repair cost, Damageは以下のように表されることが推定された。

$$ \text{Earn} = \text{Efficiency}^{0.4637} \times \text{Bed bonus} \times \text{Score table} \times (1 – \text{Insurance cost}) \times (1+\text{Staking bonus})\text{(表1, 2, 3, 4参考)}$$

$$ \text{Repair cost} = \text{Damage} \times \text{Level table} \times \text{Bed quality table} \text{(表5, 6参考)}$$

$$ \text{Damage} = \text{Resilience and Bed number table} \text{(表7参考)}$$

ただしこれらの結果はクローズドβver.3および3+における算出式であり、オープンβ版で同様の計算式が使用されるとは限らない。

今後新たなことが分かり次第、更新を続けていく予定である。

更新履歴

  • 2022/10/12 初版公開

SleeFi

Posted by soya