┌──────┬────────┬────────┬────────┐ │      │Freeware    │BSD (GNU?)   │Sell      │ ┝━━━━━━┿━━━━━━━━┿━━━━━━━━┿━━━━━━━━┥ │1981    │Rogue 3.6    │        │        │ │      │┃       │        │        │ │1982    │Rogue 5.1    │        │        │ │      │┗━━━━━━━━┓       │        │ │1983(!?)  │        │Rogue 5.3    │        │ │      │        │for BSD 4.2   │        │ │      │        │┗━━━━━━━━┓       │ │1983    │        │        │Rogue 1.0    │ │      │        │        │for IBM-PC   │ │      │        │        │┃       │ │1984    │        │        │Rogue 1.1    │ │      │        │        │for IBM-PC   │ │      │        │        │┃       │ │1985    │        │        │Rogue 1.45-1.49 │ │      │        │        │for IBM-PC   │ │      │        │        │┃       │ │1985    │        │        │Rogue 1.65   │ │      │        │        │for NEC PC-9801 │ │      │        │        │┃       │ │1986-02-26 │Rogue Clone   │        │┃       │ │      │/ Timothy Stoehr│        │┃       │ │      │┃       │        │┃       │ │1986-11-25 │Rogue Clone II │        │┃       │ │      │/ Timothy Stoehr│        │┃       │ │      │┃       │        │┃       │ │1987    │┃       │        │Rogue 1.67   │ │      │┃       │        │for NEC PC-8801 │ │      │┃       │        │        │ │1987-05-11 │Rogue Clone II │        │        │ │      │fix(!?)     │        │        │ │      │/ Timothy Stoehr│        │        │ │      │┣━━━━━━━━┓       │        │ │1988-01   │┃       │Rogue Clone III │        │ │      │┃       │for BSD Tahoe4.3│        │ │      │┃       │/ Timothy Stoehr│        │ │      │┃       │┃       │        │ │1992    │LinuxRogue 0.1 │┃       │        │ │      │/ Alan Cox   │┃       │        │ │      │:       │┃       │        │ │1994~   │:       │Rogue Clone III'│        │ │      │:       │for BSD 4.4~11 │        │ │      │:       │/ Timothy Stoehr│        │ └──────┴────────┴────────┴────────┘ これまでずっとオリジナルRogueの復刻を試みてきましたが、どうも私自身がやるべき事 の本質を見失いかけているような気がしてきましたので、この機会に一旦本来の目的を見 直してみることにしました。 やはり、究極の目的は、UNIX上で生まれたRogueを、時が流れようがマシンやOSが変遷し ていこうがそういったことには左右されずにずっとプレイ出来るように維持・管理してい くことだと今更ながら思い直した次第です。本来のRogueが持っていなかった機能の追加 などは極力避けるべきで、メンテナンスに徹するべきではないかとも考えます。という事 で、私の個人的な拡張などは極力排除した形で維持・管理・配布を続けていきたいと思い ます。宜しくお願いいたします。 とりあえず、メンテナンスしていくべきプログラムとして、「Rogue 5.4(オリジナル5.3 の復刻版)」と「Rogue Clone III」、及び最低限の拡張として効果が感じられるそれら のカラー対応版、以上の4本です。また、対応OSとして、LinuxとWindows、言語環境とし てはgccを用いることにしました。よって、Windows上では確かにメジャーな存在である Visual Studioは用いず、Cygwinでのコンパイルを前提とした形で行きたいと思います。 Cygwinでの動作にはランタイムが必要になるのが欠点とは言えますが、Linuxに近い環境 で扱えることで保守性が良くなるというメリットが大きいと考えますので、今後(当分) この形態で行きたいと思います。 さて、前から配布しているRogue5.4はともかく、皆さんが疑問に思われるのは今回新たに お届けするクローン(Rogue Clone III)の方だと思います。「何故!?」とおっしゃる方 も多いかと思いますので、今一度、Rogueの歴史について紐解いていき、その疑問にお答 え出来ればと考えています。しばらくお付き合いくださいませ。 RogueがUNIX上で動く最初期のRPG(Role Playing Game)として誕生したのは、1980年頃 のことです(以降、年号に関しては±1年程度ズレている可能性がありますが、その辺り はご容赦の程を)。1982年のRogue 5.1(BSD UNIX 4.1の頃。BSD=Berkeley Standard Distribution)が評判で、1983年のBSD UNIX 4.2には標準添付のゲームとしてRogue 5.3 が収録され人気が爆発します。 それに気を良くしたオリジナルの作者たち、Michael Toy, Glenn Wichman, Ken Arnold and Jon Laneは、A.I. Designという会社を立ち上げ、RogueをIBM-PCなどに移植したもの を販売することになります。後には、ゲーム制作・販売会社であるEpyxと提携してそこか らIBM-PC版が発売されました。日本においては、ASCIIネットで遊べるようになっていた こともあってか、Rogueを日本に紹介したASCIIからNEC PC-9801版が1985年に、PC-8801版 が1987年に移植・発売されました。 この流れは、あくまでもオリジナルのRogueを製作した人たちの目線での歴史です。 別の流れとしては、オリジナルRogueの面白さに惹かれた数多くの人たちの中で、 Timothy Stoehrが1986年にRogue Cloneを製作・公開します。Rogueはソースが公開されて いませんでしたので、彼は一から自分で作ってしまったのです。この時彼は、ソースコー ドも同時に配布したので、彼同様にRogueが面白いと思いながらもソースがないからとい う理由で手が出せなかった人たちにも朗報となりました。後のいわゆるローグライクゲー ムの元になったのもこのRogue Cloneです。 Rogue Cloneはバグ取りなどを行い、その年の暮れにはRogue Clone IIとなります。日本 では、このRogue Clone IIを太田純さんがMS-DOSに移植・日本語化して配布されたことか ら大人気となります。現在日本で配布されているRogue Cloneのほとんど(メッセージ分 離型も含めて)が、この太田さんのバージョンを元にしていると思われます。 BSD UNIX側から見れば、せっかく人気のある収録ゲームであったRogueが、いきなり商用 ゲームになってしまった訳で、これは困ったことでした。BSD UNIXの側ではRogueが収録 できなくなった代わりとして、このRogue Cloneを取り込むことを考えたようです。実 際、1988年1月に出されたBSD Tahoe 4.3に、そのRogue Clone IIのさらにバージョンアッ プをした物であるRogue Clone IIIが添付されることとなります。後のBSD 4.4でも、 Rogue Clone IIIのさらなるマイナーバージョンアップ版(年表上III'と表記)が添付さ れています。FreeBSD 4.11まで含まれていたRogue Cloneですが、現在のFreeBSD 5以降に はもはや含まれていませんが、ダウンロード・インストールは可能なようです。 ここで考えてみたいのは、Michael Toy等が作ったオリジナルRogueで、彼らオリジナルの 製作者たちが究極のRogueとして製作したのは、一体どのバージョンだったのかと言うこ とです。これに対する答えはもはや得られないのだとは思いますが、それよりも私が知り たいのは、そんなバージョンが存在したかどうかと言うことの方です。 Rogue 5.1で世に出たRogueですが、5.3でモンスターの名前がかなり変更されるなどして います。他にも5.3では、いつも不足して困るScroll of Identifyが武器用とか盾用とか に分かれ更に不足が深刻になったり、ゲームバランスを欠いたような面もあります。この 辺りは彼ら作者たちも気にしていたのでしょうか、5.3で変更されたモンスターたちは以 後のバージョンでもほぼそのまま残ったのに対し、多種になってしまったScroll of Identifyはこの5.3の後すぐにまた1種類に戻されています。後のIBM-PC版やNEC版でも、 モンスターはほぼ5.3と同じなのに、Scroll of Identifyは1種類に戻った形になっていま す。 まあ、モンスターも、初期のIBM-PC版(~1.1)は5.3と全く同じでしたが、後期のIBM-PC 版(1.4~)やNEC版ではSがSnakeからSlimeへ、Uがblack UnicornからUr-vileへと変更さ れていて、ずっと同じという訳ではないのですがね。Uは強くなったなと言うくらいです が、Sは下手に切ると分裂するようになったので特に序盤では結構イヤかもしれません。 私が一番やりこんだRogueはNEC版だったのですが、モンスターのバランス的には初期の IBM-PC版の方が良いように思います。 また、IBM-PC版はグラフィックキャラクタを用いていることも賛否が分かれることだと思 います。華麗な(華美な!?)グラフィックを用いた他のパソコン用RPGに対してのせめて もの対抗意識であったのかもしれませんが、グラフィックを使ったゲームから見ればチャ チ以外の何物でもありませんし、かといってオリジナルのフルテキストによるRogueの ファンからすれば「こんなモノはRogueじゃない」と見られること必須という、かなり中 途半端な仕様と言わざるを得ません。まあ、カラー対応については比較的見易く私は好感 を持ったのですが、唯一の欠点は『「Amulet of Yendor(,)」が「単なる床(.)」と色 が違うのですぐに見つかること』です。 で、Rogue Cloneなのですが、こちらは数多くのRogueの中で(後から考えて)良かった部 分を繋ぎあわせて作られていると考えられます。モンスターは5.3(~IBM-PC初期版)、 でもScroll of Identifyは1種類で5.3じゃない、この設定でずっと作られ続けています。 この辺りが、オリジナルRogueの作者が作ったものではないけれど、Timothy Stoehrのこ だわりが生んだもう一つのRogue、実際にはこれが本家に取って代わってBSDに収録された わけですから、BSDのユーザとしてはこれこそがRogueだ、ってことになっていったのでは ないでしょうか。本当のBSDに収録されたバージョン、それが今回お届けするRogue Clone IIIなのです。 ┌─────────┬─────┬─────┬────┬────┬────┬──┐ │バージョン\要 素│・Monsters│・識別巻物│・キャラ│・カラー│・暗部屋│評価│ ┝━━━━━━━━━┿━━━━━┿━━━━━┿━━━━┿━━━━┿━━━━┿━━┥ │Rogue 5.1     │△ 旧版  │○ 1種類 │○ ASCII│? モノ │○ あり │  │ │Rogue 5.3 BSD 4.2 │○ 標準  │× 5種類 │○ ASCII│? モノ │○ あり │  │ │Rogue IBM-PC ≦1.1│○ 標準  │○ 1種類 │× Graph│? 対応 │○ あり │  │ │    A.I.Design│     │     │    │    │    │  │ │Rogue IBM-PC 1.4x │△ Slime,-│○ 1種類 │× Graph│? 対応 │○ あり │  │ │       Epyx│     │     │    │    │    │  │ │Rogue PC-x801   │△ Slime,-│○ 1種類 │○ ASCII│? 対応 │○ あり │  │ │       ASCII│     │     │    │    │    │  │ ├─────────┼─────┼─────┼────┼────┼────┼──┤ │Rogue Clone II-III│○ 標準  │○ 1種類 │○ ASCII│? モノ │? なし │  │ └─────────┴─────┴─────┴────┴────┴────┴──┘ まあ、Timothy Stoehrのこだわりと言うのも度が過ぎると良し悪しで、本家のRogue(s)で は有り得ない「暗い部屋がない」設定は、最初期のRogue Cloneからずっと受け継がれて きています。これは単にTimothy Stoehrが暗い部屋が嫌いというだけのことらしい(意図 的に暗い部屋が出るように作っていない)ですが、これに関しては好みの問題と言う範疇 を超えてしまっているような気がします。 日本でよく見かける、というか、ネット上でよく見かけるRogue CloneはほとんどがII で、IIIとは細かい点で違いがあります。また、IVというのもあります(Michael Lehotay / ttp://rogueclone.sourceforge.net/)が、これはIIIベースの様ですがClone のオリジナル作者(!?。Cloneのオリジナルって何だ)であるTimothy Stoehrの手によるも のではありませんので、いわゆるI、II、IIIの流れとは別物(特に、最新版である Ver.2.10では、カラー対応はまだしもキャラクタまでIBM-PCのグラフィックキャラクタを 用いるなど、外観だけではありますがIBM-PC版を強く意識したものになっており、ある意 味興味深いとも言えますが、Clone I, II, IIIの流れからは逸脱している)だと思われま す。と言う諸々の事情を鑑みて、Rogue Cloneのオリジナル作者(ややこしい)の Timothy Stoehrの最終作品であるRogue Clone III(正確には、BSD 4.4に収録された年表 上III'となっている版)をここに復刻することにしたのです。 話は変わりますが、UNIX上のいわゆるオリジナルRogueの今後の展開についても詳しくお 話ししたいと思います。本プロジェクトとして成すべきこと、それは、今後どんなマシン のどんなOSが出てこようが、その環境で当時そのままのRogueが遊べるように保守・管理 (あるいは移植)していく事です。OSのバージョンアップなどの環境の変化に伴う対応は 必要ですし、もしもバグが存在したならそのバグは取った方が良いと思います。他にも、 当時の大型計算機端末と現在のパソコンベースの環境の違いに起因する、修正した方が遊 びやすいだろうと思われる点もあるでしょう。これらの必要最低限の手直しを除いて、 Rogueは当時のままのRogueであるべきだとの考えに至りました。 変更した点は以下の通りです。移植に関する部分(バグ取りやマシンが速過ぎる為に入れ たWaitなど)は除外します。 まず、大型計算機でRogueをプレイする場合には、ログイン名をプレイヤー名として扱 い、その名前を用いてスコアランキングを競うという仕様は納得できます。それ故、ログ イン名対抗という事で、1つの名前では複数のランクに入ることはできないようにしてあ るバージョンさえあったりしました。これを、現在のシングルユーザ・マルチタスクなパ ソコンベースの環境に持ってきた場合、IBM-PC版やASCII版のようにゲーム起動時に名前 を聞いてくれるようにした方が便利ですし、1人で複数のランキングに入ることができた 方が明らかに現実的です。ランキング入りを1ユーザ1つのみに限定すると、トップテンラ ンキングは常に1人だけという、メチャクチャ寂しいことも起こり得ます。これらによ り、ゲーム開始時にユーザ名を聞いてくるオプションの追加と、ランキングに複数入れる ようにする改造を行いました。 対象OSについては、以前と同様、LinuxとWindowsを想定しています。ただ、Windowsは シェアこそ大きいものの、Rogueを記述しているC言語については、お世辞にもWindows用 Visual C++がC言語の標準仕様であるとは言い難く、保守の面からもできる限り標準的なC 言語の処理系を選択したいところです。以上の点から、言語としてはgccを用いての開発 としました。WindowsではLinux環境をWindows上に作れるCygwinでgccを用いることにしま す。ランタイム(dll)が必要にはなりますが、通常のWindowsコンソールでCygwin無しに 動作可能なプログラムにコンパイルでき、しかもLinux上のgccとかなり高いソース互換性 を持つという優れた環境です。LinuxとWindowsの環境の違いに対応することもこのプロ ジェクトの目的ではあるのですが、Cygwinのような互換環境にその差異の大部分を吸収さ せることも保守・管理の上では良いことですので、この形を採りたいと思います。 # 将来的にはCygwin上のgccではなく、MinGWを用いることも考えたいと思います。互換性 # の面からは少し劣るのですが、何よりもランタイムが不要でよりWindowsネイティブな # プログラムになりますので、検討したいと思います。 また、カラー対応については結構見やすいので対応してはどうかと考えました。当時の端 末がモノクロ24行80桁だったためRogueもモノクロ表示だったのだと思いますが、もしカ ラー表示が可能な端末であったならカラーにしていたのではないでしょうか。これに関し ては賛否両論あると思いますので、従来通りモノクロ表示のバージョンと、カラー表示が 可能(ただしデフォルトではモノクロ表示)なバージョンの2種類を作成することにしま した。まあ、そうは言っても、IBM-PC版のグラフィックキャラクタによるRogueはちょっ と行きすぎだと思いますので、放置しますが。 以上を総合して、オリジナルRogue最終型5.3(の復刻版5.4)とRogue Clone III'、及び それらのカラー対応版の維持・管理・配布を継続していくことを決めました。ちなみに、 カラー対応版もモノクロ表示可能ですし、デフォルトではモノクロにしてありますので、 特にこだわりのない方はカラー対応版の方をお使いいただければ良いかなと思います。余 談ですが、5.4とClone IIIの両方を比べながらやってみると、案外気が付かなかった違い がよく分かって面白いものですよ。これ以外のRogue/Roguelikeについてもサポートを続 けるつもりではありますが、あくまでメインは前述の5.4とIIIであるというスタンスで行 きたいと思います。 # XRogueとNethackはどうしようねぇ。Nethackは無理に私がやらなくても保守されていく # のだろうけど、問題はXRogueの方だよね。たぶん。どちらにも、Michael Toy, Glenn # Wichman, Ken Arnold, Jon Laneは関与してないし、もちろんTimothy Stoehrも無関係 # だし、その意味では保守する意義が少ないことは少ないんだよね。