トップ «前の日記(2015/01/17) 最新 次の日記(2015/01/19)» 編集

SikabaneWorksが関係するコンテンツ(主に*band系ローグライク)の開発近況・補足から全く個人的な雑記まで。

[WEB:屍の見える丘公園]| [RSS]

Angband | Badiashimshe | C# | CRAUZEL | D'angband/小説草稿 | D'angband/開発 | DarkSouls | Demon'sSouls | DungeonCrawl | ElvenUteruses | Haskell | Hengband | J9シリーズ | LEGO | LineDrawing | MISC | MTG | Mac | Math | Moria | R-18 | Roguelike | Rough | RoughSketch | Ruby | SDL | UNIX | VMware | WarHammer | Zangband | アタシラヂョウヲウ | イラスト | ガジェット | ゲーム | ゲーム紹介 | ゲーム製作技術 | ゲーム論 | スケッチ | ツクール | テクノロジー | ニコニコ動画 | ファルコム | ファンタジー | マリオ | ヴィーヤウトゥムノ | 別記事追加予定 | 変愚蛮怒 | 変愚蛮怒/スポイラー | 変愚蛮怒/元ネタ探訪 | 変愚蛮怒/攻略 | 変愚蛮怒/開発 | 宗教 | 情報 | 政治 | 文字コード | 日ペ昔話 | 東方ワンドロ | 東方外法漢女 | 歴史 | 漫画製作 | 版権絵 | 画像処理 | 翻訳 | 自然言語 | 艦隊これくしょん | 落書き | 言語解析 | 読書 | 超人ロック | 追記予定 | 通信 | 阿片窟 | 馬鹿馬鹿蛮怒/開発 | 魔法少女まどか☆マギカ | 魚類版深夜の真剣お絵描き60分一本勝負


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 のダメージで噛んで攻撃する。

2

Romunqualy

鬼畜大佐『ロムンクァリィ』
王道を征く使い魔くんすき。

Urwen

アッキ=ニンジャ『ウルウェン』
とりあえずまとめてボコッて小銭回収。

[ヴィーヤウトゥムノ] クリスタル・ドレイク/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 の
ダメージで噛んで攻撃する。

3

Romunqualy

鬼畜大佐『ロムンクァリィ』
耐性さえあればね。

Urwen

アッキ=ニンジャ『ウルウェン』
無くても殴れんことはない。

[変愚蛮怒/スポイラー]視界判定アルゴリズムの大まかな流れ(変愚蛮怒 ver2.1.5)

D'angband制作中、視界処理にさんざん手こずっているので、打開策探しに変愚の視界判定アルゴリズムを調査してみた。まんま模倣するか、独自に行くかはまだ検討中。

同アルゴリズムの実装はupdate_view()及びupdate_view_aux()中で成り立っている。かなり長ったらしいので本当に大まかな意味だけをまとめる。

4

  • プレイヤーのいる位置(赤色)は当然視界ありとする。
  • 単純に八包囲を手前からトレースし、途中障害物にぶつかるまでの視界ありとする(図中オレンジ色)
  • 八包囲の間に挟まった8つのブロックについてそれぞれ対象で以下の処理を行う(例では南~南東感で解説する)
    • 南の直線から西→東に、さらに北から南へと順に視界判定を以下のように走査する。指定の位置(赤枠緑マス)に視界が入るかどうかは、その北西隣、及び北隣の地形を基準にとりまく。
      • 北西マスと北マス双方とも壁(=LOSフラグのない地形)か、視認性がない(=CAVE_VIEWフラグがない)場合は視界なしで当Y軸の走査を終了する。
      • 北西マスと北マス双方とも壁がないならば、CAVE_XTRAフラグをつけ(=視界の容易性)をつけ視界ありとする。走査マスが壁ならば当Y軸の走査を終了する。
      • 北西マスのみ壁がないならば視界ありとする。走査マスが壁ならば当Y軸の走査を終了する。
      • 北西マスと北マス双方とも視認性があるならば、視界ありとする。走査マスが壁ならば当Y軸の走査を終了する。
      • 走査中のマスが単純に壁ならば視界ありとする。走査マスが壁ならば当Y軸の走査を終了する。
      • 走査中のマスがlos()関数で「射線」が通っているならば視界ありとする。走査マスが壁ならば当Y軸の走査を終了する。
      • 以上いずれの判定でもない場合当Y軸の走査を終了する。

以上の処理には、マップ外の判定を除外したり、視界距離に関する判定もあるがその辺は割愛した。