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 ]
  }
]

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

Roguelikeゲームのフォント設定で快適にする

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

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

Cataclysm: Dark Days Ahead

デフォルトのフォント「Terminus-ja」は、ゼロに斜線が入っていて、¥記号がバックスラッシュなのは良いのだが、線が細く、ひらがなやカタカナが右上がりの楷書体風で少し見づらい(PC-98のフォントが思い出されて味はあるが)のと、中華フォントっぽい部分がありいまひとつ気に入らない。

f:id:rhea:20211112163746p:plain

「所」とか「紙」とか中華フォントっぽい。

f:id:rhea:20211113221247p:plain

フォントを色々変えてみよう。 ./data/font/ フォルダにフォントファイルを入れ、 ./config/fonts.json を編集する。

{
  "typeface": [ "data/font/●●.ttf", "data/font/unifont.ttf" ],
  "map_typeface": [ "data/font/●●.ttf", "data/font/unifont.ttf" ],
  "overmap_typeface": [ "data/font/●●.ttf", "data/font/unifont.ttf" ]
}
MSゴシック

やや線が細いが、見慣れた感じになり読みやすい。バックスラッシュが¥記号なのが気になるもののこれでも悪くない。ちなみにWindowsにインストールされているフォントは C:/Windows/Fonts/ から他のフォルダにコピーするとフォントファイルを取り出せる。

f:id:rhea:20211112164315p:plain

メイリオ

何だか線ががたがたしている。数字など端が切れている部分もある。「オプション→表示→フォント/表示調整」をオンにするとアンチエイリアスがかかるがいまひとつ。等幅フォントならいけるかと思い「MeiryoKe Console」も試してみたがあまり変わらなかった。アウトラインフォントは微妙っぽい(バージョン 0.F-3で確認)。

f:id:rhea:20211112164528p:plain

JFドット東雲ゴシック16

ビットマップフォントはきれいに見える様なので(MSゴシックはビットマップフォントを持っている)、自家製フォント工房様より導入。名作RPGUNDERTALE」のフォントがこれらしい。線は細いが、「Terminus-ja」よりは圧倒的に良い(中華フォントじゃないし)。ただ、ゼロに斜線がなく、¥記号がバックスラッシュじゃない(これは修正可能→後述)。

f:id:rhea:20211112165610p:plain

JFドット東雲ゴシック16 Bold

上記のボールド体。線が太くて読みやすい。PC-98内蔵フォントをソフトウェア的に太くしたDOSゲームを思い出す。

f:id:rhea:20211112165621p:plain

JFドットぱう16

これゲームやってる感じがして割と好き。ゼロに斜線が入ってるのも良い。

f:id:rhea:20211112170151p:plain

ただし、そのままでは¥記号がバックスラッシュじゃないので、ところどころいまひとつな感じになる。

f:id:rhea:20211112170517p:plain f:id:rhea:20211112170527p:plain

ビットマップフォントなら何とかいじれるかもと思い、FontForgeを使って編集。¥記号の部分にスラッシュをコピペして左右反転し、バックスラッシュに直してみた。しばらくこれでやってみよう。

f:id:rhea:20211112170734p:plain f:id:rhea:20211112170743p:plain

ちなみに、「JFドット東雲ゴシック16 Bold」の¥記号をバックスラッシュにしてゼロに斜線を入れてみたものはこんな感じ。このフォントはパブリックドメインなのでデータ改変/再配布可能なのですが、要望ありますか…?

f:id:rhea:20211113232515p:plain

Dungeon Crawl Stone Soup

デフォルトのフォントでも悪くはないが、線が細く、暗い色の文字が若干見づらい。

f:id:rhea:20211112171320p:plain f:id:rhea:20211112171330p:plain

フォントを色々変えてみよう。 ./dat/tiles/ フォルダにフォントファイルを入れ、 ./settings/init.txt に行を追記する。

tile_font_crt_file  = ●●.ttf
tile_font_stat_file = ●●.ttf
tile_font_msg_file  = ●●.ttf
tile_font_tip_file  = ●●.ttf
tile_font_lbl_file  = ●●.ttf
DejaVuSansMono Bold

デフォルトのフォントが「DejaVuSans Mono」っぽいので、ボールド体を探してきて入れてみた。違和感なくすっきりとしていて、読みやすくなった。

f:id:rhea:20211112171922p:plain

IBM Plex Mono Bold

IBM Plex」シリーズの等幅フォント。昔ながらのIBMフォントっぽいSerif体で、オリジナルRogueの様な雰囲気も出る。

f:id:rhea:20211112172857p:plain

Source Code Pro Black

Adobe製のコーディングフォントで有名な「Source Code Pro」。割と読みやすい。「Black」より少し細めの「Bold」もあったけどそんなに変わりはなく、太い方が読みやすい気がした。

f:id:rhea:20211112172934p:plain

ちなみに、「Segoe」とか色々試してみたけど、メイン画面が狭くなってしまう場合がある。条件はよく解らないが、プロポーショナルフォントだとだめなのだろうか?(バージョン 0.27.1)

f:id:rhea:20211112174523p:plain

