DCSSトッププレイヤーの設定ファイル拝見

この記事は Roguelike Advent Calendar 2016 の14日目の記事です。


前回前々回の記事で設定ファイル周りをひとくさり書いてみました。

設定ファイルを自分で育てていくのもよいことですが、他人のを見てインスピレーションの助けとするのもいい経験です。
ここでは、先日行われたDCSS 0.19 Tournamentのベスト10プレイヤーの設定ファイルを拝見することにしましょう。

設定ファイルは公開されており*1、誰でも見ることが可能です。

  • Crawl 0.19 Tournament Leaderboard

http://dobrazupa.org/tournament/0.19/overview.html

■Yermak氏

0.18トーナメントに引き続き連覇のYermak氏です。各神・各種族・各職業(・Nemelex choice)でのクリアで獲得した得点が大部分を占めており、オールラウンドプレイヤーと言えるでしょう。

{
local need_skills_opened = true
function ready()
  if you.turns() == 0 and need_skills_opened then
    need_skills_opened = false
    crawl.sendkeys("m")
  end
end
}

ゲーム開始直後に'm'コマンドでスキル割り振り画面を開く機能ですね。毎回要る割に微妙に忘れがちなので便利です。
この例ではready()関数に直で書いていますが、別の関数も呼びたい場合は関数に切り分けるとよいでしょう。

[追記]:この関数は公式配布物のadvanced_optioneering.txtに含まれていたもののようです。

■UltraViolent4氏

message_colorへの設定が異様に多いです。
重要度別に色分けされており、並々ならぬ注力具合が感じられます。

■p0werm0de氏

前半はforce_more_messageへの追記、後半はgammafunk.rc(後述)からforce_more.luaを拝借している様子。

■Dynast氏

デフォルト設定のみ。これで15連続勝利達成というのは驚きです。

■Charly氏

hp_warning = 50以外はほぼデフォルトの模様。

■cosmonaut氏

spell slot設定が多い。後半はHilariousDeathArtist.rc(後述)から拝借しているようです。

■ParticlePhysics氏

force_more_message(--more--を強制するメッセージ)で強敵との出会い頭を警告する記述が主です。

runrest_ignore_messageへの追加で、自動探索中に生肉が腐っても無視して動くような動作になっています。

■hyperimplojin氏

force_more_message、flash_screen_message(画面をフラッシュさせるメッセージ)、auto_exclude(特定の敵を自動移動禁止エリアに指定)への追加に気合いが入っています。

■Manman氏

autoinscribe(アイテムに特定の銘を打つ)の記述が目立ちます。
コメントアウトされていますがhugedmg.rcは多分以下のようなやつですね。ダメージ警告関数の別実装。

include文で同鯖の別アカウントの*.rcファイルをincludeできるのは微妙な気もします。

■shummie氏

後述のHilariousDeathArtist.rcとgammafunk.rcの盛り合わせのようですね。

独自に定義された?skillto()関数は、特定のスキルを指定した数量まで上げるのを監視してくれるようです。
バックラー用に盾スキルをちょっとだけ上げたいとか、そういう時に便利でしょう。さらに低スキルレベル縛りプレイにも。

■その他の設定ファイル

あと、トーナメント上位者ではありませんがReddit等で設定例のおすすめに挙げられていたものを挙げます。

■HilariousDeathArtist.rc

各所で使われている人気のライブラリのようです。

前回の記事で書いた"You take 10 damage, and have 213/223 hp!"等表示するスクリプトもこれ由来だったようです。(HDamage.txtで定義)

■gammafunk.rc

開発チームの一人gammafunk氏のrcfileです。
様々なオプションについて詳細にお役立ち設定が記述され、Luaスクリプトも色々載っています。
そのまま使うもよし、オプションやLuaスクリプトの使い方のサンプルとして使うもよし。

■gretell.rc

プレイヤーの周辺にいる敵のスポイラーを出してくれる関数を提供する設定ファイルのようですが、中身を見ただけでヤバいですね。
qw.rcは200KB足らずでしたが、これは圧巻の600KB超えです。

ただ、現状メンテナンスされておらず0.19-stableではそのままでは動作しない模様。ベタ書きされているデータも古くなっているでしょう。

公式フォーラムでの当時のトピックはこちら。→ https://crawl.develz.org/tavern/viewtopic.php?f=17&t=12011

■終わりに

DCSSの設定ファイルは奥深く、それだけで記事が何本も書けてしまいそうです。
まあ設定ファイルを育てるのもいいけどダンジョンにもちゃんと潜ろうね!(白目)


次の記事はkudzu_naokiさんの「1-Bit Rogueのご紹介」です!


*1:そうでないとトーナメント運営がクラン設定を読めませんからね