leopardgeckoのブログ

Macの関連事項など

油性ZOOM505のジェットストリーム化。

2018/3/14 追記:最近、ついにパーカー互換のジェットストリーム替芯が出ました。ラインナップは黒の0.5mmと0.7mmです。これを使えばこの記事で紹介したリフィルアダプタを使う必要はありません。ジェットストリーム化するだけならこの記事はもはや用済みですが、黒以外の色やアクロインキなど他メーカの4c芯を使いたい時もあるでしょうしアダプタが途中で引っかかっても削れば使えるという参考のためにも記事は一応残しておきます。

 

今回はMacとは何の関係もないボールペンの話題ですが、このまま埋もれさせるのもちょっともったいないかなと思ったのであえて書いてみます。

ZOOM505というボールペンがあります。それほど高価なものでもないのですが、デザインがシンプルで格好良く、低重心で持ちやすく、握るところがラバーで滑りにくく、ラバーの先がわずかに太くなっているので押し付けるように書く時でも安定感があり、お気に入りのボールペンです。ボールペンは高級だからといって必ずしも持ちやすいとか書きやすいとは限らないのが面白いところです。

f:id:leopardgecko:20170220135905p:plain

このボールペンは基本的に水性タイプの芯なのですが、水性ボールペンは乾くまで時間がかかったり質の悪い紙に書くとにじんでしまうという弱点があります。個人的にその手の紙に書く機会が多いので油性があれば良いなと思っていたのですが、実はしばらく前に油性タイプが出ており、さらに30周年記念モデルというものにも油性タイプがあることをつい最近知りました。通常モデルの油性タイプは少し黄色がかったマットのシルバーしかないのですが、30周年記念モデルはピカピカの普通のシルバーです。ブラックの油性モデルがあれば一番良かったのですがないものを望んでも仕方がないので、30周年モデルを買ってみました。

芯は油性としてはごく普通の書き味で特に書きやすいとか書きにくいとかはないのですが、近年人気の低粘度油性(ジェットストリームやアクロインキなど)に比べると書き始めがかすれたり字の濃さが一定でなかったりと見劣りしてしまいます。また、細かい字を書くには線が少々太いのも気になりました。そこで、芯を入れ替える作戦を立てました。

油性ZOOM505の芯はいわゆるパーカータイプです。パーカー互換の替芯は何種類かあるのですが、低粘度かつ0.5mm程度の細芯はないようです。パーカータイプでそのような替芯を使う方法として、リフィルアダプターというものを使う手があります。アダプターを介することによりいわゆる4Cタイプの替芯が使えるようになりますので、4Cタイプの替芯があるジェットストリームも入れられることになります。

早速パーカー用のリフィルアダプター(PK-01)ジェットストリームの替芯(SXR-200-05)を入手して入れ替えてみましたが、アダプターが途中でつっかえて最後まで入りません。元々入っていた芯とアダプターの形状を見比べてみると、芯の胴体は先が細くなっているのですがアダプターの方はそこまで細くありません。わずかな違いですが、ここが問題なのでしょう。

f:id:leopardgecko:20170220141326p:plain

アダプターはアルミ製のようなので、ダイソーで入手したダイヤモンドやすりを使って先を削ってみることにしました。少し削っては入れてみる、ダメならさらに削る、という手順を繰り返し、ようやくアダプターを入れることができました。替芯はアダプターと先端の2ヶ所にわずかに遊びがあってカタカタしていたので、替芯のその2ヶ所にセロテープを1周分だけ巻きつけてみたところカタカタはなくなりました。

f:id:leopardgecko:20170220134448j:plain

 これで握りやすいZOOM505と書きやすいジェットストリームの組み合わせが完成しました。多少の追加費用と手間はかかりますが、個人的にはそれだけの価値はあると思っています。

 

ちなみに、同じように手頃な価格でシンプルなデザインと質感が良いボールペンとしてOHTOのリバティというモデルがあります。重心バランスやグリップの安定感はZOOM505の方が良いと思いますが、このボールペンは替芯の選択肢が非常に広いという特徴があり(リバティという名前の由来でもある)、ジェットストリーム化も簡単です。面倒な改造はしたくないとか色々な替芯を使ってみたいという方にはこちらもお勧めです。

 

