Hatena::ブログ(Diary)

(有)掛軸裏スキマ産業 このページをアンテナに追加 RSSフィード

風来のシレン 売れ筋カテゴリ一覧リンク (抜粋)

2010-06-17

SFC風来のシレン モンスターの行動アルゴリズムと行動順 基礎編

どーもこんちわ。

バッファローコクヨサプライ iBUFFALO 耐震ジェルマット四角40角4枚入り(40mm×40mm×5Mm)BEQJM40401A

モンスターの行動アルゴリズムって残念ながら情報が少ないよね。

いいサイト知ってたら紹介して欲しいなぁ。


あと今回はハイパーにテキストの嵐なのでよろしゅうに。

例のごとく間違ってるかもしれないのでつっこみくだされ。

エントリの目的

  • 何人かに説明した経験あり。結構みんな知らないなら載せようかなと
    • かといって自分が詳しいわけじゃなし。むしろ教えて欲しいな
  • 色々なサイトの情報が必要なので、ここにまとめておく
  • つるはしを使ったくさおに誘導の基本を載せる
  • 参考サイト読めば明らかな情報は載せない

まずは参考サイト紹介

基本としてこのへんを読むといいんじゃないかな。

左折の法則

これだけは押さえて欲しい大基本。

  • 基本的には「モンスターはT字路では左折する」というもの
213    42
4モ5   →モ1
 ↑     53
上向き   右向き

モンスターは進行方向に何もなければ直進する
進行方向に障害物があるなら避けて進む(数字は進む優先順位)
T字路ではモンスターから向かって左方向へ曲がる
SFCシレンwiki - モンスターの行動アルゴリズム

基本的にこれが全モンスター、全フロア*1で適用される。


考えが必要な場面
  • 掛軸裏でのトド狩り
    • トド狩り準備の誘導路の作成に必須
  • 掛軸裏でのくさおに稼ぎ
    • 左折の法則はもちろん、その延長線上にあるモンスターの歩く軌道の理解が必要

モンスターがダンジョンを歩く軌道

特殊地形とかでもなんでもなく普通の歩き方。単純なのに意外に解説されてない。以下の解説ではちょっと分かりづらいので紹介。


以降は

モ…モンスター
試…シレン
■…壁
□…通路および床
☆…つるはし穴
●…モンスターの軌道
○…モンスター第2ルート
◎…モンスター共用ルート

とする。なお、モンスターは単体。


ダンジョンマップのCSS

綺麗に書くにはCSSを設定する。以下参照。

以降のマップは全てCSS指定済み。


通路2つ部屋パターン

部屋構造
■■■■■■■■■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□□□□□□□□□□□■■
■□□□□□□□■■
■■□■■■■■■■
■■□■■■■■■■
モンスターが下から来たときの軌道
■■■■■■■■■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□□■■
■□□□●●●●●→
■□□●□□□□■■
■□●□□□□□■■
■■モ■■■■■■■
■■↑■■■■■■■

次の通路と軸をあわせるとそのまま直進する。

モンスターが右から来たときの軌道
■■■■■■■■■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□●モ←
■□□□□□●□■■
■□●●●●□□■■
■■●■■■■■■■
■■↓■■■■■■■

インベタ。壁に向かっていて、ぶつかったら直進。

通路3つ部屋パターン

通路2つ部屋と特に変わらない。進む方向の選択肢が増えるだけ。

部屋構造
■■□■■■■■■■
■■□■■■■■■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□□■■
■□□□□□□□□□□□□□□□□■■
■□□□□□□□■■
■■□■■■■■■■
■■□■■■■■■■
モンスターが上下移動する場合
■■↑■■■■■■■
■■●■■■■■■■
■□●□□□□□■■
■□●□□□□□■■
■□●□□□□□■■
■□●□□□□□■■
■□●□□□□□□□
■□●□□□□□■■
■□●□□□□□■■
■■モ■■■■■■■
■■↑■■■■■■■

単純に直進。逆の上→下ルートも同じ。

モンスターが右から来たときの軌道
■■↑■■■■■■■
■■○■■■■■■■
■□○○□□□□■■
■□□□□□□■■
■□□□□○□□■■
■□□□□□○□■■
■□□□□□□◎モ←
■□□□□□●□■■
■□●●●●□□■■
■■●■■■■■■■
■■↓■■■■■■■

どちらの通路を選ぶかはランダム。

モンスターが右に行く場合
■■↓■■■■■■■
■■モ■■■■■■■
■□○□□□□□■■
■□□○□□□□■■
■□□□□□□■■
■□□□□○□□■■
■□□□●●◎◎◎→
■□□●□□□□■■
■□●□□□□□■■
■■モ■■■■■■■
■■↑■■■■■■■

モンスターは単体で、単に2ルートを同時に書いたもの。

◎は共用ルート。

くさおに稼ぎ応用例

具体的な例を。

