ローグライク攻略&開発雑記

コンシューマー/PCに限らず、適当に綴っていくブログ 無駄にあれこれ遊んだので要らん知識だけは豊富

2020年06月

変愚蛮怒2.2.2 進捗状況 その18

こんにちは、Hourierです
少し間が空きましたが、メンテナのマージチェック待ちでしばらく待機しておりました
1万行弄ってますからね、ちょっとは落ち着かないと見る側は大変です

そんなこんなで多少活動再開です
共通ヘッダのインクルードをようやく*抹殺*し終えたので、これでほぼほぼ酷いヘッダは撲滅できました
この他にもちょいちょい 設計の悪いインクルード関係を消化してます
残りはplayer-status.c/h なんですが、cの方がようやく4000行が見えてきたばかりでまだまだ道のりは遠いです
というか処理の方針をどうするかで色々あるようなので、私はしばらく他の作業に徹することになりそうです
この記事がアップされる3日前にはもうコンフリクト起こしてて誰がマージすんねん状態ですが

メイン画面を描画するファイルがなくなった……?
何を言ってるのか分からねーと思うが、おれも何が起きたのか分からなかった……頭がどうにかなりそうだった……
まぁ元々こんな名前のファイルではなくどこかで私が改名した記憶もあるんですが、それにしても画面描画系のファイルはカオスの一言でしたね
メッセージ表示用の関数だけで一体いくつあるのやら
なお違いは一切把握しておりません(←

で、うごうごしてたら太古の怨念が復活してきたので、めんどっちぃとばかりにp_ptrの抹殺に取り掛かりました
無事死亡しました
何とかobject-hook.cmonster-race-hook.c から削除できました
以前やった時は実力不足とタスク多過でどうにもならなかったんですが、粗方掃除が終った今となってはそれぞれ半日作業でしたので生きて帰ってこれました

寄り道もいくつかしていますが、着実に設計が良くなってきています
次回もお楽しみに!

変愚蛮怒(2.2.2 開発中版) ハイエルフレンジャー その8

こんにちは、Hourierです
44FのRQが誰になるのかちょっと確かめるため、竜窟へ潜ってみることにしました
そしたらいるわいるわ凶悪ユニークどもが
まだ倒せそうな気がしないので、ぼちぼち倒せそうな『スマウグ』だけ倒して引き返してきました
もう38F RQ組のユニークは『ジャック』以外負ける気がしないですね

そして気付いたら自然の3冊目が手に入っててスピ杖が燃えてました(しくしく)
とはいえもう自前加速も不可能ではないくらいに失率も下がってきたので、アイテム欄が1つ空いたと前向きに捉えることにしましょう
肌石化の失率も下がりきっていたので、44Fに『ツァール』辺りが出てきても怖くは……怖いかな?
『ガルム』でないことが確定しているのは大きいですね!

ダンプはこちら
生存ユニークはこちら
撃破済ユニークはこちら
そうそう、撃破済ユニークの一覧がマージされました!
2.2.2から閲覧可能になります! 皆で倒したユニークを見ながら「こいつ強かったよなー」とニヤニヤしましょう!
次回もお楽しみに!

変愚蛮怒(2.2.2 開発中版) ハイエルフレンジャー その7

こんにちは、Hourierです
割と投稿が遅れてしまいましたが4~5日ほど前の出来事です

あれからコメントを頂いた通りに装備を組み替えて、いざ38Fへ!
事前の予想通り『ファイア』でした
自前加速ができる仙術の本領発揮、割と簡単に消し炭になってくれました
……と言いたいところですが、Vaultに『ガルム』が湧いてそのすぐ近くにテレポしやがってくれたので、うまく釣り出すのに結構苦労しました
ついでに『スカサ』も湧いてたんですが、流石に地獄耐性がない状態でVaultに突っ込む勇気は全く無いので、深く考えずに脱出しました
というか圧倒的ハズレの2大巨頭を除くと、まぁまぁやっぱり38Fはそこそこの難易度ですね

問題は44Fからですね
『ファフナー』『ナッパ』辺りだと嬉しいですが……
もう捨てるの前提で突っ込もうかと思いつつ、城でもう少し鍛えてユニーク狩りでもしようかなーと思いつつ

今日はRQ踏破しかしてないのでこの辺で
ちょっと他にうごうご動き始めたのでこっちの投稿間隔もちょっと開くかも?
ともれ次回もお楽しみに!

変愚蛮怒スポイラー ユニーク生成に伴う警告処理

こんにちは、Hourierです
今までぼけーっと見ていた警告処理ですが、面白いことが分かったので紹介します

フロアにユニークが生成された時、「○○は赤く光った」とか表示されますが、アレはなんと階層依存ではなく@さんのレベル依存だということが分かりました
つまり大雑把に言えば、経験値補正が重くて中々レベルが上がらないほど、黒く光る確率が高いということですね

プレーヤーのレベルより31以上高い (→81F以降のユニークは全員):黒く光る
プレーヤーのレベルより16~30高い:紫色に光る
プレーヤーのレベルより6~15高い:ルビー色に光る
プレーヤーのレベル+5~ー4:赤く光る
プレーヤーのレベルより5~14低い:ピンク色に光る
プレーヤーのレベルより15以上低い (→カンストしたら35F以下のユニークは全員):白く光る

Lv40近辺でピンク色に光ったら……その先は言う必要ないですよね。
自分で考えてみてください。

それでは皆様、よき変愚ライフを!
次回もお楽しみに!

変愚蛮怒2.2.2 進捗状況 その17

こんにちは、Hourierです
ようやくリファクタリング作業の大きな節目を1つ迎えました!

元凶はutil.c/h です
過去の経緯やら無茶な設計やら色々あって、インクルード関係が凄いことになってましたが、何とかスパゲッティを1本ずつ取り出すような地道さでバラバラに解き、ようやく分解が完了しました
具体的には、変愚のコードは大体がangband.h というヘッダをインクルードしないとどうにもできないコードなんですが、よりにもよってこのangband.h の中で色んなヘッダがぐるぐる循環インクルードしまくってたんですよね
それは知ってましたが(絶望)、今回util.h を真面目に解体する過程でようやくその全貌が明らかになりました
というかやっと解析する気になったのでPlantUMLを持ち出してどこがどうぐるぐるしてるのか調査しました
いやーこういうのはガチらないと何とも分かりにくいものですね

結果、util.h がgeometry.h をインクルードしているのが犯人だと突き止めることができました
だからといって何も考えずに消したらエライ目に遭ったので、ちょっと工夫しつつ消しました
他にも色々と不味い部分があったので設計を改善しました
util.h を1行弄るとその途端に(ほぼ)全ファイルの再コンパイルが走るので、なるべく触りたくなかったんですよね
これを「弄ったファイルの周辺だけ再コンパイル」にできるよう改造した、という感じです
今やutil.h はなくなり、小さな構造体定義のみのalloc-entry-definition.h に生まれ変わりました
もちろんガッツリ手を入れただけあって、ぐるぐる参照は起こしてません

いやはや、まだまだやることはあるんですが、変愚蛮怒を取り巻いているダメダメ設計の内、最も大きなものの1つが解消されたのは非常に良いことです
そして本コーナーはメンテナのチェック作業待ちなのでしばらく休載です
どんどこ鉄獄を潜るぞー!
お楽しみに!
ギャラリー
  • 開発者になろう GitHub編
  • 開発者になろう GitHub編
  • 変愚蛮怒3.0.0 進捗状況 その36
  • 変愚蛮怒 3.0.0 進捗状況 特別編 その3 C#への可能性
  • 開発者になろう
  • 開発者になろう
  • 変愚蛮怒2.2.2 進捗状況 その21
  • 変愚蛮怒(2.2.2 開発中版) ハイエルフレンジャー その5
  • 変愚蛮怒(2.2.2 開発中版) ハイエルフレンジャー その3