また、油性にこだわらない場合は、水性のZOOM505ぺんてるのスリッチというゲルインキボールペンの芯の長さを合わせてカットして入れるという手もあります。スリッチの0.25mmだとジェットストリームの0.5mmより少し細い感じです。簡単に極細のゲルインキが使えるようになるので、細字が好きな方にはこれもお勧めです。ぺんてるのLRNシリーズゼブラのJFシリーズフリクションのLFBKRFシリーズも同じようにカットすれば一応入れられますが、先端が出過ぎてしまうので先端付近にセロテープなどを巻きつけて太さを調節する必要があります。

 

パーカー互換で低粘度油性かつ0.5mmくらいの細字リフィルがあれば売れると思うんですが、どこかで出してもらえないものでしょうか・・・

 

日本語版ローグ(Rogue 5.4)for macOS 重大アップデート。

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

 

本日、和訳を修正したjRogueの最新版をアップしました。

修正箇所はわずかなものですが、個人的にはかなり重要な修正だと思っています。具体的には、ゲームをクリアした時のメッセージの修正を行いました。もともとこの部分はデータ分離型のメッセージをそのまま使っていましたが、オリジナルの英文と比べてみると重大な違いがあることに気がつきました。ここは添付文書の【運命の洞窟へのガイド】の導入部と対になる部分でもあり、訳が正しいものでないとローグの世界観というか主人公のストーリーが完結しないのです。

データ分離型のメッセージがやや意味を外した訳になっているのはおそらくファンタジーがあまり一般的ではなかった時代によるものだと思います。あまり知られていない単語をそのまま訳しても意味がわからないかもしれないという配慮によるものだったのでしょう。今はわからない言葉があってもすぐに検索することができますから、ここは正しい訳に直しておくべきだと考えました。ネタバレになってしまうので回りくどい言い方になってしまい申し訳ありませんが・・・

データ分離型ローグをクリアしたことがある方は、ぜひともこのjRogueでのクリアも目指してください。【運命の洞窟へのガイド】の導入部を読んでいればデータ分離型ローグのクリアメッセージには少々違和感を覚えるでしょうが、最新版jRogueのクリアメッセージには矛盾がなく納得がいくものだろうと思います。

 

データ分離型では他にも時代によると思われる訳があり、例えば【運命の洞窟へのガイド】の導入部では「elf」を「妖精」と訳しています。これはもちろん間違いではないのですが、ファンタジー世界で「エルフ」と言えばJ.R.トールキンの「指輪物語」に出てくるエルフのイメージが多かれ少なかれ含まれているものだろうと思います。おとぎ話に出てくるような妖精ではなく、特殊な力を持った超人的な種族としてのイメージです。(「指輪物語」と言われてもピンとこないかもしれませんが、映画の「ロード・オブ・ザ・リング」の原作本といえばお分かりになる人は多いでしょう)

当時は「エルフ」と訳しても何のことだかわからない人も多かったと思いますが、今は「ロード・オブ・ザ・リング」や「ホビット」のおかげでトールキン的なエルフのイメージもだいぶ知られるようになったでしょうし、知らなかったとしても現代ではネットで検索すればイメージを掴むのはそれほど難しいことではないと思います。そこでjRogueの添付文書では「エルフ」という訳語を使いました。

 

私自身が気がついたところは適宜修正していますが、まだおかしなところやわかりにくいところなどは残っているだろうと思います。もし気がついた点があればお知らせいただければ幸いです。

日本語版ローグ(Rogue 5.4)for macOS よもやま話 その2。<細部のこだわり>

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

当初はこのブログから直接ファイルにリンクしていましたが、ブログでアプリを配布するのも如何なものかという気もしますので、ファイル配布用のサイトを作ってみました。

リンクはこちら。

もしダウンロードした方がいらっしゃいましたら、感想でもご要望でもお叱りでもなんでも良いのでなんらかのリアクションをいただければ嬉しいです。

 

以下はよもやま話です。

この日本語化の作業で初めてRogueソースコードをじっくり見たのですが、30年も前の古いゲームなのに細かいこだわりがあちこちに見られて驚きました。

例えば指輪や杖の材質、水薬などの色の設定がやたらとたくさんあるのです。それぞれ20〜30種類くらいの設定があり、杖(staff)の材質は木材で魔法の棒(wand)は金属という決まりもあります。しかもこれらの設定はゲームの展開には一切影響を及ぼさないのです。

f:id:leopardgecko:20170808140436p:plainf:id:leopardgecko:20170808140519p:plain

