leopardgeckoのブログ

Macの関連事項など

日本語版ローグ(Rogue 5.4)for macOSを公開。

(注:ローグって何?という方は、Wikipediaあたりを参照してください。一言で表現するならば最初期の伝説的なRPGです。古いものですが病みつきになる面白さがあります)

前回データ分離版Rogue(ローグ)の記事を書きましたが、MacRogueを遊ぼうと思ったらどの方法を選ぶにしても結構面倒です。「それならばいっそのことMac用の日本語版Rogueを自分で作ってしまえば良いのではないか?」と思いついてしまいました。

日本で最も普及しているRogueWindows用の日本語版があるデータ分離版と思われますが、これはローグ・クローン2というものが元になっています。クローン2は名前の通りオリジナルのRogueそのものではなく、当時オリジナルのソースコードが公開されていなかったために動作をコピーして作られたものです。ソースからコピーしたわけではないので、見た目はそっくりですが内部動作には結構違いがあります。

現在はオリジナルRogueのソースも公開されていますので、今回はクローンの元になったオリジナルのRogueを日本語化してみました。ベースにしたのはRogueの最終版と言われるバージョン5.4です。おそらく日本語化されたRogue 5.4は他機種用も含めてこれが唯一のものだろうと思います。

ファイルはここからダウンロードしてください。

もともとのRogue 5.4はモノクロ画面のみでデータ分離版に慣れていると見た目が少々寂しいので、WindowsLinux用のカラー対応Rogueを作っておられるY.Oz Voxさんのソースを移植してカラー版にしてみました。(モノクロ画面でプレイすることも可能です)

プレイ画面はこんな感じです。(このターミナルの画面ではフォントはRicty Discordを使用しています。日本語が綺麗に表示できるのでjRogueにもオススメです。Ricty Discordについてはこの記事を参照)

f:id:leopardgecko:20161206002626p:plain

日本語訳とカラーの配色はデータ分離版を参考にしましたので見た目はほとんどデータ分離版と同じ(追記:最新版では独自のカラー配色に変更しています)ですが、中身はRogue Clone IIではなくRogue 5.4です。データ分離版との違いは、暗い部屋がある、アイテムの種類や数に違いがある、モンスターの強さに違いがある、巻き物や水薬は使った後に呼び名をつける必要があるものがある、などです。

また、Rogue 5.4では識別の巻き物が5種類もあるのですがこれを集めるのはかなり大変でゲームバランスも悪いように思いますので、Y.Ox Voxさんが5.4pで追加しておられる識別の巻き物を1種類にするオプションをこちらでも採用させていただきました。

(5.4のオリジナル性にこだわるならば5種類のままにしておくべきかもしれませんが、オリジナルでもバージョン5.2までは1種類しかなかったものであり、ローグ・クローンの系統でも1種類が採用されており、Rogue全体から見れば1種類の方がメジャーであろうと判断してオプションとして採用しました。)

日本語化の作業に関しては、MacUTF-8やマルチバイトの表示に初めから対応しているので日本語を表示させるだけならば難しいことではありませんが、表示の桁合わせや文字の削除などに少々苦労しました。日本語はUTF-8ではデータ量としては3バイトなのに表示は2文字分なので、ちょっと凝ったことをやろうと思うと一工夫必要になります。こちらはド素人なので、ちょっとしたことで壁にぶつかってはgoogleのお世話になる繰り返しでした。

特に大変だったのが日本語入力機能で、ここは一度は諦めかけましたが、オリジナル・ローグでは使ったアイテムに呼び名をつけるのが重要なポイントになるので日本語入力から逃げるわけにもいかず、試行錯誤の末に何とか実装できました。(出来あがってみれば単純な処理だったのですが・・・)

Macで日本語が入力できるということはつまりUTF-8のマルチバイト文字が使えるということですから、絵文字も使えます。例えば自分の名前に😀 を使ったり好きな果物を🍎 にしたりできます。

和訳は独自にやろうかとも思ったのですが、データ分離版の和訳の雰囲気が独特の魅力になっていると感じていましたので逆輸入のような形になりますがデータ分離版の和訳を使える限り使ってみました。Clone IIと5.4の違いもありますので完全にそのままというわけにはいきませんでしたが、新たに和訳した部分もデータ分離版の雰囲気から外れないように気をつけたつもりです。(追記:最新版では独自の和訳に変更しています

また、ソースコードを見るとプレーヤーが走ったり物を投げたり魔法のミサイルを飛ばしたりする時にはアニメ表示するようになっているのですが、今のコンピューターは表示が速すぎて全く動きが見えません。そこで動きが実際に見えるように少々手を加えてみました。これがおそらく本来のRogueの操作感なのだろうと思います。アニメ表示を省略する「jump」や「terse」というオプションがあるのですが、それらのオプションもこれで意味があるものになっただろうと思います。