変愚蛮怒Rogue Clone II for Win32など

設定ファイルをいじらなくても、メニューから設定できる(親切)。「MeiryoKe Console」が好み。

f:id:rhea:20211112175638p:plain

Nethack/The Ground Gives Wayなど

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

f:id:rhea:20211112174208p:plain f:id:rhea:20211112174219p:plain

尚、「The Ground Gives Way」についてはRoguelike Advent Calendar 2020のInfy様の記事「今年遊んだローグライクの紹介」へ。見た目の割にモダンなUIで、リソース管理に頭を使う感じ。

iOSのメモ帳をAndroidと同期する

ドコモ信者として携帯電話はAndroidなのだが、いかんせん電池が持たな過ぎて仕事に使うには厳しいのもあり、iPod touchを仕事用PDA*1として使っている。

大雑把に役割分担して使っていても、メモ帳なんかは同期したいので色々考えてみた。で、ひとまず落ち着いたのが下記。

Android側は、GNotesGmail内にメモ帳を保存するアプリ。

iOS側は、結局純正のメモ帳。OSの基本機能で「メール/連絡先/カレンダー」からGmailアカウントを追加し、メモの同期をオンにする。*2


これはGNotesとiOSのメモ帳がたまたま同じ「Notes」というラベルを使っているからできるのかも知れない。GNotesの説明文には「iOSと同期したい場合には有料版のiNotesを使ってね」的なことが書いてあるので、将来的に使えるか未定。

他、Evernoteが一番簡単な気もしたが、メモ帳として使うには重い。Dropboxを使うメモ帳アプリも考えたが、iOSAndroidとでうまく同期できるものが見つけられなかった。探せばまだあるかも知れない。

*1:最近PDAという言葉を聞かなくなったな…。

*2:ちなみにGoogleカレンダーと連絡先はMicrosoft Exchange(Google sync)の機能で同期している。

RogueLike

Twitterで「用心しろ!13日の金曜日にはよくないことがある」と誰かが書いてるのを見て、(すぐに元ネタを思い出せなかったが…)久し振りにNetHackがやりたくなった。

当時(?)はRogueNetHackしか知らなかったが、調べていたらRogueLikeには派生が色々作られている様。にわかだが、Zangband、ToME、変愚蛮怒など*band系、Dungeon Crawl、Omega、(既にRogueLikeと呼べない?)Elona、などなど。壮大すぎて手が出せない。

いくつか試しに動かしてみたが、Dungeon Crawlのメッセージで早速吹いた。ゲームを放棄するコマンドを実行すると「あなたは死にました……」と表示され、

ダンジョン1階にて生きる事を放棄した。

とのこと。一体何があったのか問い質したくなる。

Zangbandも厳しい。ゲームをやめるコマンドで「本当に自殺しますか?」と訊かれ、実行するとあっさり死亡。

<自殺>
町で死んだ。

人生は冒険。冒険をやめるとは、すなわち死。

ちなみに、懐かしのRogue Clone IIでは逃亡扱い。

逃亡により行方不明。所持金は$0。

JNetHackは逆に、うまいこと逃げおおせた人みたい。

○○は運命の大迷宮の地下1階にて抜けた。

NetHackは冒頭に書いた様に13日の金曜日を教えてくれたりと細かく気が利いていて、ゲーム性も深い。レッツプレイ、NetHack!(桜玉吉「なげやり」風に)

追記

2chでもunix板のNetHackスレぐらいしかないな、と思ってたら、したらば掲示板の@の溜まり場IIで主にvariant系の話が行われていた。
そこで知った、Brogueというのがいい感じ。元祖Rogueを継承しつつ、新要素盛り沢山、グラフィカルなアスキー表示(?)、コマンドはむしろシンプルになってインターフェスは解りやすく、他の複雑化したvariantに手を出しづらかった所にいいのを見つけた。

SKKFEP登場

MS-DOSの昔にATOK 8の道に入り、バージョンアップしながらATOKと付き合ってきたが、Windows XPになった頃に何となくskkimeを入れたのを契機に、以後SKKを使い続けている。skkimeバージョンアップが止まって悲しい気持ちになっていたら、coexe氏によるSKKIME 1.5改が登場し、ありがたく使わせて頂いていた。

SKKIME 1.5改に大きな不満はなかったが、Microsoft Wordで編集しているとUIが見えなくなることが時々あり(再現条件は不明)、Word消えろ*1と夜な夜な思っていたところ、最近同じ作者によりSKKFEPが登場した。

まだ少ししか使っていないが、作者の方の哲学が見え隠れして良い感じである。SandS機能内蔵がステキ。Wordでの不具合も現時点では再現していない。テキストの設定ファイルも懐かしい(仕様が解りにくいけど)。

ただ、時々ユーザー辞書が初期化されることがあり(PCを再起動した時が多い?)、まだ人柱感がある。オリジナルにあった色々な機能が未実装なのと、辞書サーバー未対応なのも、メインで使いづらい。今後に期待。

CorvusSKKというのもある様だ。今度使ってみよう。

*1:正確には「テキストデータの受け渡しにWordファイルを使う文化消えろ」