RPGやファンタジーに詳しい人ならば常識なのかもしれませんが、「staff」と「wand」の使い分けにも面食らいました。Rogueでは魔法が使える「stick」がstaffとwandの2種類に分類されています。イメージとしてはstaffがロード・オブ・ザ・リングガンダルフが持っているような大きな杖で、wandがハリー・ポッターが持っているような小さめの棒といったところなのでしょうか。データ分離版ではstaffもwandも「つえ」としてまとめているようですが、今回の日本語版では「つえ」「魔法の棒」と分けてみました。どちらも魔法のstickとしては同じ機能ですが、staffは武器としても使えるという違いがあります。

魔法の巻き物の設定も異様に凝っていて、名前は150種類くらいの音節が設定されていてそこからランダムに作られています。おそらく全く同じ名前の巻き物が出てくることは二度とないでしょう。

f:id:leopardgecko:20170808140552p:plain

これらを全て日本語に置き換えるのは結構大変な作業でしたが、そもそもこんな設定を作ること自体が大変なことだったでしょう。何せ、木材だけでも30種類以上の設定があるのです。これはおそらく何度プレイしても以前に見たような展開にならないようにする工夫の一つだったのだろうと思います。

 

表示の設定も細かくできています。簡潔な表示に設定するとメッセージが微妙に違ってくるのですが、ここまでの微妙な違いをこれほどたくさん用意する必要があったのかと思います。通信速度が遅かった時代には実際に意味があった設定なのかもしれませんが・・・

データ分離版では主語があまり使われていません。これはおそらくデータ分離版の元になったClone IIがオリジナルの簡潔表示を元にしたメッセージを使っていたために、簡略表現としてそのような形をとっていたのでしょう。オリジナル版のデフォルトは簡潔表示ではないので、データ分離版に比べると全体的にやや長めのメッセージになっています。オプションから簡潔表示をオンにするとデータ分離版っぽいメッセージになります。

 

幻覚を見ているときにはメッセージが微妙に変わるという設定もあちこちに散りばめられています。例えば武器に魔法をかける巻き物を読んだ時は武器が銀色に光るのですが、幻覚を見ている時にはその色がランダムに変更されます。空腹になった時や食料を食べた時のメッセージも違います。そのような仕掛けがあちこちにあるのです。これもゲームの展開には全く関係がない設定ですが、限られた表現の中でどうやって多様性を出すかと考えた結果でしょう。

データ分離版にも同じような演出はありますがここまでは細かくないので、オリジナル版ならではの楽しみの一つと言えるでしょう。

 

また、おそらく動作確認用として、ほとんどあらゆることができるようになるwizardモードという隠し機能があるのですが、一般プレーヤーが使うことはないと思いますがこれも凝った設定になっています。wizardモードで迷宮をウロウロするだけでも結構楽しめます。ほぼ無敵になってしまうためスリルはありませんが。(申し訳ありませんが、公開版ではwizardモードは使えない設定になっています)

 

見た目はシンプルでも意外と奥が深いというのはRougeの魅力の一つだろうと思います。冒険と戦いのスリルを味わうだけではなく、幻覚の水薬をあえて飲んでメッセージの変化を楽しんだり、「今度出てくる杖の材質は何かな」というような視点を持ってみても面白いのではないでしょうか。

日本語版ローグ(Rogue 5.4)for macOS よもやま話。<コンセプト>

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

 

私がRogueに触れるきっかけになったのは、後藤寿庵さんがMac用に移植されたデータ分離版Rogueでした。Rogueの存在自体は昔から知っていましたが、実際にプレイするのはそれが初めてだったのです。これには随分はまりまして、ついにはイェンダーの魔除けを手にして洞窟から生還することができました。ところが残念ながらこのアプリは今のMacでは起動することができません。前に書いた記事のように手間をかければ他のデータ分離版Rogueで遊ぶことはできますが、これではハードルが高すぎて普通の人はなかなか手が出せないでしょう。手軽に日本語版Rogueで遊ぶにはどうすれば良いかと考えた末に、自分で作ることにしました。

コンセプトは、「Macで手軽に遊べる親しみやすいRogue」です。

しかし一言にRogueといっても現在公開されているものには様々なバージョンがあり、どれを選ぶのかで少々悩みました。Rogueには二つの大まかな系列があり、一つはオリジナルのRogue、もう一つはデータ分離版の元になったクローンの系列です。

クローンの系列にはデータ分離版などの親しみやすい日本語版があり、操作感が軽快でとっつきやすいのもポイントです。最初のうちはおっかなびっくり一コマずつ移動していても慣れてくると通路などはバーっと走りたくなります。Rogueにはちゃんと走るためのコマンドがあって、データ分離版では曲がり角でも止まらず一気に駆け抜けてくれます。カラーの配色は見やすく雰囲気も出ていて良い感じです。

