トップ «前の日記(2013/07/11) 最新 次の日記(2013/07/13)» 編集

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/07/12

[変愚蛮怒/スポイラー]ゲーム中の時間処理について1(変愚蛮怒 Ver2.1.3 rev3476)

基礎定義

  • ゲームターンは実装上、グローバル変数の[turn]で保持され、ゲームスタート時からの経過時間を示している。
  • [turn]はゲームのメインループ処理毎に1増える、つまり最小のゲーム時間単位である
  • ただし、多くの処理をこの1ターン毎に行うと処理が重くなるためか、標準的な処理基準が(TURNS_PER_TICK)=10と定義され大半の処理がこの値で[turn]が割り切れる場合のみに処理される。つまり、多くの処理は10[turn]毎に処理されている。

日数表記

  • ゲーム時間の日数表記はturnを元に以下の形に換算されている。(実装上はextract_day_hour_min()関数で取得)
    • 1日(A_DAY) = (TURNS_PER_TICK) * (TOWN_DAWN) = 10 * 10000 = 100000[turn]
    • 1時間 = 100000 / 24 = 4166.666...[turn]
    • 1分 = 100000 / 24 / 60 = 69.444...[turn]
    • 開始時刻はプレイヤーの種族によって決まる。通常は6:00から、吸血鬼、ゾンビ、骸骨、幽霊は18:00からとなる。

日数の限界

  • 日数は途中で*****表記になるが、内部処理上で(MAX_DAYS)=20000まで処理されている。20000日以降は超える都度20000日目に引き戻される。

process_world()関数による「世界的な処理」

  • process_world()はゲームメインループ中で1[turn]毎に呼び出される関数であり以下の処理を順に行う
    • update_dungeon_feeling()関数により階の雰囲気の変化を処理する。
    • カジノの闘技場で残存するモンスター数、及び試合の開始から時間経過を確認し、勝者判定を行う。
  • 以降の処理は10[turn]毎(10で割り切れる場合)にのみ進み、それ以外はprocess_world()がreturnで中断される
    • 500[turn]毎に「アングバンドの門が閉じる処理」を行う。
    • オートセーブ頻度*10[turn]毎にセーブ処理を行う
    • 10[turn]毎にmon_fightフラグが立っていてignore_unviewオプションが無い場合「何か聞こえた」メッセージを表示する。
    • 地上で6:00及び18:00になったならば日出日没の処置を行う。
    • 10[turn]毎に一定条件を満たせば店長のシャッフル処理
    • 10[turn]毎に一定条件を満たせばダンジョン時のモンスター追加生成処理
    • 100[turn]毎にモンスターの自然回復処理
    • 30[turn]毎にモンスターボールに入ったモンスターの自然回復処理
    • 10[turn]毎にモンスターの一時的ステータス処理
    • 日が変わった際に日替わり賞金首の変更
    • 悪夢モードならば23:15、23:30、23:45の際に鐘をならし、日が変わった瞬間に太古の怨念発動
    • 10[turn]毎にプレイヤーの消化処理
    • 10[turn]毎にプレイヤーのHPとMP回復処理
    • 10[turn]毎にプレイヤーの一時的ステータス処理
    • 10[turn]毎にプレイヤーの光源消費処理
    • 10[turn]毎にプレイヤーの変異効果処理
    • 10[turn]毎にプレイヤーの呪い装備効果処理
    • 10[turn]毎にプレイヤーのロッド回復処理
    • 10[turn]毎にプレイヤーの擬似鑑定処理
    • 10[turn]毎にプレイヤーの帰還&現実変容処理

[ヴィーヤウトゥムノ] 唸るスピリット/Moaning spirit (L.Umber 'G')

=== Num:231  Lev:12  Rar:2  Spd:+10  Hp:5d8  Ac:20  Exp:44
恐ろしげに唸る幽霊だ。
それは通常地下 12 階で出現し、少々不規則に、かつ素早く動いている。この邪
悪なるアンデッドのモンスターを倒すことは 50 レベルのキャラクタにとって
約10.15 ポイントの経験となる。それは魔法を使うことができ、恐怖、テレポー
トの呪文を唱えることがある(確率:1/16)。それは AC20 の防御力と 5d8 の体力
がある。それは壁をすり抜けることができる。それは透明で目に見えない。それ
は冷血動物である。それは冷気と地獄の耐性を持っている。それは経験を積む
と、ゴーストに進化する。それは混乱しないし、眠らされない。それは侵入者を
幾分注意深く見ており、 140 フィート先から侵入者に気付くことがある。それは
一つか二つのアイテムや財宝を持っていることがある。それは泣き叫んで恐怖さ
せ、 1d8 のダメージで触って器用さを減少させ、 1d8 のダメージで触って魔力
を奪う。

0

Romunqualy

鬼畜大佐『ロムンクァリィ』
自爆霊からの進化よね。一箇所に留まる状態から、うろちょろ
飛び回って無念や妄執を振り巻くようになったって所かしら。

Udindae

兵器の悪魔『ウディンダイ』
まあ階相応の@の前ならば、吹けば飛ぶような手合いさ。