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

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

2020年01月

変愚蛮怒のモンスター実装予定について

こんにちは、Hourierです
しばらく前に実施した解析ネタは、ソースを読める分には面白いです……が、今回はもう少しゲーム寄りな内容をと思い記事にしてみます
今回は小生が追加した(そして実装中の)モンスターについてつらつらと書いてみます

コボルドの大量追加
1年くらい前にコボルドを実装したのは私です
ここには名前一覧しかないですが、モンスター追加者としてちょっと意図をお話してみようというのが今回の趣旨です
Wikiを眺めて「Q・F・Xはしゃーないとして、y・kはちょっと数少なすぎね?」と思ったのがきっかけでした
イークはどうしても低層でしか活躍できないタイプのキャラ設定なので、じゃぁコボルドのラインナップを強化してみようという安直な考えの元、早速作業に取り掛かることにしました

参考にしたのはここです (但し部分的に情報が古くなりつつあります、r_infoにある他のモンスターも参考にしましょう)
色々あって3種類の強さを設定しました
  • 12F近辺でよく出てきて、直接攻撃が元素攻撃になっている下級元素コボルド
  • 23F近辺でよく出てきて、まれに元素ブレスを吐く上級元素コボルド
  • ユニーク
下級元素コボルドは単体生成、かつよく寝ているので、ちょっと遠距離攻撃を繰り出せば軽く倒せるくらいの強さです
何かの都合で元素耐性の防具をつけていれば雑魚です
何気にラージ・コボルドよりHP少なめです

上級元素コボルドは複数生成、かつちょっと起きやすいので気を付けましょう程度の強さです
火炎と冷気は二重耐性を気軽に張りやすいので、適正階層で出ればいいカモになりえます
電撃・酸は装備・持ち物・耐性と相談ですが、電撃はまだマシな方かなだと思ってます
なお毒コボルドだけは「元々コボルドには毒耐性あるし、他よりちょっと強くしておくか」くらいの存在にしています
上級毒コボルドは名前の通り なんでこんな名前にした、言え! 時間逆転ブレスを吐くので注意して下さい
なお確率はかなり減らしており、そもそもブレス威力は大して高くななく、しかもこいつだけ他のじょうい単体生成なので、経験値が減って鬱陶しいという程度の強さに仕上げました

コボルドユニークといえばこいつしかいないだろと最初から思っていたのですが、この時ようやく形になった感じです
ただし明らかな上位ユニークと被ると困るので、24FのRQには出ないように調整しました


鬼系モンスターの追加
他にも「Oって思ったより少ないですねー」なんて話が #ぐりっどばぐ で出たりしており、「追加Oは地獄の鬼っていう方針はどうじゃろ」っていう流れになりました
当時ちょうどコボルドの実装を経てモンスターの追加方法も見え始めたところだったので、じゃぁ一丁やってみましょうということでこっちに取り掛かりました
こっちは調整中につき未公開部分も多いですが、主に地獄の矢を中確率で撃ってくるややテクニカルなモンスターに仕上げてみました
一体だけ分かりやすくネタな鬼もいますがこいつはまぁ例外ということで
ここから先はリファクタリングを優先したため現在停滞中です、その内またアップデートをご紹介できると思いますのでお楽しみにー


その他ユニーク類の追加
これはお前やりすぎやろと言われそうな気配もしつつ、あんなのとかこんなのとかそんなのを実装予定です
「邪悪じゃないけど狂気持ち」ってロマンありますよね あって下さいお願いします
この辺まで来るとあまり細かくは詰めておりませんので、その内改めて実装報告でもしようかなと思います


実装して分かったこと
感知周りは極端な値でない限り適当でも何とかなるんですが、魔法の種別と使用率は結構難しい印象です
この辺を調整しておかないと、ベエマスワーロックやら月光蝶やら極端な連中の仲間入りになります
意図して作ったならともかく、結構な調整が必要になってきます
  • あくまで雑魚と位置付けているなら、それなりの魔別と使用率に留める
  • 中盤の強敵といった塩梅では、強力な魔法だけでなく麻痺やら盲目やら適当に混ぜる
  • 深層ユニークともなれば使用率も高めに、そして無駄な魔法は使わないとか朦朧しない特性とかつける
