Roguelikeゲームのカラー設定で快適にする

この記事は Roguelike Advent Calendar 2021 の6日目の記事です。

Roguelikeゲームは淡々と画面のテキストを眺め続けることが多く、ステータス変化や敵の特殊攻撃などを見逃すと生存率に関わるので、文字の読み易さは重要だ。また、ASCIIのマップで地形やアイテム、敵の見落としは死に繋がる。しかし、デフォルトのカラー設定で暗い色が見えづらかったりするので、快適に遊べる様なカスタマイズを試みる。ちなみに私の環境Windows版の話です(覚書も兼ねて)。

「日本人は人種的に暗い色が見えにくいので、海外の映画で暗くてよく見えないシーンでも日本人以外にはちゃんと見えている」という話を以前に聞いたことがある(真偽不明)。コマンドプロンプトの黒背景に青文字とか私にはとても見づらいのだけど、海外では普通にUIとして大丈夫なのか!?

実際、海外の掲示Redditでも時折話題になる様だ。

各種ローグライクの保守・配布をされている、言わずと知れたY.Oz Vox様が、互換性と見やすさを重視した配色について考察されている。

yozvox.web.fc2.com

色の見易さなどは個人差も大きいと思われるので、以下に私の設定を紹介する。

変愚蛮怒

デフォルトでは青がとても見づらい(中央やや右、縦に長い茶色の壁の右側に、青で示される水がある)。

f:id:rhea:20211112194224p:plain

設定ファイルをいじらなくても、GUIで(?)設定できる(親切)。「&」キーでカラー設定に入り、「(3) カラーの設定を変更する」で各色を調整できる。「n・N」で色を指定、「r・R」「g・G」「b・B」でそれぞれRGBの色を調節する。

f:id:rhea:20211112194244p:plain

また、「(2) カラーの設定をファイルに書き出す」で現在の色設定を ./lib/user/キャラクター名.prf ファイルに保存できる。16進数のRGB値が分かれば、prfファイルをテキストエディタで編集して「(1) ユーザー設定ファイルのロード」から読み込むのも良い。一度設定ファイルを作っておけば、バージョンアップした際にも対応できる。尚、慢性ローグライク中毒症候群。様の「ユニーク色分けパッチ」を併せて導入すると危険なユニークモンスターを識別しやすくなって事故が減ります(減るとは言っていない)。

私の設定ではこんな感じ。

f:id:rhea:20211112194235p:plain

# カラー '白'
V:1:0x07:0xFF:0xFF:0xFF

# カラー '青灰色'
V:2:0x03:0x9F:0xA6:0xB5

# カラー 'オレンジ'
V:3:0x0C:0xFF:0x80:0x00

# カラー '赤'
V:4:0x04:0xFF:0x00:0x00

# カラー '緑'
V:5:0x02:0x00:0xBF:0x60

# カラー '青'
V:6:0x01:0x00:0xBF:0xFF

# カラー '琥珀色'
V:7:0x06:0xC0:0x84:0x00

# カラー '灰色'
V:8:0x08:0x95:0x95:0x95

# カラー '明青灰色'
V:9:0x0B:0xDB:0xDF:0xE4

# カラー '紫'
V:10:0x05:0xFF:0x55:0xFF

# カラー '黄'
V:11:0x0E:0xFF:0xFF:0x00

# カラー '明るい赤'
V:12:0x0D:0xFF:0x55:0x55

# カラー '明るい緑'
V:13:0x0A:0x55:0xFF:0x55

# カラー '明るい青'
V:14:0x09:0x00:0xFF:0xFF

# カラー '明琥珀色'
V:15:0x06:0xE4:0xC0:0x7A

Nethack/The Ground Gives Wayなど

実はWindowsコマンドプロンプト内で動いているので、ウィンドウ左上のメニュー「プロパティ」からカラー設定ができる。「既定値」の方から設定するとコマンドプロンプト自体のデフォルト設定になる様だ。

f:id:rhea:20211112201206p:plain

ひとつひとつ色を選んで調整しても良いのだが、既存のカラースキームを利用して一括で変更することもできる。

2017年にWindowsコマンドプロンプトのカラースキームのデフォルトが変更され、「ColorTool」というカラースキームを変更するツールも提供されている。

www.itmedia.co.jp

ColorToolを使えば、プリセットのカラースキームもいくつかあるし、数々のiTerm2用のカラースキームも利用できる。 -b オプションを使うとコマンドプロンプトのデフォルトが変更できる。

(プリセットの「Campbell」を使用する例)
ColorTool -b campbell.ini

Windows新デフォルトの「Campbell」でもまあまあだけど、まだ青が暗い。iTerm2用カラースキームの中で「NightLion v1」が良さげだったので、暗い灰色など少し調節したのが前述の変愚蛮怒のカラー設定だ。

尚、Console colors editorというサービスもある。様々なコンソール用のカラースキームを確認しながら調節して設定ファイルをダウンロードできる。

Cataclysm: Dark Days Ahead

前述の変愚蛮怒と同様のカラー設定を使用し、こんな感じの色合いになっている(フォントはJFドットぱう16)。

f:id:rhea:20211112201116p:plain

./config/ フォルダの base_colors.json ファイルをテキストエディタなどで編集し、RGB値で設定する。私の設定は以下の通り。

[
  {
    "type": "colordef",
    "BLACK": [ 0, 0, 0 ],
    "RED": [ 187,0,0 ],
    "GREEN": [ 94,222,143 ],
    "BROWN": [ 242,240,103 ],
    "BLUE": [ 38,106,215 ],
    "MAGENTA": [ 187,0,187 ],
    "CYAN": [ 0,217,223 ],
    "GRAY": [ 187,187,187 ],
    "DGRAY": [ 119,119,119 ],
    "LRED": [ 255,85,85 ],
    "LGREEN": [ 85,255,85 ],
    "YELLOW": [ 255,255,85 ],
    "LBLUE": [ 85,85,255 ],
    "LMAGENTA": [ 255,85,255 ],
    "LCYAN": [ 85,255,255 ],
    "WHITE": [ 255, 255, 255 ]
  }
]

ぶっちゃけ青を少し明るくするだけでもゲーム的には何とかなるが。