トップ «前の日記(2013/02/02) 最新 次の日記(2013/02/04)» 編集

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分一本勝負


2013/02/03

[変愚蛮怒/スポイラー]プレイヤーのテレポート処理(変愚蛮怒 Ver2.1.1 rev3259)

プレイヤーのテレポート処理はteleport_player()関数を根幹とし、テレポート距離と各種フラグを指定して実行する。

  • テレポートの実際処理をteleport_player_aux()関数で行う。
    • 荒野の広域マップ中ではキャンセル
    • 反テレポを装備で備えていればキャンセル。
    • テレポート距離に200以上が指定されていれば200に留める。
    • @さんを中心としたテレポート距離*2の正方形内を全て走査し、テレポート先候補内に入れるかを決定する。
      • distance()関数で測った絶対距離がテレポート距離以上ならその地点は候補から外す
      • cave_player_teleportable_bold()で定められたテレポート先地形でないなら候補から外す
    • 候補が一つもなければテレポートキャンセル。
    • テレポート距離をテレポート可能先の比に基づいた確率で決定する。ただし、テレポート先になる候補は絶対距離の長い順から並べていき、候補全体が50%を超えた時点で候補を打ち切る。例えば範囲5内で20件候補がああった場合先頭の10件だけが候補となり、距離3の確率1/10、距離4の確率6/10、距離5の確率3/10となる。
5554444443 3333322211
|--候補--|
    • 実際のテレポート先を確定して飛ぶ。万一フロアの外に飛んでしまう場合はキャンセルされ、move_player_effect()が実行される。
  • 以上の処理を行なった後、周囲1マスのモンスターを走査し、いた場合にテレポート追尾の判定を行う。
    • テレポート追尾を行う前提は、モンスターが眠っておらず、長距離テレポートを持ち、なおかつ、テレポ耐性を持っていない時。
    • teleport_monster_to()関数により、(敵レベル)%の確率で追尾が試みられる。