実装済のモンスターを眺めれば当たり前のように見えますが、自前でモンスターを追加してみようと思うとあれやこれやと悩みが尽きず、一方でとても面白い作業でもあります
皆さんもぜひやってみて下さいね!
いいのができたらチケットに投稿してみると採用されるかも!?

そんなこんなで次のバージョンをお楽しみ下さい
今回も長々とお読み頂きありがとうございました!

変愚蛮怒 リファクタリング一段落

こんにちは、Hourierです
しばらくうごうごした結果、無事今々できる範囲でのグローバル変数*抹殺*作業が完了しました
ここしばらくは「新機能もさることながら、数十年積み重ねてきた残念コードを整理して、それを2.2.2としてリリースしよう」という機運が、deskull氏のHPなり#ぐりっどばぐ なりでありました
それをロケット進行でお手伝いしていた──という感じです
プライベートでやりたいこともいくつかあったのですがそれは封印して、ガッツリ直してみました
具体的にはこの2週間弱でグローバル変数を3000箇所ほど消し去りました
我ながら凄い速度だったなーと思います 休日全部潰しました、さぁ部屋の片付けだ
まだまだどうともしづらい部分はありますが、このバージョンで引き続き修正掛けたり、更に次のバージョン (2.2.Xないし2.3以降)に持ち越したりします
この辺はまだハッキリと決まっていない部分があるので、追々deskull氏のHPで何かしら情報が出てくるんじゃないかと思います
ひとまず目に見える私の作業は一旦完了です
少々全力疾走しすぎたのでコーディングはしばらくお休みします

この記事を作るに当たって、C言語で仕事をしている友人に問い合わせたところ、「知ってる範囲では関数マクロを意図的に使う理由はない」とのことでした
私自身「変数名をprintfする」くらいしか使い途が思い浮かびません
この辺なら使い所もありそうですが、変愚ってゲームですからね……
そこまで黒魔術を使いこなさないと性能に問題が出るようなプログラムでもなし、この際できる範囲で一緒に掃除しちゃえといったところです エンバグ? いえ、知らない子ですね……

今回は「マイナスをゼロにする」お話でした まだまだマイナスはたくさんあるけどな!
次回は「ゼロをプラスにする」楽しい話を──具体的にはモンスター実装案をいくつか紹介しようと思います
ああランクエ記事の修正もせな……
お楽しみに!

どうしてこうなった

新年明けました
どうぞ今年もよろしくお願いします

元はモンスター実相案でも投稿しようと思っていたのですが、急転直下こちらの話題を出した方がよかろうと本記事をアップする運びになりました

……あまりにもメンテナの方が毎日毎日掘られた穴を埋める作業に費やされていたので、いてもたってもいられずとうとうコントリビューターになってしまいました
分かりやすく言うと「すげーめんどくせーヤツが数千箇所で通せんぼしてるから1箇所ずつどける」という、ぶっちゃけ気の遠くなるような作業です
既に半年以上経っていますがまだまだ先が残ってます
といっても、今のところは「穴を埋める作業を手伝うついでにちょっとコード整形」程度をちょいちょいこなしているだけです 私に機能実装リクエストを投げないように
「見様見真似で何とかなるじゃろ」精神で進めていますが、これ存外キツい。。。

「#ぐりっどばぐ」では、「もうこいつら*抹殺*したらバグ取ってリリースでええやん」的な空気も漂っていたりします
でもまだ山ほどある上に一筋縄ではいかない場所もあったりで、こりゃかたつむり進行も納得でした
これからは(ガッツリ時間取れるかどうかは年明けタスクの積み上がり具合次第ですが!)2人体制で2.2.Xリリースへのスピードアップを図っていきたいと思います
どうぞよろしくお願いします(ぺこり
ギャラリー
  • 開発者になろう GitHub編
  • 開発者になろう GitHub編
  • 変愚蛮怒3.0.0 進捗状況 その36
  • 変愚蛮怒 3.0.0 進捗状況 特別編 その3 C#への可能性
  • 開発者になろう
  • 開発者になろう
  • 変愚蛮怒2.2.2 進捗状況 その21
  • 変愚蛮怒(2.2.2 開発中版) ハイエルフレンジャー その5
  • 変愚蛮怒(2.2.2 開発中版) ハイエルフレンジャー その3