leopardgeckoのブログ

Macの関連事項など

日本語版ローグ(Rogue 5.4)for macOS よもやま話 その4。<仕様変更>

以前の記事で公開したMac用日本語版ローグ(Rogue)についての雑談です。

jRogue for macOS(以下jRogue)には少しだけオリジナルとは変更しているところがあるのですが、今回はその説明をします。

オリジナルのRogue 5.4はHomebrewでインストールすることができますが、そちらで遊んだことがある人であればjRogueとの違いがすぐに目につくだろうと思います。パッと見たときにすぐわかる違いの一つは、jRogueでは背景を黒、文字を白に設定していることです。

Homebrew版Rogue 5.4を背景を白に設定しているターミナルで起動すると、以下のような画面になります。

f:id:leopardgecko:20170823163341p:plain

jRogueではターミナルの設定に関わらず背景は黒で表示されます。

f:id:leopardgecko:20170823163356p:plain

カラーモードでも同様です。

f:id:leopardgecko:20170823163411p:plain

黒を背景にしたのは、昔の端末はそういうものが一般的だっただろうということもあるのですが、一番はこの方がゲーム画面としてより適切であろうという考えからです。

もう一つの違いは、オリジナルはプレイヤーの位置にカーソルが表示されますが、jRogueではあえてカーソル表示をしないようにしています。これは私が外観をカスタマイズする上で参考にしたメッセージ分離型ローグの仕様を反映したものですが、カーソルの有無をじっくりと見比べた結果、カーソルはない方が美しいだろうという私の勝手な個人的判断も含まれています。ただしカーソルを消すとプレイヤーの位置がわかりにくくなってしまうのでオリジナルのままにしておくべきか非常に迷いました。オプションで選択できるようにしようかとも考えたのですが、やたらと複雑にするのも良くないだろうと思い、えいやっと思い切って現在の仕様に固定しました。

他にはオリジナルではスコア表示画面で最新のスコアの行が反転表示されない不具合があったので修正しました。また、遠くの怪物がわかる水薬を飲むと他の部屋にいる怪物が反転表示されるようになるのですが、jRogueの元になっている5.4pのソースではカラー表示の時は反転表示がされない不具合があったので関数を追加するなどして動作の修正を行いました。多分これはMacだけの問題ではなく元のWindowsLinux版でもカラーでは反転表示されないのではないかと思うのですが、私はWindowsLinuxも使っていないので検討できません。下の画像に遠くの怪物が知覚できる状態の例を出しますが、プレイヤーがいる部屋以外の怪物が反転表示されているのがお分かりになるかと思います。

f:id:leopardgecko:20170823170319p:plain

 

最後に、細かいところですがオプションの「持ち物の表示方式」が「上書き(Overwrite)」になるように修正しています。オリジナルのソースコードMacでそのままコンパイルすると「クリア(Clear)」がデフォルトになります。何が違うかというと、「上書き」の場合はマップを表示したまま画面の右上に持ち物を表示するのですが、「クリア」の場合はマップ画面をいったん消して持ち物だけを表示します。Rogueの歴史の中では「上書き」が最新の表示方式らしいのですが、当時は「clear-to-end-of-line」という機能を持たない端末は表示速度が遅くなるため、そういう端末では旧来の「クリア」がデフォルトになる仕組みになっていたようです。Macのターミナルでは「clear-to-end-of-line」の機能はないと判定されて「クリア」の設定になってしまうのですが、今のMacで表示速度が問題になることはありません。表示が速い端末では「上書き」で表示するのが開発者が意図した動作でしょうから、そのように修正しました。

これが「上書き(Overwrite)」の持ち物表示。

f:id:leopardgecko:20170823223835p:plain

こちらが 「クリア(Clear)」。マップなどの表示が画面からいったん消える。

f:id:leopardgecko:20170823223945p:plain

 

不具合の修正はともかく、オリジナルからの仕様変更はやって良いものかどうか悩むところです。私としてはRogueを単に歴史的な遺産としてそのまま保存するのではなく、2017年の今でも楽しく遊べるゲームとして再現したいと思っています。あくまで元のままのオリジナル性にこだわる方は、MacではHomebrew版のRogueをお使いになることをお勧めします。

(ただしHomebrew版には上述の持ち物の表示方式の問題とスコア表示の際に最新の行が反転表示されないという不具合もあるのですが・・・)