湯…デロデロの湯
初期配置
■■■■■■■■■■■
■■□□□□□□□■■
■■□□□□□□□■■
■■□□□□□□□■■
■■□□□□□□□■■
■■□□湯●●●●●→
■■□□●□□□□■■
■■□●□□□□□■■
■■■●■■■■■■■
■■■●■■■■■■■
■■■●モ■■■■■■
■■■■↑■■■■■■

このとおりデフォじゃかからないよね。

つるはし改造例その1

Step1
■■■■■■■■■■■
■■□□□□□□□■■
■■□□□□□□□■■
■■□□□□□□□■■
■■□□□□□□□■■
■■□□湯●●●●●→
■■□□●□□□□■■
■■□●□□□□□■■
■■☆●■■■■■■■
■■☆●■■■■■■■
■■☆●モ■■■■■■
■■■■↑■■■■■■

通路左側を掘ると…

Step2
■■■■■■■■■■■
■■□□□□□□□■■
■■□□□□□□□■■
■■□□□□□□□■■
■■□□□□□□□■■
■■□□湯●●●●●→
■■□●□□□□□■■
■■●□□□□□□■■
■■●□■■■■■■■
■■●□■■■■■■■
■■●●モ■■■■■■
■■■■↑■■■■■■

▲<ヌゥーン ざまぁ。

つるはし改造例その2

初期配置
■■■■■■■■■■■
■■□□□□□□□■■
■■□□□□□□□■■
■■□湯□□□□□■■
■■□□□□□□□■■
■■□□□●●●●●→
■■□□●□□□□■■
■■□●□□□□□■■
■■■●■■■■■■■
■■■●■■■■■■■
■■■●モ■■■■■■
■■■■↑■■■■■■

さっきのようにはいかないので別の掘り方をする。

Step1
■■■■■■■■■■■
■■□□□□□□□■■
■☆□□□□□□□■■
■☆□湯□□□□□■■
■☆□□□□□□□■■
■☆□□□●●●●●→
■☆□□●□□□□■■
■☆□●□□□□□■■
■☆■●■■■■■■■
■☆■●■■■■■■■
■☆☆●モ■■■■■■
■■■■↑■■■■■■

モンスターが正規通路から出ないように左へ掘る。

その後、くさおに誘導用に盛大に左の壁をぶっ欠く。

Step2
■■■■■■■■■■■
■■□□□□□□□■■
■●●□□□□□□■■
■●□湯□□□□□■■
■●□▼△□□□□■■
■●□▼□△△△△△→
■●□▼□□□□□■■
■●□▼□□□□□■■
■●■▼■■■■■■■
■●■▼■■■■■■■
■●●●モ■■■■■■
■■■■↑■■■■■■

つるはし通路から正規通路へ出ようとして、くさおににかかる。

▼ルート、△ルートのどちらに行こうとしてもかかる。

やったねたえちゃん!


行動順について

普通の行動アルゴリズムより更に情報が少ないのがこの行動順。

モンスターの行動順

発生した順に行動する。

キャラ番号は、シレンが常に13で、モンスターは12から前に割り当てられていくので、

〜中略〜

キャラ番号はメモリを調べなければ、先に行動するモンスター程大きいということくらいしか分かりません。

裏チュンBlog : 永久倍速のやり方

ふーむ、ここでは余り関係ないけど、制限では1つのフロアにはシレン・NPC含めて20体まで

なので13から割り当てとすると、0番使っても14体まで。残りはどうやって割り当ててるんだろうか?


店主の行動順

"高い"って表現は"優先度が高い"ってことかと。つまりシレンを除いて1番最初に動く。

一番先に配置されるモンスター(NPC)であるため、どのモンスターよりも行動順が高い。

SFCシレンwiki - 店主
フロアの生成アルゴリズム

店が先に生成されるので、ここの時点で店主を配置するのかもしれない。

1.フロアの構造決定、埋蔵金の出現判定

2.1.の時点では左上が(0,0)なので、地形データを右に4、下に4ずらす

3.外壁

4.迷路部屋

5.部屋の出入口の座標を書く

6.水脈

7.店

8.浮島

9.水溜まり

10.網目部屋

11.柱部屋

12.暗い柱部屋

13.モンスター

14.道具

15.階段

16.何もしない(没になった処理でもあったのでしょうか)

17.罠

18.隠し部屋、隠し通路

19.シレンの位置

20.モンスターハウス

21.1.で埋蔵金出現とされていれば埋蔵金出現

裏チュンBlog : 1つのフロアができるまで その1

行動順具体例 普通のモンスター

以下の説明では

試…シレン
あ…あなぐらマムル
ナ…ナイフゲータ

とする。

初期配置

この状態から素振りするとどうなるか。

■■□■■
■■□■■
■■試■■
□□□□□
□□あ□□
□□ナ□□

行動順があなぐら→ナイフの場合

Step1
■■□■■
■■□■■
■■試■■
□□↑□□
□□あ□□
□□ナ□□

空振るとあなぐら直進

Step2
■■□■■
■■□■■
■■試■■
□□あ□□
□□↑□□
□□ナ□□

ゲータ直進。

Step3
■■□■■
■■□■■
■■試■■
□□あ□□
□□ナ□□
□□□□□

