ハムログ

プログラミングやツールなどのTIPSや備忘録を書いていきます。他にも趣味に関することを書くかもしれません。右も左も分からない情報系初心者。

Morgulisの利点に関する考察

まえがき

Clicker Heroes(クリッカーヒーローズ)ではDPSを上昇させるAncientが非常に重要な存在です.
みなさんもその恩恵は十分に感じていると思います.

とりわけ,AncientのFragsworthやSiyalatasなどは効果が乗算されるので,
DPSを非常に高めてくれますね.
ただ一方で,Morgulisの効果はHeroSoulに対して加算されるので,
いまいちMorgulisの利点がわかりにくいという問題があります.

今回はこのMorgulisに焦点を当てて,その利点を考察します.
また,式や文章に不足や誤りがありましたら,ご指摘等お願いします.

DPSの計算式

AncientはDPSを上昇させてくれます.
そのAncientの効果を評価するとき,DPSの計算式が必要となります.


HeroSoulに対して加算のMorgulisと乗算のFragsworthを比較します.
手持ちのHeroSoul数をHSとし,FragsworthのレベルをFとします.
また,MorgulisのレベルをMと表します.
DPSの計算式はHSFMの部分にのみ注目します.


考慮すべき事柄としてAncientのレベルを上げるときに,

  • 手持ちのHeroSoulを消費する場合のDPS,

{ \displaystyle
{\rm DPS} = a \left ( 1+0.1\left (HS-\frac{F(F+1)}{2} -M  \right )+0.11M \right )\times \left ( 1+0.2F \right ),
}\tag{1}

  • 新たに入手したHeroSoulを消費する場合のDPS,

{ \displaystyle
{\rm DPS} = a \left ( 1+0.1HS+0.11M \right )\times \left ( 1+0.2F \right ),
}\tag{2}
の2通りがあります.
ここで,aは他のAncientの効果や秒間クリック数などの諸々の効果です.


今回は話を簡単にするために,
後者の新たに入手したHeroSoulを消費する場合(2)で計算します.
(2)の場合は,入手したHeroSoulを手持ちHeroSoulとMorgulis,
Fragsworthに使用するものとします.
また,Ancientの召喚コストは考慮しません.
つまり,Ancientのコストは考えずに効果のみに注目します.

DPSの計算式のlogスケール

クリッカーヒーローズでは,敵のHPが指数関数的に増加します.
したがって,DPSを見る時,
各AncientがどのくらいDPSの桁を押し上げてくれるかが重要になります.


DPSの計算式の対数を取るとDPSの桁が分かります.
DPSの計算式の対数は,{ \displaystyle
\log {\rm DPS} = \log(a)+ \log \left ( 1+0.1HS+0.11M \right )+ \log \left ( 1+0.2F \right ),
}\tag{3}
となります.

(3)を見ると,元々のDPSの計算式は積の形ですが,
DPS計算式の対数は和の形になっていますね.
式が積の形だと,個々のAncientのDPSに与える影響がわかりにくいのですが,
和の形になると,Ancientの影響が各項となっているので分かりやすいです.
つまり,式を和の形にすることにより,個々の項を比較しやすくなりました.

MorgulisとFragsworthの効果の比較

MorgulisとFragsworthの項の比較を比較してみます.
比較するのは,
Fragsworthの効果 \log \left ( 1+0.2F \right )と,
Morgulisの効果 \log \left ( 1+0.11M \right ) (HeroSoulを全てMorgulisにつぎ込んだ場合),
HeroSoulの効果 \log \left ( 1+0.1HS\right )(Morgulis無しの場合)の3つです.


これらの効果をグラフにすると,
f:id:phamu:20141212021143p:plain
となります.
わかりにくいので拡大してみると,Ancientのレベルが200から300の範囲のグラフは,
f:id:phamu:20141212021229p:plain
となります.

どのレベルでもFragsworthの方がMorgulisよりもDPSの向上に
貢献していることがわかります.
200から300までの範囲ではFragsworthは1.6桁以上DPSを押し上げています.
一方で,Morgulisは約1.4桁となっており,
Fragsworthよりも効果が弱いことをグラフは示しています.
また,MorgulisはどれだけHeroSoulをつぎ込んでも,少ししかDPSに影響しないということもわかります.
ただし,効果が無いわけではなく,MorgulisはHeroSoulの効果よりもわずかながら高いということです.


