2015/01/18
■ [ヴィーヤウトゥムノ] ガーゴイル/Gargoyle (Slate 'u')
=== Num:528 Lev:34 Rar:2 Spd:+0 Hp:18d12 Ac:50 Exp:110 羽の生えた、石の肌をした悪魔だ。 それは通常地下 34 階で出現し、普通の速さで動いている。この邪悪なるデーモ ンを倒すことは 1 レベルのキャラクタにとって 約1246.67 ポイントの経験とな る。それは通常集団で現れる。それは稲妻や火炎のブレスを吐くことがある(確 率:1/12)。それは AC50 の防御力と 18d12 の体力がある。それには岩を除去する ものや明るい光でダメージを与えられる。それは稲妻と炎と冷気と毒の耐性を持 っている。それは進化しない。それは侵入者をしばらくは見ており、 100 フィー ト先から侵入者に気付くことがある。それは一つの財宝を持っていることがあ る。それは 2d6 のダメージでひっかいて攻撃し、 2d6 のダメージでひっかいて 攻撃し、 1d6 のダメージで噛んで攻撃する。
鬼畜大佐『ロムンクァリィ』
王道を征く使い魔くんすき。
アッキ=ニンジャ『ウルウェン』
とりあえずまとめてボコッて小銭回収。
■ [ヴィーヤウトゥムノ] クリスタル・ドレイク/Crystal drake (Clear 'd')
=== Num:591 Lev:37 Rar:2 Spd:+10 Hp:500 Ac:100 Exp:1500 奇妙な水晶のようなドラゴンだ。光が屈折して輝いてできる虹のような色が冒険 者の目をくらませる。 それは通常地下 37 階で出現し、素早く動いている。この邪悪なるドラゴンを倒 すことは 1 レベルのキャラクタにとって 約18500.00 ポイントの経験となる。そ れは矢の呪文を跳ね返す。それは破片のブレスを吐くことがある、なおかつ魔法 を使うことができ、恐怖、目くらまし、混乱、減速の呪文を唱えることがある(確 率:1/6)。それは AC100 の防御力と 500 の体力がある。それはドアを開け、ドア を打ち破り、空を飛ぶことができる。それは透明で目に見えない。それに乗るこ とができる。それは冷気と破片の耐性を持っている。それは経験を積むと、グ レート・クリスタル・ドレイクに進化する。それは混乱しないし、眠らされな い。それは侵入者をほんの少しは見ており、 250 フィート先から侵入者に気付く ことがある。それは 8 個までのアイテムを持っていることがある。それは 1d4 のダメージでひっかいて攻撃し、 1d4 のダメージでひっかいて攻撃し、 2d5 の ダメージで噛んで攻撃する。
鬼畜大佐『ロムンクァリィ』
耐性さえあればね。
アッキ=ニンジャ『ウルウェン』
無くても殴れんことはない。
■ [変愚蛮怒/スポイラー]視界判定アルゴリズムの大まかな流れ(変愚蛮怒 ver2.1.5)
D'angband制作中、視界処理にさんざん手こずっているので、打開策探しに変愚の視界判定アルゴリズムを調査してみた。まんま模倣するか、独自に行くかはまだ検討中。
同アルゴリズムの実装はupdate_view()及びupdate_view_aux()中で成り立っている。かなり長ったらしいので本当に大まかな意味だけをまとめる。
- プレイヤーのいる位置(赤色)は当然視界ありとする。
- 単純に八包囲を手前からトレースし、途中障害物にぶつかるまでの視界ありとする(図中オレンジ色)
- 八包囲の間に挟まった8つのブロックについてそれぞれ対象で以下の処理を行う(例では南~南東感で解説する)
- 南の直線から西→東に、さらに北から南へと順に視界判定を以下のように走査する。指定の位置(赤枠緑マス)に視界が入るかどうかは、その北西隣、及び北隣の地形を基準にとりまく。
- 北西マスと北マス双方とも壁(=LOSフラグのない地形)か、視認性がない(=CAVE_VIEWフラグがない)場合は視界なしで当Y軸の走査を終了する。
- 北西マスと北マス双方とも壁がないならば、CAVE_XTRAフラグをつけ(=視界の容易性)をつけ視界ありとする。走査マスが壁ならば当Y軸の走査を終了する。
- 北西マスのみ壁がないならば視界ありとする。走査マスが壁ならば当Y軸の走査を終了する。
- 北西マスと北マス双方とも視認性があるならば、視界ありとする。走査マスが壁ならば当Y軸の走査を終了する。
- 走査中のマスが単純に壁ならば視界ありとする。走査マスが壁ならば当Y軸の走査を終了する。
- 走査中のマスがlos()関数で「射線」が通っているならば視界ありとする。走査マスが壁ならば当Y軸の走査を終了する。
- 以上いずれの判定でもない場合当Y軸の走査を終了する。
- 南の直線から西→東に、さらに北から南へと順に視界判定を以下のように走査する。指定の位置(赤枠緑マス)に視界が入るかどうかは、その北西隣、及び北隣の地形を基準にとりまく。
以上の処理には、マップ外の判定を除外したり、視界距離に関する判定もあるがその辺は割愛した。