2017/12/10
■ [変愚蛮怒/開発]変愚蛮怒開発日誌part77…現状の開発路線
最初に
本記事はRoguelike Advent Calendar 2017の10日目の記事です。というか今年こそはよりガチ参加しようと思ってまた、しそこないました(小声)
去年のアドベントカレンダーでまとめた変愚蛮怒の今後のマイルストーン@2016末はあんのじょう空回りしまして、それにはもうリアルの事情がどうしようもならんことがあって、平謝りする他ない次第です。
それをまたどう補正して続けていくかはともかく、今回はここまで何に苦心しているのかをまとめて、せめてやることはやっておるのよ、という見苦しいアピールに走ろうかなと思います。
やっぱり、まだドキュメントが足りないのでDoxygenとリリースノートは書かないといけない
これまでもDoxygenにより開発のドキュメントはまとめてきてはいるのですが、本WEBサイトへの更新は止めているのに加えて、まだまだまとめ足りないところが多くあります。
実際の所、いざ「変愚の各課題に取り組もう」とすると「これどうなっていたっけ」な状態に陥ることが多く、変愚蛮怒/スポイラーで集めた内容も古かったり、修正済みであったりするものも多く、参照性がないことに自分自身が苦しんでいます。
また、本日夏場にかけて長らく更新を止めていた変愚蛮怒の改訂履歴を2.2.0まで具体的に列挙はしたのですが、この件について総括してどういう方針で修正を行ってきたのかという、もうちょっと簡潔な「リリースノート」をまとめないと、私自身の方でも、メンテナと任される以前の経緯を含めてしっくりきません。
この辺は今後さらに変愚蛮怒を私個人の手でメンテしていくだけでなく、既にあるバリアントや今後バリアントを発展させていく上での基盤としてやらなければならんと思っている点です。以下の他件よりも後回しになるとは思いますが、私自身が開発が続けられなくなるという「最悪のケース」を回避するためには必ずやっておきたいと考えています。
後先の拡張性も維持しつつ、アイデアを加えていく基盤を確保しないといけない
去年のマイルストーンや、某改良スレ、ジョークスレ、IRCの「#ぐりっどばぐ」チャンネル等でネタなり本気なりでまとめてきたアイデアは数多くあります。そいつを実行に移そうという上で毎回枷になってきたのはこれまで違法建築を続けられてきたソースコードの壁です。
みやまさ氏の変愚蛮怒勝手版を主とした大きな改変、改良例はその違法建築からちゃんと実装をやっているではないか、その間、本家を任されている手前はどんだけ拡張や改良を重ねて行けたんだと思うと、非常に心苦しいものです。
が、やはり変愚蛮怒のベースをやって「一つモンスターに新しい特性フラグを加える」「プレイヤーに一つ新しい技能を加える」が、難儀になっている所の問題は、やはり多くあります。
取り分けて、ハードコーディング下に引っかかって、プログラムを知らないユーザにカスタマイズできない要素が多い、というのは大本のバリアントが抱える所としては依然大きな問題と感じています。祖先のAngbandが4系までで固めたこのカスタマイズ性は、何とか変愚にも反映させたいところです。
そもそも腐るほど出てくる警告とアンチパターンを何とかしろや
前述の拡張性を何とか実現するために手をつけていて、今のところ直接大きな改良が見込めそうなのはこの件です。現在、hengbandのリポジトリには、FixWinWarningsというブランチを切って、秋口からひたすらにリファクタリング(とそれに伴う安易なエンバグの駆逐)を繰り返しています。
具体的にはVC++で警告レベルを4(一部陳腐化過ぎたものや、公式でも非推奨となったものは抑止しています)にして出たものを直してきましたが、出るわ出るわのいい加減な型定義や、二十年前のハードスペック事情でもなければ意味をなさないメモリのケチり等々。
当初警告が500~600件出てきたものを若干の仕様変更も含めながらなんとか減らしてきました。この辺は順調ならば今年中には何とかなるかもしれません。逆に言えばこれを何とかしないと他に手も付けられなかったりなんともまあ。
最後になりましたが
取り留めなく品なく愚痴りましたがまたさっさと手を動かします。はい。
■ [魚類版深夜の真剣お絵描き60分一本勝負]ホソアオトビ
2017/12/26
■ [ヴィーヤウトゥムノ] [U] 女魔術師『フィオナ』/Fiona the Sorceress (Yellow 'p') TAKE2
=== Num:791 Lev:68 Rar:1 Spd:+20 Hp:4851 Ac:100 Exp:35000 彼女は美しく、また危険な存在でもある。「…フィオナの事はとても好きだ。彼 女は間違いなく全てのアンバーの王族の中で一番愛らしく、気品がある。」 彼女は通常地下 68 階で出現し、非常に素早く動いている。この邪悪なるアン バーの王族の人間を倒すことは 1 レベルのキャラクタにとって 約793333.33 ポ イントの経験となる。彼女は通常護衛を伴って現れる。護衛の構成は、 8d10 体 のフィオナの影の怪物で成り立っている。彼女は的確に魔法を使うことができ、 悪臭雲、光の剣、秘孔を突く、恐怖、目くらまし、混乱、ショートテレポート、 テレポート、テレポートバック、テレポートアウェイ、トラップ、モンスター複 数召喚、デーモン一体召喚の呪文を唱えることがある(確率:1/3)。彼女は AC100 の防御力と 4851 の体力がある。彼女はダンジョンを照らし、ドアを開け、ドア を打ち破ることができる。彼女は素早く体力を回復する。彼女は稲妻と毒とカオ スの耐性を持っている。彼女は混乱しないし、眠らされないし、テレポートされ ない。彼女は侵入者を見過ごしがちであるが、 1000 フィート先から侵入者に気 付くことがある。彼女は 12 個までの上質なアイテムを持っていることがある。 彼女は 8d15 のダメージで殴って毒をくらわし、 8d15 のダメージで殴って毒を くらわし、触って魅力を減少させ、触って耐久力を減少させる。
アッキ=ニンジャ『ウルウェン』
ああ(諦観)
鬼畜大佐『ロムンクァリィ』
きっとまた面倒くさいことをビンビンに考えていらっしゃる。 フィオナスレの旧き住人は咥えて差し上げろ。
2017/12/29
■ [ヴィーヤウトゥムノ] [U] 不死なる『カシェイ』/Kaschei the Immortal (Violet 'L') TAKE2
=== Num:844 Lev:90 Rar:3 Spd:+20 Hp:6000 Ac:100 Exp:45000 腐敗と汚濁の悪臭を漂わせるこの魔法使いは、その忌まわしい計画と陰謀を続行 しようと墓から蘇ってきた。 彼は通常地下 90 階で出現し、非常に素早く動いている。この邪悪なるアンデッ ドのモンスターを倒すことは 50 レベルのキャラクタにとって 約77884.62 ポイ ントの経験となる。彼は通常護衛を伴って現れる。彼は的確に魔法を使うことが でき、ファイア・ボール、魔力の嵐、破滅の手、光の剣、脳攻撃、秘孔を突く、 魔力の矢、恐怖、目くらまし、魔力消去、テレポート、死者復活、モンスター複 数召喚、デーモン一体召喚、強力なアンデッド召喚の呪文を唱えることがある(確 率:1/3)。彼は AC100 の防御力と 6000 の体力がある。彼はドアを開け、ドアを 打ち破ることができる。彼は冷血動物である。彼は稲妻と炎と冷気と毒と地獄の 耐性を持っている。彼は混乱しないし、眠らされないし、テレポートされない。 彼は侵入者をかなり警戒しており、 1000 フィート先から侵入者に気付くことが ある。彼は 18 個までの特別なアイテムを持っていることがある。彼は 6d8 のダ メージで殴って劣化させ、 6d8 のダメージで殴って劣化させ、 5d10 のダメージ で殴って攻撃し、 10d10 のダメージで殴って魔力を奪う。
アッキ=ニンジャ『ウルウェン』
バルログもそう思います。
鬼畜大佐『ロムンクァリィ』
わかるマン。