一方、オリジナルのRogueはデフォルトの設定では走る時に曲がり角で止まってしまう、カラー対応していない、scroll(巻き物)やpotion(水薬)を使った後にいちいち呼び名をつける必要がある、などなど面倒くさいところがあるのですが、オリジナルならではの魅力として「暗い部屋」があります。データ分離版ではどの部屋でも入った途端に隅から隅まで見渡すことができるのですが、オリジナルでは暗い部屋は自分の周りしか見えません。これがスリルがあって良いのですね。魔法の灯りの杖を振るとパッと明るくなるというカタルシスのようなものも味わえます。

怪物の強さにも少々違いがあって、データ分離版ではケンタウロスが出てくるあたりから突然に難しくなるのですが、オリジナルではそこまで急激な変化はないので中盤からやたらと死にまくるというような展開はありません。

 

考えた結果、オプション設定などを駆使してデータ分離版っぽいオリジナルにすれば一番面白いRogueになるのではないかとの結論を出しました。見た目や操作感をなるべくデータ分離版に似せて、中身はオリジナルの最終版であるRogue 5.4という形です。

ソースを改変してデータ分離版のように使ったアイテムを自動判別するオプションも追加してみたのですが、これはさすがに逸脱しすぎかなと思って最終的にはボツにしています。外観以外の機能的には後述する5.4pから移植したもの以外の独自要素は加えないことにしました。やりすぎるとRogue 5.4ではなくなってしまいますので・・・。

 

Y.Oz Voxさんがカラー化したRogue 5.4pというものを作っておられますので、最初はそれの日本語化を試みました。いったん完成はしたものの、5.4pはもともとWindowsLinux用として作られており、Macコンパイルするとセーブしたゲームを再開した時に異常終了してしまうという致命的な不具合がありました。これを最後まで直すことができなかったので公開は断念しました。

別のところで入手したRogue 5.4.4のソースをコンパイルしてみたところ上記の不具合は出ませんでしたので、一からやり直してこれをベースにして日本語化した上で、5.4pのカラー化や識別の巻き物を一種類にする設定などの独自仕様を移植してみました。これが案外うまくいったので最終的な採用版になりました。バージョン名は一応5.4.5Jとしましたが、実際には5.4.4と5.4.5(5.4p)のハイブリッドで中間的なものです。

ちなみに作業の途中でバージョン3.6や5.2にも手を出してみたのですが、これらは色々な理由でうまくいかず断念しました。

 

日本語訳に関してはデータ分離版のもの(おそらくローグ・クローン2日本語版を作った太田純さんによる訳)が個人的にかなり好きなので、あえて独自の和訳はせずにほぼそのまま使わせていただきました。この和訳があるからこそデータ分離版には独特の親しみやすさがあるのだろうと思います。

カラーの配色もどうするべきか悩みました。5.4pはIBM-PCやPC 9801/8801を参考にしているそうですが、個人的にはデータ分離版の配色の方が好みです。また、ゲーム中のメッセージを見ると部屋の明かりは青とされているようですので、データ分離型の床が青いのはRogueの世界観にも合致します。デフォルトの配色はデータ分離型に準ずるものとして、PC-9801/8801の配色のオプション(brightモード)だけ残すことにしました。

 

また、親しみやすさの一環として、ターミナル用の実行バイナリだけでなくMac用のアプリとしてGUIで起動できる環境も用意したいと考えました。とはいっても私はド素人ですから難しいことはできません。Applescriptを使ってスタンドアロンのアプリっぽいものをでっち上げてみました。ただ起動するだけのアプリではなく、オプションを選べるようにしてみました。Rogueはオプションを駆使すると結構色々な設定ができるのですが、それをGUIから手軽に体験できるようになったと思います。

 

CUI版も併せて公開しましたが、独自仕様で起動するGUI版とは違って元のRogue 5.4のデフォルト設定のままで起動します。CUI版を使う人ならば環境変数などでご自身でお好きな設定にすることができるでしょうから、あえてシンプルにオリジナルのままです。

 

今の時代にコンピューター黎明期のゲームであるRogueがどれほど需要があるものかわかりませんが、単に歴史的な意義のあるRPGというだけでなく気軽に遊べるゲームとして今でも十分に楽しめるものだろうと思います。

