【旧ver.2】トークンの獲得量およびベッド修理費の算出式について
「寝て稼ぐ」をコンセプトとし、すべての人々に欠かせない睡眠の質を見直すきっかけを与えてくれる今大注目のプロジェクト、それがSleeFiです。
最近クローズドβ版が先行スタートし、テスターの資格を持っている人はダミーのトークンを使って、実際に寝て稼ぐゲームを体験することができるようになりました。
今回はクローズドβ版の結果から獲得トークンおよびベッド修理費の計算式を推定できたので、記事にまとめることにしました。
なお、この計算式はあくまでクローズドβ版のものであって、オープンβ版では同じ式が使われるとは限らないので注意してください。

背景
SleeFiではベッドをレベルアップさせてポイントを各パラメータに割り振ることで、SleepToEarnの収益性を向上させることができる。
しかしSleeFiでは獲得できるトークン(SLFT)の計算式などは明らかになっておらず、詳細な検討を行うことができない。
そこでクローズドβ版における結果を用い、現段階でのトークン獲得量およびベッド修理費の算出式を明らかにしたい。
公式リンク
・SleeFi公式サイト
・WP(ホワイトペーパー)
https://docs.sleefi.com/whitepaper/v/whitepaper-jp/
用語集
ベッドパラメータ

Level
ベッドのレベル。高いほどステータスを上げられるが、修理費にも影響を及ぼす。
Efficiency
睡眠で獲得できるトークンに大きく影響するパラメータ。高いほど稼ぎが良くなる。
Resilience
ベッドの耐久性に関わるパラメータ。疎かにすると修理費が高くなってしまう。
Durability
黄色の文字で100/100と書いてある部分、ベッドの耐久値を表す。睡眠を行うと耐久値が減少し、放置していると稼ぎが悪くなってしまう。
本検証では常にDurabilityを100まで回復させた後に睡眠を行うことを前提としている。
Bed type
ベッドにはShort, Middle, Long, Flexibleの4種類が存在し、それぞれ睡眠可能時間が異なる。
種類によって稼ぎや修理費が変化することはないため、本検証では無視している。
Bed Quality
現段階でベッドにはCommon, Uncommonの2種類の品質が設定されている。
Commonが最も一般的で、Uncommonはより稼ぐ性能を高められる。修理費の計算で重要な項目。
Earn

睡眠を行った時の報酬額のこと。図2のようにSLFTを稼ぐことができる。
Score
睡眠スコアのこと。
Repair cost
ベッドのDurabilityを回復させるために支払うコストのこと。
Insurance cost
ベッドは使用後一定確率で破損して2度と使えなくなる。しかし保険に加入してInsurance costを支払うことで、破損する確率を0にできる。
Bed bonus
ベッドを複数台保有することで、獲得できるトークン量を増やすことができる。
獲得できるトークン量の計算について
睡眠を行った後は前述の図2のようにSLFTを獲得できる。
WPによれば、Earnに関係するのはEfficiency, Durability, Score, Insurance cost, Bed bonus、そして睡眠時間である。ただし本検証ではDurabilityは常に最大まで回復していることを前提とするため、検証から除外する。
また睡眠時間に関しては、有用なデータを得られないこと、予定と大きくずれない限りは影響はないことから、検証から除外する。
残りの係数のうち以下の係数は、WPや簡単な検証から獲得量に及ぼす関係性が分かっている。
- Insurance cost
Bed Quality | Cost |
Common | 獲得トークンの3% |
Uncommon | 獲得トークンの4% |
- Bed bonus
Bedの個数 | 補正量 |
1 | ×100% |
2 | ×150% |
3 | ×200% |
4 | ×241% |
- Score
Efficiency, Bed bonusを固定して比較を行うことで、EarnとScoreは単純な比例関係であることが分かる。

以上より、Efficiency以外の係数に関しては関係性が明らかになった。
ここでEfficiencyに関して、SleeFiが参考にしているSTEPNでは獲得トークンはEfficiencyの0.5乗に比例する仕組みとなっている。
SleeFiでも同じようにEarnはEfficiencyのn乗に比例していると仮定すると、獲得トークンは以下の式で表される。
$$ \text{Earn} = \text{Efficiency} ^ n \times\text{Bed bonus}\times \text{Score}\times (1 – \text{Insurance cost})$$
そこでX軸に\( \text{Efficiency} ^ n\)を、Y軸に\(\text{Earn } / { \text{ Bed bonus} \times \text{Score} \times (1 – \text{Insurance cost}) }\)をプロットしたところ、\(n=0.457\)のとき以下のように良い相関が得られた。

