Raal's Tome of Destruction

主にroguelikeのことを書くブログです

久しぶりにクローン地獄に挑む話

この記事はRoguelike Advent Calendar 2019の5日目の記事です。


前回までのあらすじ。
スカスカの耐性を固定クエストで強引にカバーして潜ること50F。
『ダオロス』の因果混乱ブレスで腕力と引き換えに男前になってしまう。
それでもありあまる戦闘能力でクローン地獄に挑もうとしているのであった。


クローン地獄。
それはhengband中盤の華。
女王アリと邪悪ユニークの召喚合戦が数々のプレイヤーを絶望させてきた。
報酬は最終装備級の★シヴァの化身の軟革ブーツ。
加えて大量のドロップ品があり、クエスト成否が天国と地獄。


まあ、今回は過剰に鍛えていたため不安要素はとくになし。
要求される耐性ほぼ完備で修行僧の340打点に加速+3。
特に面白味もなく左から順に殴るだけ。
女王アリ以外にはほぼ何もされることなく沈めていましたとさ。
修行僧強いとはいえここまでかね。いやはや。


戦利品から★『コルイン』。
これで鎧枠が空いたので、耐性はともかく修正値が凄い☆鎧でステップアップ。
☆防護服『砕死』 [6,+16] (+4加速) {+速知耐魅赤*酸r冷轟劣恐;麻(耐}
そして報酬の★シヴァ靴と合わせて装備を一新。
過剰気味の戦力をさらに一段階上に押し上げていく。


とりあえず自然魔術の特異点へ。
ズルの3クエストの中で最も簡単なこのクエストには特筆するべきことがない。
ストームワイアーム達をボコボコにして4冊目確保。
そしてレベルは40に到達。あと2レベル上がれば念願の啓蒙連打タイム。


鉄獄を少し織りて56F『ラオウ』を正面から殴り倒す。
59Fまで降りたところでレベルは41に。あと1つ。
dump


盛り上がるところも特になく、淡々と強くなっていくだけの日記と化している。
コンテンツとして成立しているかは不明だが、私は楽しいので問題なかろう。
次回へ続く。

久しぶりに耐性確保に奔走する話

この記事はRoguelike Advent Calendar 2019の3日目の記事です。


前回までのあらすじ。
修行僧にて開始。やたらHPと火力があるが耐性スカスカで困ったどうしよう。


さて、hengbandには毒耐性のツモれない哀れなる探索者のために救済措置がある。
平成も末期にリニューアルした塔クエストの報酬が耐毒の指輪なのだ。
古代グリーンDを二匹同時に処理できる実力さえあれば比較的簡単に取得できる。
耐性の薬とスピードの杖を構えて突入。害虫駆除のロッドがあればもっとよかった。
どこかの誰かさんへ感謝しつつ、さくっと蹴散らして毒耐性ゲット。



当面必要なのはカオスへの耐性。
ダメージはともかく、40Fを越えるとSAN値直送の幻覚が鬱陶しくて仕方がない。
とりあえず癒しの杖でごまかしつつ、40F前後で少し稼ぐ。
一時間くらい経過したところでレベルアップにより6回攻撃に突入。
特に成果の得られないまま、戦闘能力のみが過剰になっていく。


ここでカオス耐性のツモれない哀れなる探索者のための救済措置を利用しよう。
闘技場にて『恐竜バーニーちゃん』をドツいて耐カオスの指輪を強奪する。
とりあえず最低限の耐性が揃ったので、さらに深く潜れるようになった。


44Fは『アイホート』より、取り巻きのウボ子が大変であった。
ウボ子が増えきる前になんとか殴りきってクリア。
続いて50Fに向かう途中で自然3冊目の[自然の恵み]を確保。
まだまだ成功率低いけど、森林生成確保。これが強いんだよなあ。


クローン地獄の前に景気付けに50Fを覗いてみたら『ダオロス』。
因果混乱の耐性がないがいけるか……と思ったら腕力と魅力のスワップを貰ってしまう。
これ以上ねじれると本格的に困るためやむなく撤収。
これは即撤収するべきだった。失敗失敗。


少し火力が落ち込んだので、補填するべく50F近辺で少し稼ぐ。
鎧枠で毒耐性を確保できて少し装備が良くなった。
色々整理したところで大体6時間の経過となる。
dump


隠密に不安があるが、さすがに火力もHPも過剰なのでそろそろクローンに向かう頃合いだろう。
というところで次回に続く。

すごく久しぶりに鉄獄に潜ってみた話

この記事はRoguelike Advent Calendar 2019の2日目の記事です。


令和に初の冬が来た。
寒風吹きすさぶ今日この頃だが、皆様いかがお過ごしだろうか。


この時期になるとRoguelike Advent Calendarなるものを作るのが恒例となっている。
とはいえ私自身はRoguelike-likeな活動をほぼ完全に停止しており、せっかくの企画になんぞ添えることのできない状況である。
というわけで、仕方がない。仕方がないので、鉄獄に潜ることにした。
ないのなら、湧かせてみせようコンテンツ。


最新版をダウンロードして、ストレージの片隅から埃の被ったセーブデータと自動拾いをサルベージ。
起動して、ファーストミッションにしばし悩む。
キャラクターメイキング。ふむ。
コンテンツ的には勝利まで辿りつくべきだから、難易度は低めにしよう。
修行僧-自然。そして性格ちからじまん。うむ、文句なくイージーモード。
毒耐性を埋めると楽だったような気がするが、ちょっとだけ遠慮して種族は人間。
適当にオートロールをぐりぐり回して、いざゆかん。


開幕やることは決まっている。

1. 雑貨屋に行く。
2. ランタンを買う。

うむ、ランタンは売っていた。これは勝たねばなるまいな。


年単位でプレイしていなかったように思うのだが、体が勝手に動いていた。
松明を雑に買いしめて、最初のクエストでクローカーとデスソードにぶつける。
盗賊とワーグを殴り倒し、ちょっといい弓とショートテレポートを持って鉄獄へ。
6F、12F、下水道行って、オークキャンプ、破滅のクエスト1。
失敗前提で24Fに突入、あっさり撲殺したところでLv.25。
麻痺耐性が降ってくるのでまだまだ進める。


弓を限界まで強化して、岩石溶解とスピードの薬を持ったらミミックの財宝へ。
ここで★スランドゥイル王の硬革帽子。
望外のテレパシーゲットで探索はさらに加速する。
柳じじいがら混乱耐性を強奪し、元素耐性もそこそこに鉄獄を駆け下りる。


武器をかたっぱしから売り払い、軽い全耐性の服を店からゲット。
やたらHPと打点がありあまっている。
ログルス使いからスピードの杖を強奪、宝物庫で経験値と資金を補充。
どう見ても30F級ではないスペックを活かすべく、さらに鉄獄を下り下って38F。
『クァチル・ウタウス』はまあまあ強かった。
が、耐久力と打点のごり押しであっさり突破。


ここまでなんと3時間。
dump


ここでネックは毒耐性、そしてカオス耐性。
HPと打点は既に50Fでも文句なし、あとはどうやって進めていくやら。次回に続く。

Roguelikeゲームはどこまで煩雑であるべきか?

この記事はRoguelike Advent Calendar 201620日目です。
あっというまに4/5が経過しましたAdvent Calendar、なんとか完走できそうですね。最後までよろしくお願いします。


なお、本日はネタを用意できなかったため雑談枠となります。
色々と進捗ダメでした。

小さな作業を積む楽しみ

NetHackをベースに話をします。
古き良きこのゲームには継続的に小さいコストを払い続けることで明確なリターンを得る仕様が多数あります。
例えば満腹度を程々に保つと耐久を鍛えられる。
例えば投擲を多用すると素早さを鍛えられる。
例えばゴミを拾い集めて雑貨屋に積めば小銭が手に入る。
例えば祭壇に死体を捧げ続けると伝説の品が手に入る。
等々。
やらなくても勝てるかもしれないけど、やると明確に有利になるチマチマした作業がたくさんあります。
小さい優位を重ねていく過程は非常に楽しいもので、それだけで何時間も遊んでしまうほど。
必然的に無駄に細かな描写が増え、独特の雰囲気を演出することにも貢献しています。

情報の格差

そういう"小さなアドバンテージの累積"は楽しい体験をもたらすのですが、問題が一つ。
プレイヤー間の情報格差がそのままゲームプレイに直結することです。
殴られたらダメージを受けた、薬を飲んだら回復した等、即座に原因から結果が出る現象と比較すると、
ある一定期間の行動の蓄積が何かに反映されるというシステムはプレイヤーから見えにくくブラックボックス化しやすいです。
ブラックボックスが多ければ多いほど、ブラックボックスの中が見えるプレイヤーの方が有利に動けるのは必至。
"ソースコード読まない奴は損をしろ"スタイルならばそれで良いのですが、"誰でも公平に遊べるゲーム"を目指すなら避けることになります。
ソースコード読んだ奴がスポイラー書くから良いって?
それは"スポイラー読まない奴は損をしろ"になってるだけなので大体同じですよ。

煩雑さと情緒

DCSSの話をしましょう。
DCSSは"誰でも遊べるゲーム"の方向に舵を切っていて、"チマチマと動いて小アドバンテージを得る"動きを積極的に排除しています。
経験値プールをなくし、自在に経験値を割り振るようになりました。迷宮草を殴って体を鍛えるものはいなくなりました。
アイテム重量とアイテム破損を排し、ベースキャンプの重要性が減りました。巻物や薬が消えるストレスから皆が解放されました。
信仰値を稼ぐときの面倒事がなくなりました。祈らず、捧げず、普通に動いているだけで満足する神ばかりになりました。
矢弾の種類が大幅に減り、エゴと修正値がなくなりました。強い矢を選別する必要も温存する必要もなくなりました。
バッドノウハウが淘汰され、新たなプレイヤーが挑みやすいダンジョンに変化しています。
変化の代償として懐古厨が寂しさを覚えるわけですが、致し方のないところでしょう。

結論

めんどくさい単調作業にも風情はあり、消えるとそれはそれで寂しい。
めんどくさいダンジョンにソースコードやスポイラー頼りに潜るのが至高なので、たまにやるNetHackは楽しい。

次回予告

21日目はKataOcean氏で「製作者視点から見たローグライクの魅力」です。

ZinのRecite解析してみたの巻

この記事はRoguelike Advent Calendar 2016の13日目です。
あっというまに1/2が経過しましたAdvent Calendarですが、まだまだ参加者を募っております。どうぞよろしく。

事の発端

例のDCSS和訳プロジェクトをチマチマと進めておりまして、次の文書にぶつかったわけです。

Preaches to nearby monsters about Zin's laws for a short duration.


The recitation will have different effects depending on the target: the chaotic
and unclean will be affected by powerful and damaging effects, undead and
demons will be affected by weaker rebukes, and any other intelligent creatures
will have confusion sown amongst them, with heretics and priests of gods other
than Zin being punished much more strongly. The effectiveness of the recitation
is increased by Invocations skill.

この文章を見る限りだと、どうやらお経アタックしてばっちいモンスターと異教徒に大ダメージという技らしい。
が、ところどころどう訳したものかと悩んだのでとりあえずゲームの挙動を見ることに。

ソースに潜る

とりあえずability.ccを見てABIL_ZIN_RECITEを処理してるところを見る。
_do_abilityのcase ABIL_ZIN_RECITEを見ると、you.duration[DUR_RECITE]を増加させている。
ここではRECITE時間を開始しているということらしい。
次にyou.duration[DUR_RECITE]で検索するとplayer-reacts.ccで参照されている部分にぶつかる。
ここで毎ターンRECITE時間を減らしつつ、_handle_recitationを実行している。
では_handle_recitationは何をしてるか見てみると、視界内のモンスターにzin_recite_to_single_monsterを投げる処理をしている。
どうやらここが本体であるようだ。

zin_recite_to_single_monster

まずzin_check_recite_to_single_monsterを呼んでeligibilityを決定している。
対象のモンスターのCHAOTIC/IMPURE/UNHOLY/HERETICの4項目それぞれの属性がどれだけ大きいかを決定している。
CHAOTICはモンスターが混沌寄りであれば大きな値となる。
IMPUREはモンスターが不浄であれば大きな値となる。
UNHOLYは実体のないアンデッド or あらゆるデーモンなら1。ゾンビと幽霊ではお経の効き方が違うらしい。
HERETICは知性があれば+1、プリーストなら+1、デミゴッドなら+1、邪悪な神の信者なら+1、善神の信者や戦意のないものなら0。

次にUNHOLY→IMPURE→CHAOTIC→HERETICの順で見て、該当する属性があればprayertypeをそれに決める。
該当が複数なら前者が優先される。

次にパワーを決める。(祈祷スキル+3+信仰値*0.15)/2がpowerとなる。
これを対象のHD+1d6と比較する。
差分が基準値となる。(以下checkとする)

check>0のとき、対象になんらかの効果を与える。ただし50%で不発。

効果表

prayertype check eligibility effect 備考
HERETIC 0-4 1 DAZE eligibility==1は異教徒ではない
HERETIC 5-9 1 DAZE(50%) CONFUSE(50%)
HERETIC 10-14 1 CONFUSE
HERETIC 15- 1 CONFUSE(66%) PARALYSE(33%)
HERETIC 0-4 2- CONFUSE(50%) SMITE(50%) eligibility>=2は異教徒なので効果が凶悪
HERETIC 5-9 2- BLIND(33%) ANTIMAGIC/SILVER_CORONA(66%) アンチマジックが無効の相手には銀オーラになる
HERETIC 10-14 2- BLIND(33%) PARALYSE(33%) MUTE(33%)
HERETIC 15- 2- MAD(50%) DUMB(50%)
prayertype check effect 備考
CHAOTIC 0-4 ROT(50%) SMITE(50%) 腐敗耐性持ちなら必ずSMITE
CHAOTIC 5-9 SILVER_CORONA(50%) SMITE(50%)
CHAOTIC 10-14 IGNITE_CHAOS(50%) SILVER_CORONA(50%)
CHAOTIC 15- SALTIFY
prayertype check effect 備考
IMPURE 0-4 ROT(50%) SMITE(50%) 腐敗耐性持ちなら必ずSMITE
IMPURE 5-9 SMITE(50%) SILVER_CORONA(50%)
IMPURE 10-14 HOLY_WORD(50%) SILVER_CORONA(50%)
IMPURE 15- SALTIFY
prayertype check effect 備考
UNHOLY 0-4 DAZE(50%) CONFUSE(50%)
UNHOLY 5-9 CONFUSE(50%) SILVER_CORONA(50%)
UNHOLY 10-14 HOLY_WORD(50%) SILVER_CORONA(50%)
UNHOLY 15- SALTIFY

効果解説

DAZE 幻惑する
CONFUSE 混乱させる
PARALYSE 麻痺させる
SMITE SMITEを放つ
BLIND 盲目にする
SILVER_CORONA 銀のオーラで包み、銀に弱ければ毎ターン2d4-1点の持続ダメージ。さらに照明と同等の効果。
ANTIMAGIC 一定期間呪文の成功率を下げる
MUTE 永続的に静寂状態にして音の出るアクションを取れなくする
MAD 永続的に狂気状態にする。混乱と同等。
DUMB 永続的に無能状態にする。麻痺と同等。
IGNITE_CHAOS ダメージを与える。よりchaos属性が強い程大きなダメージとなる。
SALTIFY pillar of saltに変化させる。つまり即死。
ROT 腐敗させる。混沌や不浄の程度が強い程酷い腐敗となる。
HOLY_WORD 聖なる御言葉を放つ

翻訳の結果

ジンの法についての説法を短時間、近くのモンスターに対して行う。


この朗読は対象によって様々な効果を発揮する。
混沌のモンスターと不浄のモンスターは強力で損傷を伴う効果を受ける。
アンデッドとデーモンは少し弱く同様の効果を受ける。
他の知性あるモンスターは混乱するが、異教徒やジン以外の神の司祭はより強力に罰せられる。
朗読の影響力は祈祷スキルにより強化される。

まとめ

ZinのReciteの効果を解析してみました。
起動に1ターンかかりますが3ターン持続で視界内のモンスター全てに効果があり、雑魚にはそれなりに効きそうです。
なお、この解析に時間をかけまくってしまったので翻訳の方は進捗ダメです。

次回

dplusplusさんにバックパス!

DCSS和訳プロジェクト作業日誌

この記事はRoguelike Advent Calendar 2016の9日目です。
あっというまに1/3が経過しましたAdvent Calendarですが、まだまだ参加者を募っております。どうぞよろしく。

最近のDCSS和訳作業箇所

Transifexとの同期が取れて満足したので、ひとまずそっちは置いといて0.19の和訳をこっそり始めています。
なんやかんやでdat/descriptから手をつけることになりました。

dat/descriptにあるファイルとは

本家DCSSが多言語対応する気がある部分のファイルで、最初からkeyとvalueのペアが与えられています。
「key=value」の形にすればTransifexで使えるので、難しいことはなんにもありません。

これを

こうして

こうじゃ

というわけで、さくっとTransifexで作業できる環境を用意しました。
https://www.transifex.com/dcss/dcss-19ja/dashboard/
興味ある人は覗いてみてください。

さて、あとは和訳するだけです。

圧倒的更新力

0.16時点でdat/descript以下はそこそこ和訳されています。
本家0.16と0.19の間で変更がなかった部分の和訳はそのまま使えるので、とりあえずdiffとってみましょう。
まずability.txtから。

※左側のバーの色付いてるところが変更のあった行

……変更されてない部分の方が少ない。そんなばかな。
もちろん変更の少ないファイルもあるのですが、加筆修正の量が全体的に半端ないです。
既存の訳を使える部分を探すだけで一苦労ですねこれは。

というわけで

進捗ダメです。
一応変更のあまりなかったbackgrounds.txtだけはコンプリートしてみました。
https://www.transifex.com/dcss/dcss-19ja/translate/#ja/backgrounds/102117021
まだまだ未訳の部分、既訳分が反映されてない部分、訳されてるけど怪しい部分など盛り沢山です。
ツッコミ専も可能ですので皆様是非にご参加を。

次回予告

明日は10日目でhdy_wkbys氏の「Crypt of the Necrodancerが楽しかったのでその辺でなんぞ」の予定です。