日本語版ローグ(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」というオプションがあるのですが、それらのオプションもこれで意味があるものになっただろうと思います。

 

macOSでデータ分離版ローグ(Rogue)を遊ぶ。

2016/12/8 追記:ここで紹介している方法は色々と面倒なので、もっと手軽に遊べるMac用の日本語版ローグ(jRogue for macOS)を作りました。こちらの記事を参照してください)

 

ローグ(Rogue) というのは知る人ぞ知るロールプレイングゲームの元祖的な存在です。元々は英語版のゲームですが、有志により古くから日本語化されています。現在一般的な日本語版Rogueは「データ分離版」とか「メッセージ分離型」と言われるもので、要はアイテム名やメッセージの部分だけ別のファイルに分離して日本語化されているものです。

かつてはMac用のアプリも存在していたのですが、時代の流れでそのアプリは今のmacOSでは実行できなくなってしまいました。そこでデータ分離版Rogueを今のMacで遊ぶ方法をいくつかご紹介します。

 

一つはテキストエディタvim上で動作するrogue.vimです。vimマルチプラットフォームなので、Mac用のvimを使えばrogue.vimも動きます。vimif_luaが有効になっている必要があるとのことなので、最初から有効になっているMacVim-Kaoriyaを使うのが手っ取り早いでしょう。インストールの方法はそれぞれのサイトを参照してください。macOS sierra(10.12.1)で動作確認済みです。

 

もう一つの手段は、Windows用のRogueMacで動かすというものです。Windows用アプリをmacOS上で実行できるWineというアプリを使います。Wineもいろいろなバージョンがありますが、日本語環境が最初から整えてあるEasyWineが一番手っ取り早いでしょう。少々大げさな手段かもしれませんが、Wineを入れておけば他のWindows用アプリも使えますから何かの役に立つこともあるでしょう。EasyWineを導入したら、へぽぽのソフト工房さんから「Rogue Clone II for Win32 Version 1.3.4」をダウンロードします。解凍してできたフォルダの中にある「Rogue.exe」をダブルクリックすればEasyWine経由でRogueが立ち上がるはずです。これもmacOS sierraで動作確認済みです。

 

最後に紹介するのが一番正統派っぽい方法で、ソースからコンパイルしてターミナルで実行するというものです。こういう形が本来のRogueの在り方でしょうが、やや手間がかかります。Xcodeなどの開発環境はすでに入れてあるものとして、まず、rougeclone2s (データ分離版ローグ・クローンII メンテナンスバージョン のUTF-8版)からソースをダウンロードしてファイルを展開します。普通はそこからターミナルで

./configure
make
make install

と入力する流れになるのですが、これをそのままやってもエラーが出てコンパイルできないので、まず

./configure CFLAGS="-g -O2 -w" LDFLAGS="-lcurses -liconv"

と入力します。あとは普通に

make
make install

でOKです。

rogueの本体は「/usr/local/bin/rogue」に入ります。データ分離版Rogueは起動時にメッセージファイルを指定する必要がありますが、そのファイルは「/usr/local/share/rogue/mesg」にあります。「/usr/local/bin」が実行パスに含まれていれば、ターミナルで

rogue /usr/local/share/rogue/mesg

と入力すればRogueを始めることができます。

いちいちターミナルでコマンドを打つのは面倒くさい!という場合は、CotEditorを使って以下のようなテキストを書いて、

/usr/local/bin/rogue /usr/local/share/rogue/mesg

保存の際に「実行権を付与」にチェックを入れ、ファイル名の最後に「.command」という拡張子をつけます。これでこのファイルをダブルクリックするだけでターミナルが開いてRogueが立ち上がります。

macOS sierra(10.12.1)でコンパイルしたRogueの実行を確認していますが、私の環境ではコントロールキーを組み合わせたコマンドがうまく働きません。それは使わなくてもゲーム進行に大きな支障はありませんが、その点はご注意ください。

おまけ情報として、make installするとmanファイルもインストールされるのですが、そのままではまともに表示ができないので少々修正が必要です。まず日本語のmanを表示させる環境を整える必要がありますので、この辺りを参照してください。次に、Rogueのmanファイルは「/usr/local/share/man/man6/rogue.6」にありますが、そのファイルの文字コードUTF-8に変換し(変換にはCotEditorでもnkfでもお好きなものを使ってください)、/usr/local/share/man/ja/man6/」に移動させます。これで「man rogue」で日本語で表示されるようになります。

 

また、日本語版にはこだわらない、データ分離型ではなくて本家の英語版Rogueを楽しみたい、という場合には、Homebrewが入れてあればコマンド一発でインストールできます。これが一番簡単でしょう。このRogueのバージョンは5.4.4で、おそらく最終バージョンです。