したがって,
DPSに与える影響の強さは,Fragsworth > Morgulis > HeroSoul となっています.
当たり前ですが,これはAncientの効果からも何となくわかりますね.
(Fragsworthはクリックダメージ20%増加,MorgulisはDPS11%増加,HeroSoulはDPS10%増加)

コストを考慮した場合の比較

コストを考慮した場合の比較は費用対効果を比較します.
費用対効果を比較する場合,最初に効果と費用を定義する必要があります.

  • 効果の候補はAncientの効果やDPSの上昇分,
  • 費用の候補は消費したHeroSoul数やHeroSoulの消費によるDPSの減少分

が考えられます.

効果をAncientの効果とし,費用を消費したHeroSoul数としたとき,
(a) 1レベルだけ上昇させた場合
(b) あるレベルまで上昇させた場合
の2通り考えられます.
さらに,
(c) 効果をDPSの上昇分とし,費用をDPSの減少分とした場合
も考えられます.


(a)~(c)のそれぞれの場合の効果と費用が以下の表です.

条件FragsworthMorgulis
効果費用効果費用
(a)0.2F+10.111
(b)0.2F\frac{F(F+1)}{2}0.11MM
(c)\log(1+0.2F)\log\left(1+0.1\frac{F(F+1)}{2}\right )\log (1+0.11M)\log (1+0.1M)


次に費用対効果を考えます.
(a)~(c)のそれぞれの場合の費用対効果を表にすると,
となります.

条件Fragsworthの費用対効果Morgulisの費用対効果
(a)\frac{0.2}{F+1}0.11
(b)2\frac{0.2F}{F(F+1)}\frac{0.11M}{M}=0.11
(c)\frac{\log(1+0.2F)}{\log\left(1+0.1\frac{F(F+1)}{2}\right )}\frac{\log (1+0.11M)}{\log(1+0.1M)}
みなさんはどの費用対効果が指標として良いと思いますか?
正直,私は(a)~(c)のどの場合もどうもしっくりきません……
何か良い案があればコメントよろしくお願いします.

さて,(a)~(c)の案の良さは分かりませんが,グラフにしてみました.
グラフを見て良し悪しを判断してみます.
まず,(a)と(b)の場合です.
f:id:phamu:20141213141422p:plain
Morgulisの方が1HeroSoulあたりの費用対効果が圧倒的に良さそうに見えますね.

次に,(c)の場合です.
f:id:phamu:20141213142733p:plain
このグラフもMorgulisの方が費用対効果が良さそうです.
ただし,DPSの計算において,Morgulisは加算,Fragsworthが乗算です.
おそらく,これらグラフはDPS全体を考慮していないので,
一見 Morgulisが良いように思えます.

つまり,(a)~(c)は単独で見る場合はいいかもしれませんが,
全体を見る場合には適さないということです.
結局,費用対効果として何を使用すればいいのでしょうか……

結論

上述からわかったことは,

  • 加算されるMorgulisがDPSに与える影響は乗算のFragsworthよりも非常に小さい.
  • MorgulisはHeroSoulよりもDPSを向上させる.MorgulisはHeroSoulの上位版.(Morgulisの効果から当たり前のことですが……)
  • 費用対効果は一見Morgulisが良さそうに見える.これが,混乱の原因.
  • DPS全体を考慮した効果と費用を定義して,費用対効果の指標として使用することが重要.

つまり,効果の小さいMorgulisよりも他のDPSを上昇させるAncientを優先して取得し,レベルを上げるべき.


ただし,どれだけ他のAncientのレベルを上げても,
多くの人はDPSのためにHeroSoulをある程度保有していると思います.
その保有HeroSoulの効果をより高めることがMorgulisの効果であり利点です.
したがって,Ancientのレベル上げに使用せずDPSを高める用のHeroSoulの効果を上げるために,Morgulisを取得しレベルを上げるという使い方が良いと考えられます.


確かにMorgulisは他のAncientのように大きくDPSを増加させることはしないので,
過度な期待は禁物です.
でも,HeroSoulよりは効果が高いので,
ちょっとしたお得感を味わえる良いAncientだと思います.