くさおにの食べ方と行動数

勘違い

一気食いは足踏みを長く続ける分行動数効率(=1行動数で滞在できるターン数)が高い。
粘り食いは足踏みを中断する分一気食いより行動数効率は落ちるが、 その代わりに必要なくさおにの量を減らせる(ので、くさおにが足らなかったりレベルダウンを極力引きたくない場合はよい)。
そんな風に、なんとなく思いこんでいました。

ところがよく考えると、足踏みは1-256ターンで行動数2なので、足踏みを長く続けることはあまり重要ではなく *1 足踏みを止めるタイミングを256ターンの倍数(の直前)にさえすれば行動数効率がよくなる。
これさえ気を付けておけば、満腹度を消費せず滞在でき、くさおに回収の回数も少なくて済む分、粘り食いは一気食いより効率がいいはず。

と思って粘り食い - 風来のffffを読み返すと、

9000ターン滞在に必要な行動数は
通常: 102 + 3n
213ターン: 87.89 + 1.76n

と、ちゃんと書いてありました。n > 14 云々は粘り食い100ターンの場合なんですね・・・*2

どれぐらい食べ方で差がつくか?

状況設定は粘り食い - 風来のffffに従う*3。 回収に必要な行動数n=15とし、稼ぎ(加工後~風が吹くまで)に行動数1000使えるとすると、滞在できるターン数は

  • 通常:61224ターン
  • 粘り食い最高効率(512ターン足踏み→くさおに1個食べる):78769ターン

60F以降の敵のアイテムドロップ率の期待値は11.6%*4なので、見れるドロップアイテムは

  • 通常:111個
  • 粘り食い最高効率:143個

おまけ:必要なくさおにの量の目安

粘り食いをしない場合、300ターンに1個くさおにができればよいので、沸いた敵の64/300=21.3%をくさおに罠にかければよいわけですが、
最高効率で粘り食いをする場合、512ターンに1個でよいので、64/512=12.5%。

*1:ただし例えば2000ターン足踏みすると256ターン足踏み*7+208ターン足踏みとなるように、"最後以外の"足踏みはすべて最高効率になるので、 何も考えなくとも長く続けると効率はよくなりやすい、という意味はある

*2:しかもよく考えると、くさおに10個拾うだけで行動数10かかるので、大抵の場合 n > 14 を満たす気がする

*3:くさおにの回収にかかるターン数、ドロップアイテムの回収に必要な行動数・ターン数は無視する

*4:メガタウロスはドロップ率0とした

キグニ族の行動アルゴリズム

※この記事は 名無しさん、KZYさん、 プロリスナーさん、d:id:furai_no_ffff さんに教えていただいた内容を基にしています。

  1. まずキグニ族が視界判定のアルゴリズムと同じ方法で敵をサーチする。
    ただし意外なことに(?)、"キグニ族の視界内にいる"敵を探すのではなく、"キグニ族を視界内に捉えている"敵を探す。
  2. サーチに失敗した場合は通常行動する。
  3. サーチに成功した場合、攻撃できる隣接敵がいれば攻撃。
    攻撃できなければ、移動目標(視界判定・目的地設定の対象)をシレンではなくサーチに掛かった敵として通常行動する。
  4. 3.で攻撃できず詰まって移動もできない場合、シレンを移動目標としてもう一度通常行動する。*1

実際にあった例

◆◆◆◆◆◆◆◆
◆◆ 3シ ◆◆
 キ12    
◆◇◇◇◇◇◇◇
◇◇      
◆◆    ◆◆
◆◆◆ ◆◆◆◆
◆:壁、◇:水、シ:シレン、キ:キグニ族

掛軸裏の洞窟13Fにて、水脈部屋で左の出入口から来たキグニ族が1→2と動き、そこでシレンが殴ると反撃せず3に移動した。

これを上のアルゴリズムに照らして説明してみると、

  • 水脈部屋の部屋番号が0だったので、壁の中にいたパコレプキンがキグニ族の敵サーチに掛かった。
  • サーチに成功し、隣接敵がいないため、見つかったパコレプキンを移動目標として通常行動。
    このパコレプキンは壁の中でキグニ族の視界外のため、結局キグニ族はシレンが視界内にいないときの通常敵と同様に他の出入口を目指す(1→2)。
  • そこでシレンがキグニ族に攻撃したため、命中判定でキグニ族の目的地が出入口からシレンの位置に変わった。
    ここでもパコレプキンが依然サーチに掛かっていたので、キグニ族にとっては移動目標は視界外にいる扱いになり、単に目的地に向かう移動で3へと動いた。
    ここでもし殴っていなかった場合、キグニ族は右の出入口を目指していれば右に一歩動き、下の出入口を目指していれば詰まるので4.の通りシレンに攻撃したはず。

*1:そのため待機ターンが1ターンに2増えることがある

モンスターの視界

※この記事は d:id:furai_no_ffff さんに教えていただいた内容を基にしています。

いわゆる"シレンが見えている"かどうかの話。

シレンが視界内にいると・・・

  1. シレンに攻撃できない場合、シレンの位置を目的地に設定して移動する。*1
  2. 遠隔攻撃を持つ敵の一部は特技を使うことができる。
    (かすみ仙人・スカイドラゴン・オヤジ戦車系、軸が合っているときのおばけ大根・ボウヤー/コドモ戦車系・ガイコツまどう系)
  3. 他にも何かあるかも?

視界判定の条件

以下の条件のうち1つ以上を満たす場合、シレンは該当する敵の視界内にいると判定される。

  1. 敵とシレンの距離が1のとき(つまり隣接)
  2. 敵が部屋or出入口におり、シレンが同じ部屋or出入口にいるとき
  3. 敵が壁/隠し通路/隠し通路(出入口)/隠し部屋におり、シレンがそれぞれ部屋番号0/0/1/2の部屋or出入口にいるとき

3.の挙動は明らかにバグっぽいが、ダンジョン編集の地形データの項をみるとなんとなく原因が推察できる。 ともあれ、この条件のせいで

  • 部屋番号0の部屋にいたら隠し通路沸きのかすみ仙人の特技を受けた*2
  • 部屋番号2の部屋にいたら隠し部屋で起きているスカイドラゴン/かすみ仙人/ちびタンクの特技を受けた*3*4

などのケースがあったようだ。