行動終了。シレンとモンスターが一直線に並ぶ。


行動順がナイフ→あなぐらの場合

Step1
■■□■■
■■□■■
■■試■■
□□□□□
□□あ□□
□□ナ□□

空振るとナイフ直進しようとするが、あなぐらに阻まれ左前方へ

Step2
■■□■■
■■□■■
■■試■■
□□↑□□
□ナあ□□
□□□□□

あなぐら直進。

Step3
■■□■■
■■□■■
■■試■■
□□あ□□
□ナ□□□
□□□□□

行動終了。配置が違うでしょ。

肉無し掛軸裏の深層では行動順を知ってる必要があるシーンが多々あるので重要。


行動順利用 店主編

逃げるのに店主を利用する。

実際のプレイでやられたが、こうすれば助かったのでは?と、昔ある掲示板に貼ったものをそのまま流用。


なお、以下の説明では

店…店主
試…シレン
ベ…ベルトーベン
グ…グレートチキン

とする。


実際のパターン配置
■■■■■■■■
■□□□□□□■
■□□□□□店■■■■
■□□□□□□←試べグ
■□□□□□□■■■■
■□□□□□□■
■■■■■■■■

8部屋店マップを右から入ってきたところ。踏みとどまれば、だったんだけど…

TSの期限が切れてて正確に伝えられないのでこの後の展開の図は控える。

  1. シレン店侵入してアイテムまで行く
  2. 店主ブロックしようとして足元のアイテム投げる
  3. しかし前述の通り店主が一番先に動くので、モンスターに阻まれて入口ふさげない
  4. ベル+呼んだモンスター+グレチキシレン

場所がえの杖で解決パターン

行動順よりも杖移動優先なのでこれでガードできる。

逃げてる最中に
■■■■■■■■
■□□□□□□■
■□□□□□店■■■
■□□□□□□試べグ
■□□□□□□■■■
■□□□□□□■
■■■■■■■■

この入店直前のタイミングで左上向きで店主と場所がえする。

単純に店主ストッパー

店主の杖移動優先なのでモンスターは進入してこれない。

■■■■■■■■
■□□□□□□■
■□□□□□試■■■
■□□□□□□店べグ
■□□□□□□■■■
■□□□□□□■
■■■■■■■■

あとは左を掘っていくなり何なりで。結構便利。


店主の特性

具体的には以下の特性が関わってくる。検証済み。

  1. 場所替えを振っても敵対モードにならない
    • ただし投げた場合は打撃判定で敵対モードになるので注意
  2. 場所替えで店外に出しても、泥棒フラグを立てていなければ店エリアが広がるだけ
  3. 店主は元の店主専用エリア(3マス)に戻ろうとしない
  4. 店主の行動順は0番目。一番はじめに動き判定が発生
  5. 店外に出した場合の店エリアは不明瞭に拡大。移動先の部屋で売買が可能
  6. 場合によるが、フロアを歩いていると数ターンごとに「いらっしゃいませ」コールがかかる
  7. 商品購入の際は注意。場所で店に戻せば確実OKかと。店エリアはBGMが変わるので分かると思う

明るい柱部屋・水脈/水溜り部屋

これはまだよく検証してないが、左折の法則というより

  1. 通常の部屋のように斜め移動を含む 入り口・到達地点間を結ぶ最短距離を想定する
  2. 現実に歩けるルートのマス数を計算する
  3. 上述の中から歩ける短いルートを選択して通る

という感じ。柱部屋ではクランク移動。詳しい解説があったら教えてほしい。検証めんどくさい。


ほいじゃー、また。

更新履歴クレタケ くれ竹万年毛筆 本毛 べっこう調 紅 DW140-50

*1:明るい柱部屋・水脈/水溜り部屋は例外

 2010/11/15 11:33 >モンスターの行動順
おそらく16進数なので、ちょうど20体です。

noromanbanoromanba 2011/03/03 14:41 to さん
どーもこんちわ。

>>モンスターの行動順
>おそらく16進数なので、ちょうど20体です。
これってどういう意味かちょっとサッパリなんですが。
-内部処理は16進数
-フロア内のシレン・NPCを含めた存在最大数は20体なのは自明
-モンスターの発生順と行動順は関連する
以上の点は理解されてると思いますけど、これらが相互にどう関わってこのコメントになるのか分かりません。
書き込みあってからずーっと考えてましたが、文法的に"おそらく"のかかる場所が分からないんで余計キツイです。

仮に「16進数だから20体です」という意味だとすると
-行動順の説明には見えない
-16進数で"20"が特別な意味を持つと思えない
--10進表記の20が16進では0x14ですけど、この値って制限値にしては不自然かと
--仮に「0x20」って意味だとすると10進で32になりますが、それが何か関係あるんでしょうか

ってことで何となくフロアの出現限界数の話に見えますが。違います?

noromanbanoromanba 2011/04/08 02:17 あ、あれ…コメント消えた?
ってことで仮名にしときますがちぇさんありがとうございます。
"0x13"てことですね。それならHexでも合点がいきます。思いもよらんかった…。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証