この結果から、Earnの算出式は以下のように推定された。
$$ \text{Earn} = (5.58 \times \text{Efficiency}^{0.457} – 0.368) \times \text{Bed bonus} \times \text{Score} \times (1 – \text{Insurance cost})$$
ベッド修理費の計算について
Repair costの計算
睡眠を行った後はベッドのDurabilityが減少する。以下、減少量をDamageと表記する。
Durabilityが最大でない状態で睡眠を行うとEarnが減少するため、必ずDurabilityを最大まで回復させる必要がある。従って睡眠ごとにRepair costが発生する。
Repair costに影響を及ぼす項目はWPに詳細な記載がなく、未知である。
そこで様々なデータを比較したところ、図5のようにCommonベッドかつDamageの値を固定したときのRepair costはレベルごとに略比例していることが分かった。

またRepair costはCommonのときとUncommonのときのRepair costは同じ条件であれば、Uncommonの方が1.5倍高かった。これをBed quality tableとし、以下表3のように表す。
Bed quality | Repair cost effect |
Common | ×100% |
Uncommon | ×150% |
従って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}\)をプロットしたところ、規則的な結果が得られた。(図6より表4の方が分かりやすい)

Level | Repair cost / Damage | ΔRepair cost / Damage |
0 | 0.8040 | – |
1 | 0.8308 | 0.0268 |
2 | 0.8576 | 0.0268 |
3 | 0.8844 | 0.0268 |
4 | 0.9112 | 0.0268 |
5 | 0.9648 | 0.0536 |
6 | 0.9916 | 0.0268 |
7 | 1.0184 | 0.0268 |
8 | 1.0452 | 0.0268 |
9 | 1.0720 | 0.0268 |
10 | 1.1524 | 0.0804 |
11 | 1.1792 | 0.0268 |
12 | 1.2328 | 0.0536 |
13 | 1.2864 | 0.0536 |
14 | 1.3400 | 0.0536 |
15 | 1.3936 | 0.0536 |
16 | 1.4472 | 0.0536 |
17 | 1.5008 | 0.0536 |
18 | 1.5544 | 0.0536 |
19 | 1.6616 | 0.1072 |
20 | 1.7688 | 0.1072 |
21 | 1.8492 | 0.0804 |
22 | 1.9296 | 0.0804 |
23 | 2.0100 | 0.0804 |
24 | 2.0904 | 0.0804 |
25 | 2.1708 | 0.0804 |
26 | 2.2512 | 0.0804 |
27 | 2.3316 | 0.0804 |
28 | 2.412 | 0.0804 |
29 | 2.4924 | 0.0804 |
30 | 2.5996 | 0.1072 |
表4を見ると、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をプロットしたところ図7のようになった。

Resilienceが一定の基準に達するごとに、Damageが減少していくことが確認できた。
このことから、睡眠を行った際のDamageはResilienceごとに以下の式および表5のように表されると推定できた。
$$ \text{Damage} = \text{Resilience and Bed number table} $$
Resilience | ベッド1台保有 | ベッド2~3台 | ベッド4~9台 | ベッド10~14台 | ベッド15~30台 |
1 | 21 | 42 | 94.5 | 126 | 210 |
2 | 14 | 28 | 63 | 84 | 140 |
3 | 10 | 20 | 45 | 60 | 100 |
4 | 9 | 18 | 40.5 | 54 | 90 |
5 | 8 | 16 | 36 | 48 | 80 |
6 | 7 | 14 | 31.5 | 42 | 70 |
7~9 | 6 | 12 | 27 | 36 | 60 |
10~14 | 5 | 10 | 22.5 | 30 | 50 |
15~19 | 4 | 8 | 18 | 24 | 40 |
20~29 | 3 | 6 | 13.5 | 18 | 30 |
30~50 | 2.5 | 5 | 11.25 | 15 | 25 |
51~100 | 2 | 4 | 9 | 12 | 20 |
ベッド台数が4台以上のときのデータはサンプル数が非常に少ないため、推定の値となる。
結論
検証により、SleeFi攻略に重要なEarn, Repair cost, Damageは以下のように表されることが推定された。
$$ \text{Earn} = (5.58 \times \text{Efficiency}^{0.457} – 0.368) \times \text{Bed bonus} \times \text{Score} \times (1 – \text{Insurance cost})\text{(表2参考)}$$
$$ \text{Repair cost} = \text{Damage} \times \text{Level table} \times \text{Bed quality table} \text{(表3、4参考)}$$
$$ \text{Damage} = \text{Resilience and Bed number table} \text{(表5参考)}$$
ただしこれらの結果はクローズドβテストにおける算出式であり、オープンβ版で同様の計算式が使用されるとは限らない。
また睡眠時間のずれ量による影響はまだ分かっておらず、実際に稼げるSLFT量とEarnは完全には一致しないため、今後詳細が分かり次第更新を続けていく予定である。
更新履歴
- 2022/08/28 初版公開
- 2022/09/10 Earnの計算式における係数、およびRepair costのベッド台数テーブルなどを修正
- 2022/09/27 Resilience30以降のときのDamageおよびベッド台数による影響を追記