brew install rogue

GeekToolでディスク容量を整理して表示する。

2019/1/31 追記: これは古い情報です。改定版は下のリンクから。

leopardgecko.hatenablog.com

 

GeekToolでハードディスクなどの容量を表示するために普通使われているスクリプト

df -hl

のようなものでしょう。これはこんな感じの表示になります。

f:id:leopardgecko:20161101110104p:plain

ご覧の通りかなりゴチャゴチャしており場所も取ってしまうので、もっとシンプルに見やすく整理したくなるのが人情というものだろうと思います。

内蔵ディスクのみを表示するならばFilesystemを決め打ちして必要なフィールドだけ取り出すというシンプルな技が使えるのですが、外付けドライブやSDカードやネットワーク経由でマウントしているものなども表示させたい場合には少々の工夫が必要になります。

 

情報をトータル容量と使用容量と空き容量とディスク名に絞り、外付けドライブやネットワーク経由のマウントも表示させるスクリプトは以下の通りです。フォントは等幅のものを指定してください。

df -h | grep 'Filesystem\|/dev/\|/Volumes/' | awk '{for(i=2;i<=4;i++){gsub("Ti","TB",$i);gsub("Gi","GB",$i);gsub("Mi","MB",$i)};printf " %5s  %5s  %5s  %8s  ",$2,$3,$4,$5;for(i=9;i<=NF;i++)printf $i" ";print ""}'

例えば二つの外付けディスクを使用している場合には以下のような表示になります。

f:id:leopardgecko:20161031211403p:plain

だいぶスッキリした感じになりました。

 

ここで終わりにしても良いのですが、さらに一歩進んでこんな感じの表示にしてみます。

f:id:leopardgecko:20161031230235p:plain

一番上の行に下線をつけて、ドライブ名をFinderでの一般的な表示にして左側に移し、使用量の割合にグラフを追加しています。

このgeekletにはちょっとしたトリックがあります。日本語などのマルチバイト文字が含まれるときれいに桁合わせができなくなってしまうので、ディスクドライブの名称のみを表示するgeekletとディスク容量を表示するgeekletの二つを作り、その二つを同じ座標で重ねて表示しています。

 

まず、ディスク名を表示するスクリプトは以下の通りです。起動ドライブの名称は「df」から取得すると名無しになってしまうので「Macintosh HD」に決め打ちしています。他の名前に変えたい場合はスクリプトの該当部分を書き換えてください。その他のディスク名はFinderで表示されている名前と同じものになるはずです。

echo
df -h | grep '/dev/\|/Volumes/' | awk -F"/Volumes/" '{printf "%.15s",$2;print""}' | sed -e 's/^$/Macintosh HD/'

 

 

次に容量とグラフを表示するスクリプトです。グラフ表示のため少々複雑な処理になっています。「df」で取得したデータを一行ずつ配列変数に代入して、for文で一行ずつ処理していくという方法でなんとか整形しています。

echo "\033[4mDrive             Size   Used  Avail         Capacity\033[0m"
diskdata=(`df -h | grep '/dev/\|/Volumes/' | awk 'BEGIN{OFS=","}{print $2,$3,$4,$5}' | sed -e 's/Mi/MB/g' -e 's/Gi/GB/g' -e 's/Ti/TB/g' -e 's/\%//g'`)
for (( i = 0; i < ${#diskdata[@]}; ++i ))
do
    diskcapa[$i]=`echo ${diskdata[$i]} | awk -F, '{print $4}'`
    printf "                "
    echo ${diskdata[$i]} | awk -F, '{printf(" %5s  %5s  %5s  ",$1,$2,$3)}'
    typeset -i b=9
    while [ $b -lt ${diskcapa[$i]} ]
    do
        echo "\033[0;37m▇\033[0m\c"
   	b=`expr $b + 10`
    done
    while [ $b -lt 100 ]
    do
        echo "\033[0;30m▇\033[0m\c"
        b=`expr $b + 10`
    done
    printf " %3s%%\n" ${diskcapa[$i]}
done

この二つのgeekletを全く同じ座標に置けば提示した画像のような表示になります。

 

今回紹介したスクリプトは新たにSDカードなどをマウントして表示をリフレッシュさせた時には表示行数がその分だけ増えますので、geekletの表示サイズは縦に少し余裕を持たせていた方が良いでしょう。

 

今回紹介したスクリプトを使ったgeekletは下記からダウンロードできます。

[Geekletのダウンロード]