Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
本リポジトリのrogueclone2は鈴木維一郎氏による「rougeclone2 (データ分離版ローグ・
クローンII UTF-8版)」を基に、RaspberryPiでの表示不具合改修を加えたバージョンです。
ドキュメント改修はありませんので、以降は鈴木維一郎氏のREADMEをそのまま転記いたします。
==============================================================================
日本語版ローグ・クローンによる『運命の洞窟』への招待
鈴木維一郎 <suzuki.iichiro@gmail.com>
太田純氏の「ローグ・クローン2 日本語版1.3」、伊藤康史氏の「データ分離版ローグ・
クローンII」、FUNABARA Masao氏の「rogueclone2s」、 Naohiro Aota氏の
「rogueclone2s-utf8」、を経て本バージョンとなりました。
○説明
rougeclone2s (データ分離版ローグ・クローンII メンテナンスバージョン のUTF-8版)
はターミナルへの出力のみが UTF-8対応となっていましたが、本バージョンは、ターミナ
ルへの出力はもちろん、メッセージファイル、ソースコードなどすべての処理と資源が
UTF-8対応しています。
○概略
ダンジョンRPG.地下27階にある宝「イェルダーの魔除け」を地上に持ち帰るのが目的。
ダンジョンは冒険にでるたびに違い、セーブは不可能。
主人公にあるステイタスはHPと空腹度だけ。ローグで最も恐ろしいのは餓死である。と
にかく食料をめざしてダンジョンを歩くのである。
------------
|.....!....|
|..@.......|
##################+.........:|
# |...%.H....|
# ------+-----
#
---+---
|.....|
|.?...|
|.....+###### ---------+----
------- # |............|
# |............+
#########+..........^.|
|............|
--------------
○歴史
http://lv1uni.web.fc2.com/wands/rogue.html(lv1uni(レベルいちうに)様より)
1986年前後、パソコン通信がようやく300bpsから1200bpsに切り替わりつつあった時代。
バークレイ版UNIXに、unixvimエディターのカーソル移動hjklキーの運指練習用として添
付されてきたテダンジョンRPGゲームがrogueである。配布条件はGNU準拠のフリーウェア
だ.
無料開放された第1期アスキーネットで、rogueはオンライン ゲームとして公開されてい
た。今と違いUNIXマシンなどめったにみかけない 当時、多くの人のrogue初体験はこのア
スキーネットだ。
1987年5月ニフティサーブスタート。FPLのSYSOPヤン・ウェンリー(もちろんハンドル名
だ) 氏に、初めてunixのローグの存在をきいた私。職場の茶箱5個ぶんのミニコン
VAX11/750のunixで早速やってみて、見事にはまる。しかしバークレイ版に添付されたロー
グは、プレイ時間が長いと、画面が凍り付くという重大なバグをかかえていた。
1988年前後、MS-DOS版のローグクローンが公開、これがみんなのローグだ。
1986年頃、アメリカのパケット通信網USENETをまねた日本語のUNIX中心の パケット通信
網junet(現在のインターネットnews)が実験的に始まった。 企業と大学のみの参加可能
の公的ネットであるにもかかわらず、遊び感覚の ソフトも配布される、自由なネットで
あった。
1988年頃、junetで、ある記念碑的ソフトウェアが公開される。リコーの太田氏による
「ローグ・クローン」である。MS-DOS(PC98用)で動くローグだ!しかもコメントが 日本
語ででる。そして...あのunixローグの画面凍り付きバグはなかった。
このローグの魅力を多くの人に広めるべく、太田氏に許可をとり、FSPACE(天文の フォー
ラム)とFSDR(現在のFGALの前身、自作フリーソフトのフォーラム)に登録。 またたく
まに数百のダウンロード数をえる。このローグクローンはたしか、配布条件が GNU準拠
(ソース添付、配布制限なしをコンセプトとしたフリーソフトウェア。 今のフリーソフ
トウェアやPDSの思想の元となったもの)であった。 なつかしい響きである。
この白黒のローグクローンは、原作以上の評価をえるが、その翌年、さらに太田氏は カ
ラーの「ローグクローン2」をjunetで発表した。スピードと操作性がよくなり、 なんと
いっても色がついてみやすい。これが現在もインターネット上で配布や 公開がされてい
る、みんなのスタンダード版「ローグ」である。 ローグクローン2も、許可をもらって
FSPACEとFSDRに登録、絶対大人気まちがいなし のソフトの登場に、FSDRのSYSOP三木氏と
私は大喜びしたものである。
それ以来、ローグの日々となった。当時学生だった妹もはまり、彼女は文系で コンピュー
タは素人だったが、hjklキーの運指は完璧となった(^^;)。 会社の昼休みにローグ、家に
かえってからもローグ。私は1991年に結婚したのだが、 PC98を嫁入り道具にもっていっ
てローグ...
ローグ風のゲームというのも、色々フリーででてきていた。有名なのは ネットハックな
ど。しかしやっぱり、原作ローグがシンプルで何度やっても あきないのである。
1994年ごろにはWindows時代到来。あるときVisual Basicをやらなくては ならなくなり、
Windows機を購入。ローグは??と心配したのだが、 ローグクローン2はPC98のMS-DOS用
と銘打たれていたが、純テキストベースの せいか、DOS/Vでもそのまま動作したのである。
よかったよかった。
○歴史(Mac OS Xへの移植をされた後藤寿庵 (id:juangotoh)様)
https://juangotoh.hatenablog.com/entry/2016/06/05/202100
太田純さんの日本語Rogueオリジナル版をやりたい
パソコン アニメ・ゲーム プログラミング 歴史
Rogueというゲームを知ってるだろうか。1980年にBSD UNIX上で開発された最初期のコ
ンピューターロールプレイングゲームである。cursesというテキスト画面制御ライブラ
リを使い、主人公の移動がHJKLキーで左、下、上、右、viテキストエディタと同じであ
る。なのでこれはviの練習用とか言われてた。どうももっと単純な話で、当時のコン
ピューターを操作する端末にはカーソルキーがなく、HJKLのキーに上下左右の矢印がプ
リントされてたので、エディタのカーソル移動もRogueの上下左右移動もHJKLを使ったら
しいのだが………
このゲームはダンジョン探索RPGであり、ゲームを始めるたびに乱数でダンジョンを生
成していた。のちの「不思議なダンジョン」シリーズはRogueをゲーム機用にリファイン
したものだ。
で、Rogueのオリジナル版はBSD UNIXと一緒に配布された。そのせいで初期に普及した
BSD UNIXにはこのゲームがもれなくついてきた。DECのVAX11で動いていた初期のパソコ
ン通信ホストであるASCII NETではユーザーがこのRogueを遊ぶことができた。ただしメッ
セージが完全に英語だったので、本当に楽しく遊べた人はそれほど多くなかったと思う
が。僕も1980年代当時、これを遊んですぐ死んで「なんだこれは」と思った物である。
さて、このRogue、ソースコードは非公開だった。作者達はIBM-PCなどのパソコン用に
Rogueを移植して商売をはじめた。一方、ソースをもらえなかったBSDはOSの改良をする
うちRogueの配布をしなくなる。でもBSDユーザーはRogueの魅力にはまってたので、その
うちフリーでRogueを実装しようという人が現れる。ソースがないのでゲームの動作を見
て一から再実装されたのがRogue Clone。このバージョンアップ版 Rogue Clone II のメッ
セージを日本語化したのがリコーの太田純さんだ。太田さんのMS-DOS版「日本語ローグ・
クローン2」がパソコン通信を通じて大ヒット。これはエスケープシーケンスを使用し
た着色もなされていた。壁がシアンなのが特徴である。
MS-DOS版は64ビットWindowsで動かないので、Win32版。
ちなみに僕はMacOS Xにこの日本語版を移植したことがある。
PPC Carbon版だけど、Intel向けにコンパイルすればいまでも動くんだろうか………
いろいろあって手元にソースもバイナリも残ってないのだけど、今でもインターネット
アーカイブからダウンロードできるっぽい
https://web.archive.org/web/20071211063524/http://www.juangotoh.com/node/86
さて、いつだったかこの日本語Rogueが、あくまでRogue Cloneの日本語版であり、
ASCII NETで遊べたオリジナルRogueではないという話が出たことがある。オリジナル版
とクローンではいろいろ違いがあり、オリジナル版の方がやたら暗黒の部屋があったり
厳しかったとかいう話も出てたと思う。場所はNIFTYだったかfjだったか。太田さん本人
が「オリジナルRogueのソースがあったら日本語化したい。ずっと探してるんですけどね
え」みたいな事を語っていたのだ。
その後、海外でオリジナルBSD版Rogueのソースが再発見され、現代のコンパイラでコ
ンパイルできるように修正するなどの活動がなされるようになった。
これを太田さんが日本語化してくれないかと思っているのだが、いまのところそのよう
な動きはない。
「おや、なんて甘いこけももだ」をもう一度見たいのだが………
○歴史まとめ
・Rogue 3.6
Tim Stothr(原作)
ローグ (Rogue) は、ダンジョン探索型のコンピュータRPGである。その初版が公表された
のは1981年とコンピュータRPGの黎明期であり、世界初のコンピュータRPGともされる。
↓
・Rogue 5.2
1984年誕生。
AT&T Bell研究所(オリジナルのUNIXを作っていた所)で 作られました。
UNIX の総本山でも rogue をプレイしたかったのか、それともユーザの要求に答えたか、
どちらにしても興味深い事です。
↓
・Rogue 5.4
UNIXに添付されたRogueの最終バージョンです。本来Rogue 5.3として出されていたものです。
↓
・Rogue 5.4p
上記のRogue5.4に対して、IBM-PC版やNEC PC-x801版風にプレーできるオプションをたく
さん独自に拡張したのがこれです。
↓
・Rogue 5.4x
IBM-PC版やNEC PC-x801版風にプレーできるオプションをたくさん独自に拡張した。
↓
・Rogue Clone
Tim Stothr(原作 & クローン原作)
1987年誕生。オリジナル rogue の作者が、新しく作り直し、ソースとともに公開した
rogue です。 普通、我々の見る rogue と言うと、これを指すはずです。
↓
・Rogue Clone 2
1999年、電脳なんでも屋(風桜へぽぽ)が配信。
「Rogue Clone(1987年)」の日本語版としてWindowsへの移植版。
「2」とあるが、日本語版を出したときに「2」と付けたとのこと。
↓
1987年(株)リコー ソフトウェア事業部
太田純氏の「ローグ・クローン 日本語版1.3(白黒)」
NEC PC98に移植
↓
1989年
太田純氏の「ローグ・クローン2 日本語版1.3(カラー)」
↓
1992年 京大マイコンクラブ
伊藤康史氏の「データ分離版ローグ・クローン2」
テキストデータ部分を分離
↓
FUNABARA Masao氏の「データ分離版ローグ・クローン2s」(rogueclone2s)
メンテナンスバージョン
↓
Naohiro Aota氏の「データ分離版ローグ・クローン2s UTF-8」(rogueclone2s-utf8)
ソースコードとmsgファイルはeuc 描画はUTF-8に対応
↓
本バージョン「ローグ・クローン2 日本語版」(rogueClone2)
資源のすべてをUTF-8化 Linux/UNIX/Macに対応
○【これは凄い】Vim script + Lua で rogue.vim を作った話
https://qiita.com/katono123/items/ccc2721163b7c6bbc0a6
○過去のrogueLikeのアーカイブはこちら
https://britzl.github.io/roguearchive/
○概要
https://ja.wikipedia.org/wiki/ローグ
○おとなの自由研究
自由研究|『ローグ・クローン2 日本語版1.3』は、どのバージョンの日本語版なのか?
https://masatler.hatenablog.com/entry/2021/07/02/082806
masatora_bd5さんの労作
https://cdn-ak.f.st-hatena.com/images/fotolife/m/masatora_bd5/20210702/20210702081427.jpg
○Rogueとは
http://fairygam3.appspot.com/game/rpg/rogue.html
ローグと言えばコンピューターRPGの3大始祖である「Rogue」、「Ultima」、
「Wizardry」と並ぶ内の1つで、古のRPGです。初代ローグは1980年頃にBSD Unixで公開
された後、一旦はソース紛失。しかしそのあまりの面白さに、他のプレイヤーが1から作
りあげた上にほぼ完全に再現されたクローンがオープンソースで出回りました。ちなみ
に今作はMS-DOS版の「データ分離版ローグ・クローンII」の移植作です。(その後本家ソー
スが見つかり、現在では復刻版も公開されてはいますが、結局クローン版の方が主流に
なってしまいました)
プレイヤーはダンジョンに潜り、地下26階以下にある「イェンダーの魔除け」を入手
して無事帰還する事が目的なのですが、文字通り「生きてイェンダーの魔除けを入手し
て帰還する」か「死んで全てを失う」かしかありません。死ぬとそのままゲームが終了
し、所持アイテムや経験値などのデータは全て消えます。このシビアさがローグ最大の
特徴であり魅力の1つとも言えます。
ダンジョンは自動生成され、リプレイ性に富んでいます。ある程度の法則はあります
が、落ちているアイテムや出現する敵がその都度変わるので、こうすれば確実にクリア
出来るといった完全攻略法が存在しません。もちろん運の要素もありますが、クリアす
る為にはダンジョンやモンスターやアイテムについての知識と経験が必要不可欠です。
まだ文字だけの時代に視覚的な情報を表現しようとしたそれはアスキーアートのよう
な体裁をしており、初めて見る方にはバグか暗号のようなものにも見えるかもしれませ
ん。しかしいざプレイしてみると、視覚情報が少ないからこそ想像力が掻き立てられ、
深い味わいがあるという意外な事実に気付かされるはずです。
真のRPGを追求する方、難易度は高いに越したことはないと考えている方にお勧めの作
品です。
各論
ローグは知らなくても「風来のシレン」や「トルネコの大冒険」なら知っている方は
多いかと思われます。何を隠そう私自身もシレンで育った世代でありまして、この手の
タイプはそれなりに出来る自信があったのですが、いざプレイしてみるとコマンドが複
雑すぎて挫折しました。しかし、しばらくすると何故か無性にダンジョンに潜りたくなっ
てしまうんですよね。あれは一体何なんでしょうか。そうこうしている内にコマンド操
作にも慣れてしまい、本格的に攻略に乗り出してからはのめり込みました。
このコマンド操作というのが曲者で、覚えて自由に動けるようになるまでが大変です。
更にその先にあるのがローグ自身が持つ難しさときているもんだから昨今のカジュアル
ゲーマーならまず泣いて逃げ出すレベルだと言って間違いありません。しかしそこを乗
り越えれば生と死が隣合わせのスリル溢れるダンジョン探索の日々が待ち受けています。
今作はメッセージ分離版をベースに作られているのでメッセージファイルを入手する
事で一風変わったローグをプレイする事も出来ます。興味がある方はいろいろ探してみ
るのもいいかもしれません。
またローグには派生作品が数多く存在し、それらは皆「ローグライク」という名で呼
び親しまれています。有名所では「NetHack」や「Angband」、「Dungeon Crawl」などが
あり、どれもローグのシステムをベースに独自の世界を展開させていてお勧めです。
完成されたシステムとゲームバランスは他の追随を許さず、登場から長い年月を経て
して尚存在感がある上に、オープンソースでフリーゲーム。正にRPGの金字塔と呼ぶに相
応しい作品と言えるでしょう。
○インストール方法
<> もっとも簡単なインストール方法
% bash MAIN.SH
実行方法
% ./rogue mesg.utf-8 ;
<> 難しくかんがえたい人むけ
このパッケージからプログラムをインストールするためには、ソースのコンパイルが必要です。コンパイルするには、以下のように入力してください。( %はプロンプトを表
す)
git をインストールして下さい。
Mac系
% brew install git
Githubから本ソースコードをダウンロードします
% git clone https://github.com/suzukiiichiro/RogueClone2s-UTF8_JP.git
ディレクトリに入ります。
% cd RogueClone2s-UTF8_JP
コンパイルします。
Linux系 ------------------------------------
% ./configure ;
% make clean ;
% make ;
srcディレクトリ内にrogueファイルが生成されます
srcディレクトリ内のrogueファイルを手元にコピーします
% cp src/rogue . ;
% ./rogue mesg ;
Mac系 ------------------------------------
% ./configure CFLAGS="-g -O2 -w -Wno-return-type" LDFLAGS="-lcurses -liconv";
% make clean ;
% make ;
srcディレクトリ内にrogueファイルが生成されます
srcディレクトリ内のrogueファイルを手元にコピーします
% cp src/rogue . ;
% ./rogue mesg ;
コンパイルが無事に終了すればインストールが可能となります。インストールするには、
以下のように入力してください。
% su
% make install
○ゲームの仕方
このゲームはデータが分離しているので、そのファイル名を引数として与え
る必要があります。
例: rogue mesg
その他、オプション -s (スコアを見る) あるいはセーブファイルの指定な
どは、メッセージファイルの後に与えます。
例: rogue mesg -s
rogue mesg savedfile
○運命の洞窟へのガイド
Michael C. Toy
Kenneth C. R. C. Arnold
Computer Systems Research Group
Department of Electrical Engineering and Computer Science
University of California
Berkeley, California 94720
概要
ローグは、UNIX†タイムシェアリングシステムで動作する、ビジュアルファンタジーゲー
ムである。いかにローグをプレイするかを記述する事で、運命の洞窟で迷ってしまうか
もしれない者達へ、いくつかのヒントを与えよう。
1. 導入
君は、地元の戦士ギルドを卒業したところだ。多くの汗と訓練の後、危険な冒険に出る
事ができるようになった。君のスキルを試すテストとして、地元のギルドマスターは君
を運命の洞窟へと送り込んだ。君の仕事は、イェンダーの魔除けを持って生きて帰って
くる事だ。この仕事をやり遂げた暁には、地元ギルドの完全な会員資格を得るだろう。
加えて、洞窟から持ち帰った盗品を全て自分の物にする事さえできるのだ。
君は旅立ちに備えて、魔法をかけた棍棒、弓、そして遙か遠くの暗い山に棲むドラゴン
の秘蔵から取れる矢の束が与えられる。更に、エルフの鎧と、洞窟にたどり着くために
充分な食料を用意される。君は家族や友人達に最後の別れを言い、道を進める。
君は洞窟へと旅を続け、数日の後に運命の洞窟の入り口と書かれた古ぼけた廃墟を見つ
ける。夜も遅いので、君は入り口でキャンプを張り、大空の元で眠りに落ちる。朝には
君は武器や防具、最後に残った食料をまとめて、洞窟へと入っていく。
2. ここで何をすればよいのか?
君はローグのゲームを始めたところだ。君の目的は、持てる限りの宝物を携え、イェン
ダーの魔除けを見つけ、運命の洞窟から生還する事だ。画面には、君がどこにいるかを
示すマップと、今いる洞窟の階で何を見つけたかが常に表示されている。その階の探検
が進んだ分だけ、君の前のスクリーンに現れてくる。
ローグはスクリーンを重視するという意味で、多くのコンピュータファンタジーゲーム
とは異なっている。コマンドは全て1つないしは2つのキーストローク1で、そのコマンド
の結果は言葉で説明するよりもむしろ、スクリーンで視覚的に表示される。
ローグと他のコンピュータファンタジーゲームとで、大きな違いがまだまだある。標準
的なファンタジーゲームが、いったん全ての謎を解いてしまうと面白さが失われ楽しめ
なくなってしまうのに対し、ローグはプレイする度に新しい洞窟が生成され、ローグの
作者さえも面白くてエキサイティングなゲームだと感じるだろう。
3. スクリーン上の物は何を示しているか?
ローグで何が起こっているかを理解するためには、君は最初にスクリーン上でローグが
何をしているかを掴む必要がある。ローグのスクリーンは、標準的なファンタジーゲー
ムの「君は~を見つけた」と言う記述に取って代わる物である。図1はローグのスクリー
ンのサンプルである。
____________________________________________________________
------------
|..........+
|..@....]..|
|....B.....|
|..........|
-----+------
Level: 1 Gold: 0 Hp: 12(12) Str: 16(16) Arm: 4 Exp: 1/0
図1
____________________________________________________________
3.1. 最下行 スクリーンの最下行は、君の現在の状態を示す謎めいた情報を示している。
ここにその情報が意味する物を説明しておく:
Level この数値は、君が洞窟の地下何階まで下りていったかを示す。1階から始まって、
洞窟の奥深くに潜っていく。
Gold 君が見つけだして持ち運んでいる金塊の数。
Hp 君の健康(Health)ポイントの現在値と最大値。健康ポイントは死ぬまでにどれだけの
ダメージに耐えられるかを示す。君が戦いの中で傷つけば傷つくほど、この数値は下がっ
ていく。休憩する事で、健康ポイントは回復する事ができる。括弧内の数値は、君の健康
ポイントが到達できる最大値である。
Str 君の現在の強さと、強さの過去の最大値。これは3以上31以下の数値を取り得る。大
きい数値は、君が強い事を示す。括弧内の数値は、これまでこのゲームで達成した強さの
最大値である。
Arm 君の現在の鎧の防御力。この数値は、君の鎧が敵からの攻撃をどのくらい効果があるの
かを示している。数値が大きければ、鎧の効果が高い。
Exp この2つの数値は、君の現在の経験レベルと経験値を示している。経験を積む事で、
君は経験値を増やしていく。経験値がある一定の値になると、経験レベルが上がる。経験
を積めば積むほど、君はうまく戦い不思議な攻撃にも立ち向かっていけるようになってい
く。
3.2. 最上行 スクリーンの最上行は、視覚的に表せない事を、メッセージとして表示する
ために予約されている。もし最上行に「--More--」が出ていたら、これはローグが、別の
メッセージをスクリーンに表示したいのだが最初にそこに出ているメッセージを君がもう
読んだかどうかを確認したい、と言う事を示している。次のメッセージを読むには、スペー
スキーを押しさえすれば良い。
3.3. スクリーンの残りの部分 スクリーンの残りの部分は、君がこれまで探検してきた階
の地図である。スクリーン上の個々のシンボルは、何かを表している。ここに種々のシン
ボルが何を示すかのリストを掲げる:
@ Rogue. このシンボルは君、冒険者を示している。
-| Wall. これらは部屋の壁を示している。
+ Door. 部屋から/へのドア。
. The floor of a room.
# Floor. 部屋の床。
* Gold. 金塊の山、壺。
) Weapon. ある種の武器。
] Armor. 1つの鎧。
! Potion. 魔法の薬の入ったフラスコ。
? Scroll. 1枚の紙切れ。たいていは魔法の巻物。
= Ring. 魔法の指輪。
/ Staff, Wand. 魔法の棒、杖。
^ Trap. 罠、これには気を付ける事。
% Staircase. 他の階への階段。
: Food. 食料。
A-Z Monster. 大文字は、運命の洞窟に住む様々な住民を表す。奴らは厄介で凶暴だ。気
を付けろ。
4. コマンド ローグへのコマンドは、1つないしは2つの文字をタイプする事で行える。大
抵のコマンドは繰り返しのカウントに続ける事ができる(「10s」とタイプすると、10回
S(Search、探す)を行う)。カウントが意味をなさないコマンドは、カウントが無視される。
カウントや接頭辞をキャンセルするには、[Esc]をタイプすればよい。コマンドのリスト
はかなり長いものだが、ゲーム中に「?」コマンドでいつでも読む事ができるようになっ
ている。それぞれのコマンドを、簡単な説明をつけて掲げておくので、参照して欲しい。
? ヘルプコマンド。どの文字についてのヘルプが必要なのかを聞いてくる。「*」をタイ
プすると総てのコマンドについてのリストを表示する。それ以外の文字であれば、タイプ
した文字についての説明を表示する。
/ これは「スクリーン上のこれは何だ」コマンドである。「/」に続けて画面上見る事の
できる任意の文字をタイプすれば、それが何なのかを表示する。例えば、「/@」とタイプ
すれば、シンボル「@」が君、すなわちプレイヤーである事を表示する。
h, H, ^H(「^」は[Ctrl]を押しながら、の意)
左へ移動。君は、1文字分左へ移動する。もし君が大文字の「H」を使うなら、何かにぶつ
かるまで進み続けることになる。この仕組みは総ての移動コマンドに当てはまる(「L」は
「l」方向に走る事を意味する)。もし[Ctrl]「h」とするなら、何か興味深いものの側に
来るか、壁にぶち当たるまで、指定の方向に移動し続けるだろう。これは非常に有用なコ
マンドであるが、説明も非常に難しいものであるので、君は実際にやってみるべきである。
これも総ての移動コマンドで同じように当てはまる。
j 下へ移動。
k 上へ移動。
l 右へ移動。
y 斜め左上へ移動。
u 斜め右上へ移動。
b 斜め左下へ移動。
n 斜め右下へ移動。
t throw something. ものを投げる。これは接頭辞命令だ。続けてものを投げる方向をタ
イプすると、指定の方向に投げられる(「th」とタイプすると、何かを左へ投げる)。
f fight till death or near death. どちらかが死ぬまで戦う。続けて方向をタイプする
と、君かその方向にいる生き物かのどちらかが相手を殺るまで、強制的に戦わせる。
m move onto without picking up. 何かの上に乗って、それを拾わない。これは指定した
方向に1文字分移動するが、拾えるものが何かあったとしても、拾わずに移動すると言う
意味である。
z zap a wand in a direction. 攻撃の接頭辞。魔法の棒や杖を指定方向に向け、一撃を
お見舞いする。無指向性の棒もあるが、それでも方向の指定は必要である。
^ identify trap type. 罠を確認するコマンド。マップ上に罠があり、それがどんな種類
の罠だったかを思い出せない場合に、ローグを罠の隣に移動させてから「^」に続けて罠
の方向をタイプする事で、思い出させる事ができる。
s search for trap/secret door. 罠や秘密のドアを探す。罠や秘密のドアを探すために、
即座に隣接した総ての場所を調べる。たとえ何かがそこにあったとしても君がそれを見
つけ出せる確率は非常に低く、見つけ出すまでに何回も捜索を繰り返さねばならないで
あろう。
> go down a staircase. 次の階への階段を下りる。当たり前の事ではあるが、階段の所に
立っている時しか下りる事はできない。
< go up a staircase. 次の階への階段を上る。イェンダーの魔除けを所有していない者は、
上る事ができない。
. rest for a turn. 休憩。これは「何もしない」コマンドである。待つことと回復するた
めに使える。
, pick something up. 何かを拾う。現在、少しでも何かの上に立っているならば、何でも
拾い上げる。
i inventory. 持ち物のリスト。荷物の中に入れて運んでいる者総てのリストを表示する。
I inventory single item. 選択的持ち物リスト。荷物の中のいずれか1つについて表示す
る。
q quaff potion. 荷物に入れている魔法の水薬の1つを飲む。
r read scroll. 荷物に入れている巻物の1つを読む。
e eat food. 荷物に入っている食料を食べる。
w wield a weapon. 武器を装備する。荷物から武器を取り出して戦えるように装備する(も
し既に武器を装備していたなら、それと取り替える)。
W wear armor. 鎧を着る。一度に1つの鎧を着る事ができるだけである。これには時間がか
かる。
T take armor off. 鎧を脱ぐ。鎧が呪われている場合、脱ぐ事ができなくなる。脱ぐ際も
時間がかかる。
P put on ring. 指輪をする。一度に2つの指輪をする事ができるだけである(片方の腕に1
つずつ)。もし君が1つも指輪をしていない場合、このコマンドはどちらの手に指輪をす
るのか聞いてくる。さもなければ、プログラムは君が右手に武器を持っているものと仮
定して、使っていない左手にする事になる。
R remove ring. 指輪を外す。1つしか指輪をしていないなら、このコマンドはそれを外す
だけだ。もし2つの指輪をしているなら、どちらを外したいのか聞いてくるだろう。
d drop object. 物を落とす。荷物から何かを取り出し、それを床に置く。1カ所には1つの
物しか置く事はできない。君が装備したり着ていたりする呪われた物は、落とす事がで
きない。
c call object. 物に名前を付ける。荷物の中である種のそれが何であるのか覚えておきた
い物があるのなら、このコマンドで名前を付けてやる事ができる。通常、魔法の水薬や
巻物、指輪が何であるのかが分かったとき、あるいは装備していた武器がどれであった
か覚えておきたいときなどに使われる。
D recall what's been discovered. 既に発見した物を表示する。このコマンドは、どのタ
イプの物に興味があるのかを尋ねてくる。その種の物を示す文字をタイプ(水薬なら「!
」など)すると、既に発見した(既に何であるのかが分かっている) その種の物が何であ
るのかを表示する。このコマンドは魔法の水薬や巻物、指輪、棒、そして杖に対して表
示する。
o examine/set options. オプションの設定を表示したり再設定する。このコマンドはオプ
ションに関する別のセクションで詳しく説明する。
^R redraw screen. スクリーンを再表示する。何らかの理由で画面表示が変になった場合に
役立つ。
^P repeat last message. 最後に表示したメッセージを再表示する。読む前にメッセージが
消えてしまった(消してしまった) 場合に役立つ。単に最後のメッセージを表示し直すだ
けであり、ミスタイプして失った何かを取り返せるという物ではない。
[Esc] cancel command. コマンドや接頭辞、カウントをキャンセルする。
! shell escape. コマンドプロンプトに抜ける。「exit」とタイプすれば、ローグに復帰
する。
Q quit. 終了。ゲームをセーブしない。
S save game. 現在のゲームをファイルに保存する。デフォルトのファイル名で保存して良
いか聞いてくる。警告ローグはセーブしたゲームをコピーさせない。セーブされたゲー
ムを始めると同時にローグはセーブされたファイルを消してしまう。これは、危険な状
況下で保存しておき、死んでしまったら何度もやり直すという事を避けるためだ。セー
ブされたゲームを始めるには、そのファイル名をローグに引数として与える必要がある。
例えば、次のように。
% rogue save_file デフォルトのファイル名でセーブした場合は、次のようにすればよい。
% rogue -r v print version number. プログラムのバージョンナンバーを表示する。
) print current weapon. 君が現在装備している武器を表示する。
] print current armor. 君が現在着ている鎧を表示する。
= print current rings. 君が現在している指輪を表示する。
@ print current stats. 現在の状況を最上行に再表示する。
5. 部屋
洞窟にある部屋には、明るい部屋と暗い部屋とがある。明るい部屋に入ったなら、入る
と同時に部屋の総てがスクリーンに表示される。暗い部屋では、君が探検した部分だけ
が表示される。部屋から出ると同時に、総ての怪物はスクリーンからは消え失せる。暗
闇では、君は自分の周りの1文字分の場所しか見る事はできない。通路は常に暗い状態で
ある。
6. 戦闘
怪物に出会って、戦おうと思うなら、そいつにぶつかっていくだけで良い。君が攻撃を
仕掛けない限り、寝ていたり何もしてこない怪物は結構いるものだ。君子危うきに近寄
らずとはよく言ったものだ。
7. 洞窟で見つかる物
洞窟で何か見つけたら、拾いたくなるものだ。ローグでは、その物の上を歩くだけで拾
う事ができる(君が接頭辞「m」を使っていない限りは)。物を持ちすぎている場合、拾え
ない事を表示し、実際に拾わない。そうでない場合は、拾った事を表示し、荷物に加え
るであろう。
物を操作する多くのコマンドは、どれを使いたいのかと言うプロンプトを出す。気が変
わって、結局そのコマンドを使いたくないのであれば、[Esc]キーをタイプすればコマン
ドが中止される。
鎧や武器は簡単に区別が付く。しかし、魔法の巻物や水薬は、種類によって異なる訳の
分からないラベルが貼ってあるだけだ。ゲーム中、同じラベルの物を見つけたら、それ
は同じ物である。しかしながら、ゲームを再度やり始めると、ラベルは変わってしまっ
て何か分からなくなる。
君がラベルの付いたものを使い、その効果が明らかな場合、ローグは君のためにそれが
何であるかを覚えていてくれる。はっきりした効果が無い場合には、後で君が分かるよ
うに何かメモをしておくかどうか問われる事になる。「C」コマンド(上記参照)で名前を
付けてやる事もできる。
7.1. 武器
ある種の矢のような武器は束になっているが、大抵の武器は1つずつ落ちている。武器を
使うためには、君はまず装備する必要がある。弓から矢を放つには、君はまず弓を装備
した上で矢を射なければならない。君は一度に1つの武器しか装備する事はできないし、
もし装備した武器が呪われていたりするとそれを取り替える事ができなくなる。武器を
使うコマンドには、「w」(wield a weapon/装備)と「t」(throw something/射る、投げ
る)がある。
7.2. 鎧
洞窟には様々な種類の鎧が横たわっている。ある物は魔法で祝福されており、ある物は
呪われ、またある物は特にどちらでもない普通の状態である。鎧の種類が異なれば、鎧
の防御能力も変わるものだ。鎧の防御能力が高いほど、怪物からの打撃に対してより守
れるようになる。ここに様々な鎧の種類と、それらの通常の防御能力のリストがある:
種類 保護能力
None (無し) 0
Leather armor (革の鎧) 2
Studded leather / Ring mail
(鋲付きの革の鎧 / 環状鎖帷子) 3
Scale mail (鱗状鎖帷子) 4
Chain mail (鎖帷子) 5
Banded mail / Splint mail
(帯状鎖帷子 / 重ね札鎖帷子) 6
Plate mail (鋼鉄の鎧) 7
鎧が魔法で祝福されている場合、その鎧の防御能力は通常よりも高くなる。鎧が呪われ
ている場合、防御能力は下がり、しかも君はそれを脱ぐ事ができなくなる。しかしなが
ら、通常より防御能力の低い鎧の総てが呪われているという訳ではない。
鎧を使うコマンドには、「W」(wear armor/着る)と「T」(take armor off/脱ぐ)がある。
7.3. 巻物
巻物には訳の分からない言葉3のタイトルが書かれている。いったん巻物を読んでしまう
と、きみの荷物から消滅してしまう。巻物を使うコマンドには、「r」(read scroll/読
む)がある。
7.4. 水薬
水薬はフラスコに入っていて、液体の色を書いたラベルが張ってある。これも飲むと消
滅してしまう。水薬を使うコマンドには、「q」(quaff potion/飲む)がある。
7.5. 棒と杖
棒や杖にはいくつかの種類がある。棒は木の種類で、杖は金属か骨の種類で区別できる。
通常、遠く離れた物に対して作用させるので、君は効果を与えたい物に向けて使わなけ
ればならない。しかしながら、いくつかの棒は示した方向には無関係に作用するのだが。
棒にはいくらかの魔法の弾が込められており、その数はランダムである。魔法を使い切
ると、杖は単なる木や金属になってしまう。
棒や杖を使うコマンドには、「z」(zap a wand in a direction/攻撃の一振り)がある。
7.6. 指輪
指輪は、水薬や巻物、棒などの一時的な効果とは異なり、永久的な魔法の効果をもたら
す、非常に有用なアイテムである。もちろん、悪影響をもたらす指輪も強力である。大
抵の指輪は、しているだけでより速く空腹になる。その速さは指輪の種類による。指輪
は、付いている石や宝石の種類で区別される。指輪を使うコマンドには、「P」(put on
ring/する)と「R](remove ring/外す)がある。
7.7. 食料
食料は君が生きていく上で必要な物だ。もし余りに長く何も食べないでいると、君は気
絶し、最後には餓死するだろう。食料を使うコマンドには、「e」(eat food/食べる)が
ある。
8. オプション
個人の様々な好みやローグのやり方の違いに合わせるために、様々な方法でローグを操
るオプションを選ぶ事ができる。
8.1 オプション設定
オプションを設定するには2つの方法がある。1つめはローグをプレイ中に「o」コマンド
を使う事、2つめは「ROGUEOPTS」環境変数を使う事である。
8.1.1. 「o」コマンドを使うには
ローグをプレイ中、「o」をタイプすると、スクリーンが消え、総てのオプションについ
て現在の設定が表示される。カーソルが最初のオプションに移動し、君が何かタイプす
るのを待っている。[Enter]をタイプすると次の項目へ移動し、「-」は前の項目へ移動、
[Esc]はゲームに戻る事を意味し、もちろんオプションの値を入力する事もできる。真か
偽かの2値を取るオプションでは、単に真なら「t」、偽なら「f」をタイプするだけでよ
い。文字列が必要なオプションの場合、新しいデータを打ち込んでから[Enter]をタイプ
すればよい。
8.1.2. ROGUEOPTS変数を使うには
ROGUEOPTS変数は、種々のオプションの初期値のリストを、コンマ区切りで文字列にした
物を含んでいる。真偽2値を持つ変数は、その名前でオン、前に「no」を付けた名前にす
るとオフになる。この様にして、jump(ジャンプ)をオンに、terse(簡潔)をオフ、name
(名前)を「Blue Meanie」にするROGUEOPTS変数の設定には、コマンドを次のように使え
ばよい。
% setenv ROGUEOPTS "jump,noterse,name=Blue Meanie"4
8.2. オプションのリスト
ここに、オプションのリストと、それぞれが何であるかの説明を用意した。それぞれの
デフォルトの値は、カギ括弧で括ってある。オプションの文字列は、50文字を超えると
無視されてしまうので気をつける事。
terse [noterse] (簡潔)
ローグから時折出される長いメッセージに疲れてしまう者にとっては有用だろう。これ
は非常に遅いターミナルでプレイする際に有用なので、1200ボー以下の遅いターミナル
ではterse(簡潔)がデフォルトになる。
jump [nojump] (ジャンプ)
このオプションをセットすると、走る際、途中は表示せずにいきなり最終点に到達する
ようになる。これはCPUと表示の時間をかなり節約できる。遅いターミナルでプレイする
場合にはjump(ジャンプ)がデフォルトになる。
flush [noflush] (フラッシュ)
総ての先行入力は、1ターンごとに捨てられる。遙か前にタイプしていたのが活きていて、
それが故にBatなんかに殺されてしまうと言うような事をがっかりしながら見ているよう
な者には、有用であろう。
seefloor [seefloor] (床を見る)
暗い部屋では君が移動する際、君の周囲の床を表示する。キャラクタをたくさん表示し
なければならないので、遅いターミナルを使っている場合には、デフォルトで
noseefloor(床を見ない)になる。
passgo [nopassgo] (通り過ぎる)
通路の曲がり角で自動的に曲がる。君が通路を走っていて石や壁にぶつかったとき、ロー
グが左右に曲がれるかどうか確認するだろう。もし一方にしか曲がれないなら、そのよ
うに曲がる。もしどちらへも行ける、もしくはどちらへも行けない場合、立ち止まる。
このアルゴリズムは、時々わずかではあるものの混乱の元になる。それが、nopassgoが
デフォルトにしてある理由の1つである。
tombstone [tombstone] (墓石)
もし君が死んでしまったとき、最後に墓石を表示する。これは素晴らしいのだが、動作
が遅いので、好みによっては表示しないようにもできる。
inven [overwrite] (持ち物のリスト)
持ち物リストのタイプ。これは次の3つの内、1つを選べる: overwrite(上書き)、slow
(低速)、clear(クリア)。overwrite は、持ち物のリストコマンド「i」をタイプしたと
き、もしくは「どのアイテムを表示しますか?」という問いに対して「*」で答えたとき
など、マップの上の方の行を上書きして表示する。しかしながら、もしスクリーンの行
数よりもリストが長い場合、スクリーンはクリアされてしまう。slowは、スクリーンの
最上行だけを使って一度に1つのアイテムしか表示しない。そして、clearは、スクリー
ンをクリアした上でリストを表示し、洞窟の地図は後で再表示する。速度的な事を考え
ると、「行末まで消去」ができないターミナルのために、clearがデフォルトである。
name [account name] (名前)
これは君のキャラクタの名前だ。ベスト10に入った場合、この名前が使われる。
fruit [slime-mold] (フルーツ)
これには、君が食べるのが楽しみなフルーツの名前を入れるべきだ。ローグはfoodでは
なく時折これを見つけるが、それは基本的には単なる気まぐれである。
file [~/rogue.save] (ファイル名)
ゲームをセーブしておくためのファイル名のデフォルト。何かの事故で君の電話が切れ
てしまった場合(訳者注:電話モデムを使っている場合を想定してるようだ)、ローグは
自動的にこのファイルにゲームをセーブしてくれる。ファイル名は、君のホームディレ
クトリ名に展開される特別なキャラクタである「~」で始める事もできる。
9. 得点
ローグは通常、君のマシンでトップスコアを出した者やそのスコアを保持している。設
定方法によって、トップスコアとトッププレイヤーの両方を掲載する事もできる。後者
の場合、そのマシンでの個々のアカウントに対してイェンダーの魔除けを取って戻って
来ていないものだけをリストにする事もできる。いくつのスコアが保持できるのかは、
君のマシンでインストールする者は誰でも、設定する事ができる。
君がゲームを途中で止めた場合、君の集めた金は無償のまま君の手元に残る。しかしな
がら、もし君が運命の洞窟で殺されてしまったなら、君の遺体は90%の金とともに近親
者の元に届けられる。と言うのは、金の10%は洞窟の魔法使いへの謝礼5として手渡され
るからだ。このことから、君は危機に瀕している際、最後の一撃を怪物にお見舞いして
生き残る可能性を期待するか、そこでゲームを途中で止めて金の全てを手に入れるかの
どちらかを選択しなければならない事になる。もし止めてしまえば全ての金を手に入れ
られるが、しかし戦って生き延びられれば更に多くの金を見つける事も可能だろう。
もし君が、現在のトッププレイヤー/トップゲームのリストを見たいだけなら、次のよう
にタイプすればよい。
% rogue54 −s
10. 謝辞
ローグは最初、Glenn WichmanとMichael Toyによって考案された。Ken ArnoldとMichael
Toyはユーザインターフェースを取り払い、実にたくさんの新機能を加えた。アイデア
を出したり援助をしてくれたBob Arnold、Michelle Busch、Andy Hatcher、Kipp
Hickman、Mark Horton、Daniel Jensen、Bill Joy、Joe Kalash、Steve Maurer、Marty
McNary、Jan MillerそしてScott Nelsonに感謝の意を表したい。また、有り難くもロー
グをプレイするために仕事も学校も社会生活さえも無視し、我々にバグや不満、提案、
そして本当にプレーンな情熱を送りつけてきてくれた多くの者達へ感謝したい。そして、
母にも。
† UNIXはベル研究所の登録商標です。
1 疑似英文と対照的に。
2 スクリーンサイズは、最小でも24行80桁必要である。もしこれよりもスクリーンが大
きければ、24x80の部分だけがマップに使われる。
3 実際、それは外蒙古で、ある種族の27人だけで話される方言である。しかし、それを
君が知っているとは思えない。
4 ボーンシェルshを使う人は、この様なコマンドを使えばよいだろう。
$ ROGUEOPTS="jump,noterse,name=Blue Meanie"
$ export ROGUEOPTS
(訳者注) Windowsのコマンドプロンプトからは、次のようにすればよい。
set ROGUEOPTS=jump,noterse,name=Blue Meanie
5 洞窟の魔法使いは、名前をウォリーと言う不思議なアナグマである。祈祷には多額の
寄付を必要とする。
==============================================================================
Naohiro Aota様のドキュメント
rougeclone2s (データ分離版ローグ・クローンII メンテナンスバージョン のUTF-8版)
これは、rougeclone2s (データ分離版ローグ・クローンII メンテナンスバー
ジョン)をUTF-8に対応させたものです。今のところ、改変はそれにまつわると
ころだけですので、ぼくからのREADMEはこれだけです。
Naohiro Aota <naota@elisp.net>
では、以下のもともとの README をお楽しみください :D
==============================================================================
FUNABARA Masao様のドキュメント
■はじめに
このゲームは、伊藤康史さん作成の「データ分離版ローグ・クローンII」の独自メン
テナンスバージョンです。
「データ分離版ローグ・クローンII」は素晴らしいプログラムですが、作成されてか
ら10年以上が経過しています。
その頃とプログラミング環境を比べるとかなり変化しています。C99 の規格が策定さ
れ、autoconf / automake などの互換性を保持するツールも登場しています。
また、以前の仕様で書かれた「データ分離版ローグ・クローンII」はソース内に様々
な機種用のソースコードが入っていて見るのが少し難しくなっています。
そこでこの素晴らしいプログラムを少しでも分かりやすく・コンパイルしやすくしよ
うと目指しているのがこの rogueclone2s です。
■コンパイルするには
付属の INSTALL を御覧ください。
ソース・プログラムを変更した場合には、『play.c』の中のバージョン表示にメッセ
ージを追加して、変更の履歴を残すようにしてください。
■ゲームの始め方
ゲームを始めるには、端末から引数にメッセージファイルを与え、プログラムを起動
させます。
% rogue mesg
また、スコアを見たり、セーブファイルから始めるにはメッセージファイルの後にそ
れぞれオプションやファイルを指定します。
% rogue mesg -s
% rogue mesg savefile
■ゲームの遊び方
初めてローグをする人は、まずrogue.doc を読んでください。この中には基本的な遊
び方が書かれています。遊び方を知っている人は、options.doc を読んでください。
この中には rogueclone2s のオプションについて書かれています。
なお、rogue.man はUNIXコマンドマニュアルであり、オリジナルのローグ・クローン
2に付属していたものを和訳したものです。
ローグに関する書籍としては以下のものがあります。
・ローグハンドブック (ゲームハンドブックシリーズ - 3) ¥1,500
竹山正寿・木村信行・太田昌孝著 株式会社ビー・エヌ・エヌ 発行
■利用条件
このソースの利用条件その他については COPYINGに記述がありますので、そちらをご
覧ください。
■データ分離版ローグ・クローンIIとの主要な違い
付属の NEWS を御覧ください。
■ゲーム進行におけるオリジナル・ローグ5.3との主要な違い
基本的な戦略はオリジナルと同じですが、全体に易しくなっています。
・部屋はいつでも明るく、入ると同時にすべてが見える
・迷路のマッピングが異なる
・大部屋(!)がある
・巻き物や水薬は1度使えば効果が明らかになる
・部屋の入口にも持ち物を落とすことができる
■playmenu.cについて
playmenu.cはそのままでは動かないはずです。使っていないので直してありません。
■最後に
それでは、Enjoy happy hacking!
--
FUNABARA Masao
==============================================================================
伊藤 康史様のドキュメント
データ分離版ローグ・クローンII
○はじめに
このゲームは (株) リコー ソフトウェア事業部の太田 純 さんによる、
『ローグ・クローン2日本語版 1.3』をもとに、プログラムとデータを分
離したものです。ゲーム自体はオリジナルのものと、ほとんど変わりありませ
ん。
このプログラムは、メッセージを好きなように変えた「ローグ」をリコンパ
イルせずに作るために、メッセージとプログラムを分離したものです。
○ゲームの仕方
このゲームはデータが分離しているので、そのファイル名を引数として与え
る必要があります。
例: rogue mesg
その他、オプション -s (スコアを見る) あるいはセーブファイルの指定な
どは、メッセージファイルの後に与えます。
例: rogue mesg -s
rogue mesg savedfile
○著作権について
このプログラムは、ソース、実行ファイルを含めてコピーフリーで、利用・
改変・再配布は自由に行なうことが出来ます。
このプログラムは、Tim Stoehr による英語版の Rogue-clone: Version II
を太田 純さんが日本語化して MS-DOS に移植したものを私が UNIX 向けのデ
バッグとメッセージの分離を行なったものです。
Tim Stothr と私は著作権を放棄していますので、日本語版の著作権、著作
者人格権は太田 純さんが所有しています。太田 純さんが関わっていない部分
(README.doc 参照) は、完全な PDS です。
著作権に関する詳細は、太田 純さんの書いたドキュメント README.doc を
参照してください。
○コンパイルするには
・UNIX 環境では次の環境での動作を確認しています。
SunOS 4.1.1 (Sun Sparc Station 1) gcc
UniOS-B (OMRON LUNA) cc, gcc
NeXT step 2.1J (NeXT Cube Monochrome 68030) cc, gcc
386BSD (NEC PC-9801DA) gcc
Makefile.nix の適当な部分を使ってコンパイルして下さい。
* Sparc の cc など、
(condition) ? "文字列定数1" : "文字列定数2"
を通さないコンパイラでは、このままではコンパイルできません。
* machdep.c で ioctl() を用いているので、環境によっては
traditional の cpp を用いる必要があります。
gcc 2.0 以上では、デフォルトで ANSI 準拠ですから気をつけて下さい。
* System V は あまりテストしていません。若干ライブラリの関数名が違
うかもしれません。
* System V の terminfo には対応していません。termcap を
シミュレートして下さい。
・MS-DOS 上で使うには、まず *.c, mesg* を Shift-JIS に変換して下さい。
Microsoft C
Borland C
上での動作を確認しました。
処理系がないので確認できませんが、 Lattice-C でもコンパイルできる
かもしれません(オリジナルではできるそうです)。
Shift-JIS コードを通すコンパイラを使って下さい。
データエリアが大きいので Huge モデルでコンパイルして下さい。
Makefile.tcc は直してありません。
#if のネストを許さないようなコンパイラではもはやコンパイルできない
はずです。
主記憶が少ないマシンでは、コンパイル・実行が出来ないことがあります。
make を使っていると最後のリンクだけ出来ないということもあります。
関数宣言などの問題で、若干の修正が必要なことがあります。
附属の BATCHCOM.COM (batchcom.uue) はなぜか動作しませんので、適当
に INSTALL.BAT (install.uue) を書き換えてMakefileを生成して下さい。
くわしくは、太田 純さんの書いたドキュメント README.doc を参照して
ください。
・Human 68k (X68000) 上で使うには、まず *.c, mesg* を Shift-JIS に変換
して下さい。
gcc + XC のライブラリ
での動作を確認しています。XC でコンパイルできるかどうかは、KMC では
もはや XC はインストールされていないので確認できません。
◇コンパイラオプション
-DUNIX すべての UNIX システム。
-DUNIX_BSD4_2 4.2BSD 以降(4.1も?)。
-DUNIX_386BSD fpurge(FILE *stream) (バッファの内容を捨てる)
のあるシステム。
386BSD では、FILE 構造体が変わっていて、
ふつうの flush ができない。
-DUNIX, -DUNIX_BSD4_2 は必要。
-DUNIX_SYSV System Vのとき。
-DCURSES のときには BSD 相当の termcap が必要。
-DMSDOS MS-DOS, Human 68k のとき。
-DHUMAN Human 68k のとき。
-DMSDOS が必要。
-DCURSES 附属の curses を使う。これがないときには
システムの curses ライブラリを使う。
-DCOLOR カラーにする。
-DCURSES をつけて附属の curses を使う必要がある。
UNIX 上では出来ない(と思う)。
-DJAPAN 日本語モードにする。
NeXT 以外は -DCURSES が必要。(?)
NeXT はどちらでも良い。
-DEUC 漢字コードを UNIX JIS にする。
これをつけないと Shift-JIS とになる。
-DJAPAN がないときには無意味。
-DTOPSCO 最高得点に同一の人が複数載るようにする。
これをつけないとその人の最高のものしか載らない。
この有無によってメッセージファイルの 187 番目
の記述を変える必要がある。
-DORIGINAL Tim Stothr によるオリジナルをコンパイルする。
もうこれをつけてコンパイルすることが
出来なくなってしまいました (;_:)。
○ローグ・クローン2 日本語版1.3からの変更点
・メッセージを分離し、プログラム起動時の第1引数で与えられるファイルから
読み込むようにました。
メッセージファイルの構造は、
メッセージ番号 "メッセージ"
で、このフォーマット以外の部分はすべてコメントとして読み飛ばされます。
必要なメッセージが抜けていると暴走しますので注意して下さい。漢字を
使う場合は、コードは -DEUC が指定されているときには UNIX JIS、そうで
ないときはShift-JIS である必要があります。コントロールコードのような、
バイト数と表示される長さが異なってくるようなものは使えません。また、
" (2重引用符) を含めることもできません。
・UNIX の termcap を次のように解釈するようにしました。
1) 環境変数 TERMCAP にtermcap エントリを指定する、
または
2) TERM に端末のタイプを指定し、TERMCAP に termcap ファイル名を指定す
る(この場合は TERMCAP の指定がなければ /etc/termcap とみなされる)。
・ソースの #if defined(JAPAN) && !defined(CURSES) という所は、NeXTを
想定しています。
・指輪と食糧の減り方の関係がおかしいというバグを直しました。
・プレイヤーの名前として、環境変数 FIGHTER の値が USER の値に優先する
ようにしてあります。
○バグ
・NeXT の jcurses を使ってコンパイルすると、画面ダンプ (Control-D) で、
漢字がおかしくなります。これは jcurses から得られる画面情報の最上位ビ
ットがおかしいからです。save game コマンド(S) では対策をしてあります。
・termcap の解釈で、同じエントリがあると最後のものが有効になります(本当
は tc= エントリがあることを考えて、最初ものが有効になるのが望ましい)。
また、@ (そのエントリが存在しないことを示す) は何もないのと同じです。
・Sparc (kterm / X11R4) 上で、最上部の表示がおかしくなることがあります。
[続く]等が残ってしまうというものです。kterm のバグかもしれませんが。
・playmenu.c はそのままでは動かないはずです。使っていないので直してあ
りません。元のままのソースです。rogue.exe にメッセージファイル名の
引数を与えるようにすればば動くと思います。
Sept. 10, 1992
京大マイコンクラブ
伊藤 康史 (Ito Yasufumi)
brx@kmc.kyoto-u.ac.jp
==============================================================================
太田純様のドキュメント
■README.doc 原版より
●ローグ・クローン2 日本語版1.3について はじめに
このゲームはバークレイ版UNIXに載っているオリジナル・ローグ5.3のクロー
ンです。原作者のTim Stoehrは、ローグを見てプログラムのソースを手に
入れたかったのですが、それが不可能だったので、クローンを自分で作ってしまった
わけです。そしてそのローグ・クローンのソースをパブリック・ドメインに置いて、
誰もが触ることができるようにしました。
このオリジナルのローグ・クローン(ああ、ややこしい)はUNIX上で動くプログ
ラムでしたが、私がMS−DOS上に移植しました。日電のPC−9801シリーズ
を初めとして、日本語の使えるほとんどのMS−DOSマシン上で実行できるように
したつもりです。大きな変更は、メッセージを日本語化したこととカラーにしたこと
です。その段階でソースをあちこちいじり回したので、かなりの数のバグがひそんで
いると思われます(実際にひそんでいました:−)。これらのバグは、原作者ではな
くすべて私の責任です。
●プレイヤー・メニューについて
配布ファイル中のROGUE.COMは、複数の人間が1台のMS−DOSマシンで
ローグをプレイするためのメニューコマンドです。メニュー上で10人までのプレイ
ヤーを登録し、それぞれに独立した名前とセーブファイルを持たせることができます。
セーブされたゲームの再開も自動的に行います。
操作方法は簡単で、H、J、K、Lキーでカーソル移動、スペースあるいはリターン
で選択・実行、エスケープでキャンセルです。名前を登録・変更するときには、バッ
クスペース(1文字削除)、CTRL−U(1行削除)も有効です。PC−9801
ではH、J、K、Lキーの代わりにカーソルキーを使うこともできます。
最初にローグで遊ぶときは、メニューから『A.プレイヤー登録』を選び、表示され
るメッセージに従ってプレイヤーの名前を登録してください(プレイヤー名には漢字
を使用することができます)。次回からはH、J、K、Lキーでプレイヤーを選んで
スペースを押せば、ゲームが始まります。
ROGUE.COMは、独自に管理するプレイヤー情報に基づいて環境変数USER、
ローグのオプションname、fileを設定し、ローグの実行ファイルであるRO
GUE.EXEを起動します。このため、ROGUE.COM経由でローグをプレイ
する場合には、環境変数USER、ROGUEOPT9が一時的に無効になります。
*rogue-guide*
日本語版ローグ・クローンによる『運命の洞窟』への招待
太田 純
(株)リコー ソフトウェア事業部
概 要
日本語版ローグ・クローンはMS-DOSのもとで実行できるキャ
ラクター・オリエンテッドなアドベンチャー&ファンタジー・ゲー
ムであり、バークレイ版UNIXに含まれているローグ5.3とほ
ぼ同様の機能を持つクローンである。ここでは日本語版ローグ・ク
ローンで遊ぶための方法、またいくつかのヒントを述べていく。
*rogue-guide-introduction*
1.ゲームシナリオ(背景と進行)
『君はある地方の戦士訓練学校での数年間を終えたばかりである。多くの汗と試練
をくぐり抜け、とうとう訓練を終了した君は、いつでも危険な冒険へと旅発つ心の準
備ができている。訓練学校の教師は、君の腕前を試すために君を運命の洞窟へ送り込
むことにした。君に課せられた試練は、イェンダーの魔除けを手に入れて戻ることで
ある。成功のあかつきには、君は名誉ある地方戦士協会の一員となることができる。
さらに、洞窟から持ち帰った財宝はすべて自分の物とすることができるのだ。
冒険の旅に備え、はるか遠くにあるダークマウンテンに棲むドラゴンから奪い取っ
て来たといわれる魔法のかけられたほこ、弓、そして1束の矢が君に与えられた。君
はまた、森に棲む妖精が作ったかたびらを身にまとい、洞窟にたどりつくまでの食糧
を持った。家族と友人に最後の別れを告げると、君は道を向かった。
洞窟へ出発してから数日のあいだ何事もなく旅を続けたのちに、君はようやく運命
の洞窟への入口となる古代の廃虚にたどりついた。夜も更けていたので、君は洞窟の
入口を宿と決め、その晩は夜空の下で眠った。一夜が明けると、君は武器を集め、か
たびらを身にまとい、残り少ない食事を取り、そして洞窟へと降りていった‥‥。』
‥‥‥オリジナルのローグについての論文「『運命の洞窟』への招待」より
このゲームの目的は、運命の洞窟を探検して怪物たちと戦いながら、地下25階よ
り深いどこかにあるイェンダーの魔除けを探し出し、それを持って地上に戻ってくる
ことである。
地下深く続いている洞窟には、各階にいくつかの部屋とそれらを結ぶ通路がある。
洞窟の各階は、それぞれの階に1つだけ存在する階段によって結ばれている。初め、
これらの部屋や通路はどこにあるかわからない。この中を歩き回ってどこに何がある
かを探検するのがプレイヤーの役目である。プレイヤーは各階を探し回りながら階段
により地下へと降りてゆかねばならない。ちなみに、各階のマップはゲームごとに異
なっているので、書き留めておいても無意味である。
部屋や通路にはプレイヤーを倒そうと待ち構えた怪物たちがうろついている。怪物
にはいろいろな種類があり、それぞれ異なった方法で攻撃してくる。プレイヤーは戦
闘コマンドによってこれらの怪物たちと戦いながら経験を積み、強くなっていかなけ
ればならない。
また、部屋や通路にはいろいろなものが落ちている。ゲームのスコアに直結する金
塊や、ゲームを続けるために必要な食糧(空腹なまま歩き回るとプレイヤーは死んで
しまう)、その他にもいろいろな魔力を持った品物がある。これらの品物は拾うこと
ができ、拾い上げた品物はプレイヤーが持ち歩いている袋の中にしまわれる。この持
ち物を上手に利用することによって怪物たちとの戦いを有利に進めることができる。
また、倒した怪物が品物を持っていることもある。
*rogue-guide-screen*
2.画面配置
次に示す図はゲーム開始時の画面の例である。プレイヤーは洞窟の地下1階にある
部屋の1つにいる。同じ部屋の中にへびと大うずらがいるのが見える。また、金塊と
水薬が1つずつ落ちている。プレイヤーの下方には地下2階へと続く階段がある。さ
らに、プレイヤーのいる部屋には上、右、下にドアがあり、通路を隔てて別の部屋へ
続いているようだ。
----------------------------------------------------------------------------
やあ、戦士。 運命の洞窟へようこそ...
>
-----+---------------
|..@..............*.|
|...............!...|
|...................|
|.%.................|
|.......S....E......+
------------+--------
<
階: 1 金塊: 0 体力: 12(12) 強さ: 16(16) 守備: 4 経験: 1/0
----------------------------------------------------------------------------
画面最下行はプレイヤーの現在状態を表している。以下はその説明である。
階: 現在、洞窟の地下何階にいるかを表す。
金塊: 今までに拾った金塊の数を表す。
体力: 体力の現在値と上限値。どれだけダメージを受けると死ぬかを表す。怪物の
攻撃を受けるたびにその値は減って行く。休んでいれば体力は回復する。括
弧の中の数値は体力の上限値を表している。
強さ: 強さの現在値と上限値。これは3と31の間の数である。この数値が大きい
ほど、プレイヤーの攻撃力は増す。括弧の中の数値はこれまでに得た最大の
強さを表している。
守備: 現在着ているよろいの守備力。この数値が大きいほど怪物の攻撃に耐えるこ
とができる。
経験: これら2つの数値はプレイヤーの現在の経験レベルと経験値を示している。
プレイヤーが何かをするたびに経験値が上がる。経験値がある値に達すると
次の経験レベルに進むことができる。経験を積めば積むほどプレイヤーの戦
いの腕が上がり、また魔力による攻撃に耐えられるようになる。
さらに、プレイヤーが空腹状態にあるときには最下行の右端に『空腹』あるいは『飢
餓』の表示が現れることもある。
画面最上行はメッセージを表示するために使われる。『[続く]』というメッセー
ジが表示されたときは、メッセージの続きがある。これを読むためにはスペースを打
てばよい。
それ以外の部分はその階のマップである。画面上の文字は以下に示す意味を持って
いる。
@ これはプレイヤーを表す。
-| これらの記号は部屋を囲む壁を表す。
+ 部屋の入口・出口のドア。
. 部屋の床。
# 部屋と部屋の間にある通路。
* 金塊。
) 武器。
] よろいかたびら。
! 魔法の水薬が入っている小瓶。
? 魔法の巻き物。
= 魔法の指輪。
/ 魔法の杖。
^ わな。通常は隠れている。
% 前あるいは次の階へ通じる階段。
: 食糧。
, イェンダーの魔除け。これを探し出すことが最終目的である。
A-Z さまざまな怪物たち。
*rogue-guide-commands*
3.コマンド
ローグでは、1~3文字のコマンドを入力することによってゲームを進める。ほと
んどのコマンドは、繰り返しの回数を指定することができる(例えば『10h』と打
つと、左に10カラム移動する)。回数が意味を持たないコマンドでは、回数は無視
される。コマンドを途中でキャンセルしたいときにはエスケープキーを打てばよい。
以下の説明の中で <方角> には『hjklyumn』のいずれか1文字を入力する。
また <持ち物> にはプレイヤーが現在持ち歩いている持ち物を表わす1文字のアルフ
ァベットを入力する。(『*』を入力すれば、指定できる持ち物のリストが表示され
るので、その中から選んで入力することができる。)また、以下の説明の中で『^』
はコントロールキーを表している。すなわち、『^H』はコントロールキーを押しな
がら『H』を押すことを意味している。
? ヘルプコマンド。すべてのコマンドのリストを表示する。
/ <文字>
マップ上の文字が何を表しているかを教えてくれる。
h, H, ^H
左に移動する。プレイヤーが1つ左に移動する。大文字の場合は、何かにぶ
つかるまで左に移動する。これはすべての移動コマンドに共通である(例え
ば、『J』は『j』の方向に走ることを意味する)。また『コントロール』
+『h』では、プレイヤーは何かのそばを通るか、または壁にぶつかるまで
移動を続ける。これもすべての移動コマンドに共通である。
j 下に移動する。
k 上に移動する。
l 右に移動する。
y 左上に移動する。
u 右上に移動する。
b 左下に移動する。
n 右下に移動する。
t <方角> <持ち物(武器)>
指定した方角に指定した持ち物を投げる。例えば『the』は持ち物『e』
を左に投げる。 (throw)
f <方角>
指定した方角に接している怪物と、どちらかが死にそうになるまで戦う。
(fight)
F <方角>
指定した方角に接している怪物と、どちらかが死ぬまで戦う。 (fight)
m <方角>
指定した方角に1つ移動するが、そこに何かが落ちていても拾わない。
(move)
z <方角> <持ち物(杖)>
指定した方角に杖を向け、発射する。 (zap)
^ <方角>
指定した方角に接しているわなの種類を教えてくれる。
s プレイヤーのすぐ隣の場所にわなあるいは隠されたドアがあるかどうかを調
べる。何十回も調べなければみつけることができないわなやドアもある。
(search)
> 階段の上に立っているとき、その階段を降りる。
< 階段の上に立っているとき、その階段を上がる。イェンダーの魔除けを持っ
ていない限り、階段を上がることはできない。
. 休む。何かを待ったり、体力を回復するために使うことができる。
, 何かの上に立っているときに、その足元にあるものを拾い上げる。
i これは持ち物を調べるコマンドであり、プレイヤーが袋の中に持ち歩いてい
るもののリストを表示する。 (inventory)
I <持ち物>
指定した持ち物だけを調べる。袋の中にある1種類のものだけを見る。
(inventory)
q <持ち物(水薬)>
持ち物の中の水薬を飲む。 (quaff)
r <持ち物(巻き物)>
持ち物の中の巻き物を読む。 (read)
e <持ち物(食糧)>
持ち物の中の食糧を食べる。 (eat)
w <持ち物(武器)>
武器を持ち換える。呪いのかかった武器を持ち換えることはできない。
(wield)
W <持ち物(よろい)>
よろいを着る。一度に着ることができるよろいは1つだけである。よろいを
着るためにはある程度の時間が掛かる。 (wear)
T <持ち物(よろい)>
よろいを脱ぐ。呪いのかかったよろいを脱ぐことはできない。よろいを脱ぐ
ためにはある程度の時間が掛かる。 (take off)
P <持ち物(指輪)>
指輪をはめる。両方の手に1つずつ指輪をすることができる。1つも指輪を
していないときには、どちらの手にはめるか聞いてくるので『l(左)』ま
たは『r(右)』入力する。どちらかに指輪をしているときには、指輪をし
ていない方の手にはめられる。また、プログラムはプレイヤーが右手で剣を
持つものと仮定している。 (put on)
R <持ち物(指輪)>
指輪をはずす。1つの指輪だけをしているときにはそれがはずされる。2つ
の指輪をしているときにはどちらをはずすか聞いてくるので『l(左)』ま
たは『r(右)』を入力する。また、呪いのかかった指輪をはずすことはで
きない。 (remove)
d <持ち物>
指定した持ち物を落とす。袋から1つの持ち物を取り出して床に置く。1つ
の場所には1つのものしか置くことができない。呪われた武器、よろい、指
輪を身につけているとき、それを落とすことはできない。 (drop)
c <持ち物> <呼び名‥‥‥>
指定した持ち物に呼び名をつける。袋の中の持ち物が何であるかを憶えてお
きたいとき、このコマンドでその持ち物に名前をつけることができる。これ
は通常、水薬、巻き物、指輪、杖を拾ったあとで、それが何であるかわかっ
たとき、あるいは袋の中のどの剣を手に持っていたのか憶えておきたいとき
に使う。 (call)
D <文字>
これまでに効果が明らかになった品物を表示する。このコマンドはどの種類
の品物を調べたいかを聞いてくる。『*』を入力すればすべての品物につい
て表示を行い、また、ある種類の品物を表わす文字を入力すれば(例えば水
薬なら『!』)、その種類に属する品物のなかでどれの効果が明らかになっ
ているか(すなわち、それが何か)を表示する。 (discovered)
o オプションを表示、設定する。このコマンドについてはオプションの項でく
わしく説明する。 (option)
^R 画面を書き直す。画面が乱れたときに使う。 (redraw)
^P 直前のメッセージを再表示する。読めないうちにメッセージが消えてしまっ
たときに便利である。 (previous)
! MS-DOSのコマンドを実行するため、COMMAND.COMを呼び出
す。『exit』コマンドでローグに戻ることができる。
Q ゲームを途中で終了する。本当に終了してよいか聞いてくるので、よければ
『y』を入力する。 (quit)
S ゲームをファイルにセーブして終了する。セーブするファイル名を聞いてく
るので、ファイル名を入力してリターンキーを押す。 (save)
セーブされたゲームを再開するには、次にローグを始めるときに、引数とし
てそのファイル名を与えればよい。
A> rogue セーブファイル
v ローグののバージョン番号を表示する。 (version)
) 現在手に持っている武器を表示する。
] 現在着ているよろいを表示する。
= 現在つけている指輪を表示する。
@ プレイヤーの現在状態を表す行を再表示する。
a 直前のコマンドを繰り返す。
% 現在の画面をファイルROGUE.SCRにセーブする。
*rogue-guide-fighting*
4.怪物たち、および戦闘
洞窟の中にはさまざまな怪物たちがうろついており、これらの怪物たちとの戦いを
避けることはできない。怪物の攻撃パターンは大きく分けて2つある。プレイヤーの
姿を目にするとただちに立ち向かってくるものと、プレイヤーが攻撃しない限り向か
ってこないものである。また、怪物の強さもさまざまであり、一般的には深い階にい
る怪物ほど攻撃力が強い。ほとんどの怪物は、すぐ隣の位置にいない限りは攻撃して
くることはない。
怪物と戦うための普通の手段は武器を使うことである。武器は手に持って戦うこと
もできれば、怪物に投げつけることもできる。武器を手に持ったまま怪物と戦うため
には、怪物と接する位置で怪物のいる方角に進もうとすればよい。武器を投げる場合
には遠く離れていても攻撃することができる。いずれの方法でも、攻撃できる方向は
プレイヤーの周囲8方向のみである。
*rogue-guide-objects*
5.品物
洞窟の中で見つけたものは、その上を歩けば拾うことができる。拾った品物はプレ
イヤーが持ち歩いている袋の中にしまわれ、何を拾ったかメッセージが表示される。
ただし、プレイヤーが持ち歩くことができる品物には限りがある。持ち物が多すぎる
場合にはローグはその旨を表示し、品物を拾わない。
袋の中の持ち物はさまざまなコマンドで使うことができる。持ち物にはそれを識別
するための1文字のアルファベットが付けられており、使う持ち物はそのアルファベ
ットで指定する。このアルファベットの代わりに『*』を指定すれば、指定できる持
ち物のリストを見ることができ、その中から選ぶことができる。
それぞれの品物には名前が付いている。よろいや武器はその名前を見れば種類がわ
かる。しかし、巻き物はそのタイトルによって、また水薬はその色によって名前が付
けられており、使ってみるまでその種類はわからない。このタイトルや色はゲームご
とに変わるので、予測することができない。しかし、1回のゲームの間は、同じ名前
の品物は同じ種類のものである。
巻き物や水薬は1回使うとその効果がわかり、次に拾ったときにはその効果を表す
名前が付いてくる。しかし、杖などのように簡単には効果がわからないものについて
はそのようなことはない。効果がわかったならば、『呼び名を付ける』コマンドによ
って名前を付けておくのがよい。
(1)武器
武器を使うためには、それを手に持っていなければならない。弓を使って矢を射る
ためには、まず弓を『手に持ち』、それから矢を『投げる』必要がある。1度にはた
だ1つの武器しか手に持つことはできない。武器は魔法がかかっていることや呪われ
ていることがある。魔法がかかっている武器は強く、呪われている武器は弱いのが普
通である。また、手に持っている武器が呪われているときは武器を持ち換えることは
できない。なお、持ち物を調べるコマンドによる表示は次の意味を持つ。
(当たり易さ,当たったときの強さ)武器名
武器を使うためのコマンドは『w(手に持つ)』と『t(投げる)』である。
(2)よろい
よろいは怪物の攻撃から身を守る働きを持つ。そのためにはよろいを着ている必要
がある。よろいは1度に1つだけしか身につけることができないので、よろいを着る
ためには、まず現在着ているよろいを脱がなければならない。また、よろいを着たり
脱いだりするにはある程度の時間が掛かる。よろいには魔法がかかっていることや呪
われていることがある。魔法がかかっているよろいは強く、呪われているよろいは弱
いのが普通である。また、着ているよろいが呪われているときは、脱ぐことはできな
い。よろいはその種類によって基本的な守備力が異なる。以下はそのリストである。
数値が大きいほど、守備力は強い。
------------------------------------------
種類 守備力
なし 0
革のよろい 2
かたびら 3
うろこのよろい 4
鎖かたびら 5
帯金のよろい・延金のよろい 6
鋼鉄のよろい 7
------------------------------------------
なお、持ち物を調べるコマンドによる表示は次の意味を持つ。
(基本守備力からの差)よろいの種類[守備力の合計]
よろいを使うためのコマンドは『W(着る)』および『T(脱ぐ)』である。
(3)巻き物
巻き物には魔法の力を持った呪文が書かれており、それを読むと奇跡が起こると言
われている。巻き物には見知らぬ国の言葉で書かれたタイトルがつけられている。ま
た、巻き物は1度読むと消えてしまう。
巻き物を使うためのコマンドは『r(読む)』である。
(4)水薬
当然のことながら水薬はそれを飲んだ者の体に何らかの影響を与える液体である。
水薬の種類はその色で区別される。また、水薬は1度飲んでしまうとなくなる。
水薬を使うためのコマンドは『q(飲む)』である。
(5)杖
杖は木や金属でできており、その種類は杖の材質で区別される。これらの杖は魔法
の力を持っていて、ある方角に向けて発射することにより、遠く離れたものに影響を
与えることができる。ただし、杖に込められている魔法には限りがあり、使い果たし
てしまうとただの棒になってしまう。なお、持ち物を見るコマンドによる表示は次の
意味を持つ。
杖の種類[残り使用回数]
杖を使うためのコマンドは『z(撃つ)』である。
(6)指輪
指輪は何らかの魔力を持っている。この魔力は使い果たすことがないので、うまく
使えば非常に役に立つ。指輪は両方の手に1つずつはめることができる。ローグのプ
レイヤーは必ず右利きであると言われている。また、指輪には魔法がかかっているこ
とや呪われていることがあり、呪われている指輪は逆効果を持ち、はずすこともでき
ない。さらに、ほとんどの指輪はつけていると食糧の消費が速くなる。その率は指輪
の種類によってさまざまである。指輪の種類は、はめ込まれた宝石によって区別され
る。なお、持ち物を調べるコマンドによる表示は次の意味を持つ。
(効果の強さ)指輪の種類
指輪を使うためのコマンドは『P(はめる)』および『R(はずす)』である。
(7)食糧
冒険を続けるためには食糧が必要である。長いあいだ食事をしないでいると体がだ
んだん弱ってきて、ついにはプレイヤーは死んでしまう。
食糧を使うためのコマンドは『e(食べる)』である。
6.オプション
ローグには、ゲームの振舞いをさまざまに変えるために一連のオプションが用意さ
れている。オプションを設定するには2通りの方法がある。1つはゲームの開始前に
環境変数によって設定する方法であり、もう1つはゲーム中にオプションコマンドで
設定する方法である。
(1)環境変数 ROGUEOPTS, ROGUEOPT1, ..., ROGUEOPT9
ROGUEOPTS 変数には、各種のオプションに対する設定をコンマで区切って並べたリ
ストを設定する。設定の方法は次の通りである。
A> SET ROGUEOPTS=オプション,オプション,...
オプションにはイエスかノーの値を取る真偽値オプションと、文字列を値とする文字
列値オプションがある。真偽値オプションは、オプション名をリストに加えることに
よってイエスを、名前の前に『no』をつけ加えることによってノーを設定すること
ができる。文字列値オプションでは、オプション名の後にコロン『:』を書き、その
後ろに設定する文字列を書く。この文字列の中にカンマ『,』および等号『=』を入
れることはできない。
例として jump を無効に、 passgo を有効に、また name を『つぐむくん』に設定
するためには、MS-DOSプロンプトに対して次のコマンドを実行すればよい。
A> SET ROGUEOPTS=nojump,name:つぐむくん
ここではオプション名を小文字で示したが、 NOJUMP のように大文字で指定するこ
ともできる。また、同じオプションが2度以上設定されている場合には、後で指定し
たものが有効である。さらに、ROGUEOPTS 変数の変種として ROGUEOPT1, ROTUEOPT2,
..., ROGUEOPT9 を使うこともできる。これらの環境変数が設定されているときは、
ROGUEOPTS の続きとして読み込まれる。評価の順序は ROGUEOPTS, ROGUEOPT1, ...,
ROGUEOPT9 の順である。これらの変種を使うことにより、一時的な設定の変更を簡単
に行うことができる。
(2)オプションコマンド
ゲーム中に『o』コマンドを入力すると、ローグは画面をクリアしてすべてのオプ
ションについて現在の設定を表示する。次に、カーソルを最初のオプションに置いて
入力を待つ。そこで、リターンキーを押せば次のオプションに進み、マイナス『-』
では前のオプションに戻ることができる。
オプションの値を変更するには、真偽値オプションに対しては『y(イエス)』ま
たは『n(ノー)』を入力すればよい。文字列値オプションに対しては、新しい文字
列を入力した後にリターンキーを押す。
設定を終了するためには、リターンキーあるいは『-』を何回か押して上下どちら
かに抜け出せばよい。また、途中でキャンセルしたいときは、エスケープキーを押せ
ばただちにゲームに戻ることができる。
(3)各種オプション
ここに挙げたリストは、各種オプションとそれぞれの意味である。省略した場合の
値は『[]』の中に示してある。
これらのオプションの詳細については、オプションについて述べたドキュメントを
参照すること。
jump [nojump]
移動コマンドを実行したとき、移動が終了するまで表示を行わない。これに
より、ゲームをスピードアップすることができる。
passgo [passgo]
部屋と部屋を結ぶ通路を移動するとき、曲がり角で止まらない。
tombstone [tombstone]
プレイヤーが死んでしまったときに墓標を表示する。
color [color]
ゲームマップをカラーで表示する。
fruit [こけもも]
好物のくだものの名前。
file [なし]
ゲームをセーブするために使われるファイル名。
name [環境変数 USER の値]
プレイヤーのニックネーム。最高得点のリストに載るときに使用される。
directory [なし]
スコアファイルや画面ダンプファイルを置くディレクトリー。ゲーム中はこ
のディレクトリーがカレントディレクトリーとなっている。
map [cbmyg]
カラー表示を行う際のキャラクター別カラーマッピング。
type [none]
ゲームを実行する機種名。
init [なし]
ゲーム開始時に画面を初期化するためのエスケープシーケンス。
term [なし]
ゲーム終了時に画面を復帰するためのエスケープシーケンス。
cursor [なし]
カーソルの表示をオン・オフするためのエスケープシーケンス。
*rogue-guide-scoring*
7.スコア
ローグでは、ゲームが終了したときにトップ10のスコアを表示する。現在のゲー
ムの結果がトップ10にランクされた場合には、そのスコアが反転表示される。
ゲームのスコアは、ゲーム終了時にプレイヤーが持っている金額で決まる。『q』
コマンドでゲームを終了したときにはその金額すべてが得点になる。しかし、怪物と
の戦いに破れてゲームが終了したときは、プレイヤーの亡きがらを近親者に送り届け
る手数料として、洞窟の中の葬儀屋が10%を徴収することになっている。このため
金額すべてが得点になるわけではない。
現在のトップ10スコアを見るためには、次のコマンドを実行すればよい。
A> rogue -s
8.参考文献
・A Guide to the Dungeons of Doom (4.3 Berkeley Software Distribution)
Michael C. Toy / Kenneth C. R. C. Arnold
・ローグハンドブック (ゲームハンドブックシリーズ-3) ¥1,500
竹山正寿・木村信行・太田昌孝著 株式会社ビー・エヌ・エヌ 発行
==============================================================================
1984年 Rogue作者によるドキュメント英文
A Guide to the Dungeons of Doom
Michael C. Toy
Kenneth C. R. C. Arnold
Computer Systems Research Group
Department of Electrical Engineering and Computer Science
University of California
Berkeley, California 94720
ABSTRACT
Rogue is a visual CRT based fantasy game which runs
under the UNIX timesharing system. This paper de-
scribes how to play rogue, and gives a few hints for
those who might otherwise get lost in the Dungeons
of Doom.
1. Introduction
You have just finished your years as a student at the
local fighter's guild. After much practice and sweat you
have finally completed your training and are ready to embark
upon a perilous adventure. As a test of your skills, the
local guildmasters have sent you into the Dungeons of Doom.
Your task is to return with the Amulet of Yendor. Your
reward for the completion of this task will be a full mem-
bership in the local guild. In addition, you are allowed to
keep all the loot you bring back from the dungeons.
In preparation for your journey, you are given an
enchanted mace, a bow, and a quiver of arrows taken from a
dragon's hoard in the far off Dark Mountains. You are also
outfitted with elf-crafted armor and given enough food to
reach the dungeons. You say goodbye to family and friends
for what may be the last time and head up the road.
You set out on your way to the dungeons and after sev-
eral days of uneventful travel, you see the ancient ruins
that mark the entrance to the Dungeons of Doom. It is late
at night, so you make camp at the entrance and spend the
night sleeping under the open skies. In the morning you
gather your weapons, put on your armor, eat what is almost
your last food, and enter the dungeons.
2. What is going on here?
You have just begun a game of rogue. Your goal is to
grab as much treasure as you can, find the Amulet of Yendor,
and get out of the Dungeons of Doom alive. On the screen, a
map of where you have been and what you have seen on the
current dungeon level is kept. As you explore more of the
level, it appears on the screen in front of you.
Rogue differs from most computer fantasy games in that
it is screen oriented. Commands are all one or two
keystrokes and the results of your commands are displayed
graphically on the screen rather than being explained in
words.
Another major difference between rogue and other com-
puter fantasy games is that once you have solved all the
puzzles in a standard fantasy game, it has lost most of its
excitement and it ceases to be fun. Rogue, on the other
hand, generates a new dungeon every time you play it and
even the author finds it an entertaining and exciting game.
3. What do all those things on the screen mean?
In order to understand what is going on in rogue you
have to first get some grasp of what rogue is doing with the
screen. The rogue screen is intended to replace the "You
can see ..." descriptions of standard fantasy games. Figure
1 is a sample of what a rogue screen might look like.
------------
|..........+
|..@....]..|
|....B.....|
|..........|
-----+------
Level: 1 Gold: 0 Hp: 12(12) Str: 16(16) Arm: 4 Exp: 1/0
Figure 1
3.1. The bottom line
At the bottom line of the screen are a few pieces of
cryptic information describing your current status. Here is
an explanation of what these things mean:
Level This number indicates how deep you have gone in the
dungeon. It starts at one and goes up as you go
deeper into the dungeon.
Gold The number of gold pieces you have managed to find
and keep with you so far.
Hp Your current and maximum health points. Health
points indicate how much damage you can take before
you die. The more you get hit in a fight, the lower
they get. You can regain health points by resting.
The number in parentheses is the maximum number your
health points can reach.
Str Your current strength and maximum ever strength.
This can be any integer less than or equal to 31, or
greater than or equal to three. The higher the num-
ber, the stronger you are. The number in the paren-
theses is the maximum strength you have attained so
far this game.
Arm Your current armor protection. This number indicates
how effective your armor is in stopping blows from
unfriendly creatures. The higher this number is, the
more effective the armor.
Exp These two numbers give your current experience level
and experience points. As you do things, you gain
experience points. At certain experience point
totals, you gain an experience level. The more expe-
rienced you are, the better you are able to fight and
to withstand magical attacks.
3.2. The top line
The top line of the screen is reserved for printing
messages that describe things that are impossible to repre-
sent visually. If you see a "--More--" on the top line,
this means that rogue wants to print another message on the
screen, but it wants to make certain that you have read the
one that is there first. To read the next message, just
type a space.
3.3. The rest of the screen
The rest of the screen is the map of the level as you
have explored it so far. Each symbol on the screen repre-
sents something. Here is a list of what the various symbols
mean:
@ This symbol represents you, the adventurer.
-| These symbols represent the walls of rooms.
+ A door to/from a room.
. The floor of a room.
# The floor of a passage between rooms.
* A pile or pot of gold.
) A weapon of some sort.
] A piece of armor.
! A flask containing a magic potion.
? A piece of paper, usually a magic scroll.
= A ring with magic properties
/ A magical staff or wand
^ A trap, watch out for these.
% A staircase to other levels
: A piece of food.
A-Z The uppercase letters represent the various inhabitants
of the Dungeons of Doom. Watch out, they can be nasty
and vicious.
4. Commands
Commands are given to rogue by typing one or two char-
acters. Most commands can be preceded by a count to repeat
them (e.g. typing "10s" will do ten searches). Commands for
which counts make no sense have the count ignored. To can-
cel a count or a prefix, type <ESCAPE>. The list of com-
mands is rather long, but it can be read at any time during
the game with the "?" command. Here it is for reference,
with a short explanation of each command.
? The help command. Asks for a character to give help
on. If you type a "*", it will list all the commands,
otherwise it will explain what the character you typed
does.
/ This is the "What is that on the screen?" command. A
"/" followed by any character that you see on the
level, will tell you what that character is. For
instance, typing "/@" will tell you that the "@" symbol
represents you, the player.
h, H, ^H
Move left. You move one space to the left. If you use
upper case "h", you will continue to move left until
you run into something. This works for all movement
commands (e.g. "L" means run in direction "l") If you
use the "control" "h", you will continue moving in the
specified direction until you pass something interest-
ing or run into a wall. You should experiment with
this, since it is a very useful command, but very dif-
ficult to describe. This also works for all movement
commands.
j Move down.
k Move up.
l Move right.
y Move diagonally up and left.
u Move diagonally up and right.
b Move diagonally down and left.
n Move diagonally down and right.
t Throw an object. This is a prefix command. When fol-
lowed with a direction it throws an object in the spec-
ified direction. (e.g. type "th" to throw something to
the left.)
f Fight until someone dies. When followed with a direc-
tion this will force you to fight the creature in that
direction until either you or it bites the big one.
m Move onto something without picking it up. This will
move you one space in the direction you specify and, if
there is an object there you can pick up, it won't do
it.
z Zap prefix. Point a staff or wand in a given direction
and fire it. Even non-directional staves must be
pointed in some direction to be used.
^ Identify trap command. If a trap is on your map and
you can't remember what type it is, you can get rogue
to remind you by getting next to it and typing "^" fol-
lowed by the direction that would move you on top of
it.
s Search for traps and secret doors. Examine each space
immediately adjacent to you for the existence of a trap
or secret door. There is a large chance that even if
there is something there, you won't find it, so you
might have to search a while before you find something.
> Climb down a staircase to the next level. Not surpris-
ingly, this can only be done if you are standing on
staircase.
< Climb up a staircase to the level above. This can't be
done without the Amulet of Yendor in your possession.
. Rest. This is the "do nothing" command. This is good
for waiting and healing.
, Pick up something. This picks up whatever you are cur-
rently standing on, if you are standing on anything at
all.
i Inventory. List what you are carrying in your pack.
I Selective inventory. Tells you what a single item in
your pack is.
q Quaff one of the potions you are carrying.
r Read one of the scrolls in your pack.
e Eat food from your pack.
w Wield a weapon. Take a weapon out of your pack and
carry it for use in combat, replacing the one you are
currently using (if any).
W Wear armor. You can only wear one suit of armor at a
time. This takes extra time.
T Take armor off. You can't remove armor that is cursed.
This takes extra time.
P Put on a ring. You can wear only two rings at a time
(one on each hand). If you aren't wearing any rings,
this command will ask you which hand you want to wear
it on, otherwise, it will place it on the unused hand.
The program assumes that you wield your sword in your
right hand.
R Remove a ring. If you are only wearing one ring, this
command takes it off. If you are wearing two, it will
ask you which one you wish to remove,
d Drop an object. Take something out of your pack and
leave it lying on the floor. Only one object can
occupy each space. You cannot drop a cursed object at
all if you are wielding or wearing it.
c Call an object something. If you have a type of object
in your pack which you wish to remember something
about, you can use the call command to give a name to
that type of object. This is usually used when you
figure out what a potion, scroll, ring, or staff is
after you pick it up, or when you want to remember
which of those swords in your pack you were wielding.
D Print out which things you've discovered something
about. This command will ask you what type of thing
you are interested in. If you type the character for a
given type of object (e.g. "!" for potion) it will
tell you which kinds of that type of object you've dis-
covered (i.e., figured out what they are). This com-
mand works for potions, scrolls, rings, and staves and
wands.
o Examine and set options. This command is further
explained in the section on options.
^R Redraws the screen. Useful if spurious messages or
transmission errors have messed up the display.
^P Print last message. Useful when a message disappears
before you can read it. This only repeats the last
message that was not a mistyped command so that you
don't loose anything by accidentally typing the wrong
character instead of ^P.
<ESCAPE>
Cancel a command, prefix, or count.
! Escape to a shell for some commands.
Q Quit. Leave the game.
S Save the current game in a file. It will ask you
whether you wish to use the default save file. Caveat:
Rogue won't let you start up a copy of a saved game,
and it removes the save file as soon as you start up a
restored game. This is to prevent people from saving a
game just before a dangerous position and then restart-
ing it if they die. To restore a saved game, give the
file name as an argument to rogue. As in
% rogue save_file
To restart from the default save file (see below), run
% rogue -r
v Prints the program version number.
) Print the weapon you are currently wielding
] Print the armor you are currently wearing
= Print the rings you are currently wearing
@ Reprint the status line on the message line
5. Rooms
Rooms in the dungeons are either lit or dark. If you
walk into a lit room, the entire room will be drawn on the
screen as soon as you enter. If you walk into a dark room,
it will only be displayed as you explore it. Upon leaving a
room, all monsters inside the room are erased from the
screen. In the darkness you can only see one space in all
directions around you. A corridor is always dark.
6. Fighting
If you see a monster and you wish to fight it, just
attempt to run into it. Many times a monster you find will
mind its own business unless you attack it. It is often the
case that discretion is the better part of valor.
7. Objects you can find
When you find something in the dungeon, it is common to
want to pick the object up. This is accomplished in rogue
by walking over the object (unless you use the "m" prefix,
see above). If you are carrying too many things, the pro-
gram will tell you and it won't pick up the object, other-
wise it will add it to your pack and tell you what you just
picked up.
Many of the commands that operate on objects must
prompt you to find out which object you want to use. If you
change your mind and don't want to do that command after
all, just type an <ESCAPE> and the command will be aborted.
Some objects, like armor and weapons, are easily dif-
ferentiated. Others, like scrolls and potions, are given
labels which vary according to type. During a game, any two
of the same kind of object with the same label are the same
type. However, the labels will vary from game to game.
When you use one of these labeled objects, if its
effect is obvious, rogue will remember what it is for you.
If it's effect isn't extremely obvious you will be asked
what you want to scribble on it so you will recognize it
later, or you can use the "call" command (see above).
7.1. Weapons
Some weapons, like arrows, come in bunches, but most
come one at a time. In order to use a weapon, you must
wield it. To fire an arrow out of a bow, you must first
wield the bow, then throw the arrow. You can only wield one
weapon at a time, but you can't change weapons if the one
you are currently wielding is cursed. The commands to use
weapons are "w" (wield) and "t" (throw).
7.2. Armor
There are various sorts of armor lying around in the
dungeon. Some of it is enchanted, some is cursed, and some
is just normal. Different armor types have different armor
protection. The higher the armor protection, the more pro-
tection the armor affords against the blows of monsters.
Here is a list of the various armor types and their normal
armor protection:
+-----------------------------------------+
| Type Protection |
|None 0 |
|Leather armor 2 |
|Studded leather / Ring mail 3 |
|Scale mail 4 |
|Chain mail 5 |
|Banded mail / Splint mail 6 |
|Plate mail 7 |
+-----------------------------------------+
If a piece of armor is enchanted, its armor protection will
be higher than normal. If a suit of armor is cursed, its
armor protection will be lower, and you will not be able to
remove it. However, not all armor with a protection that is
lower than normal is cursed.
The commands to use weapons are "W" (wear) and "T"
(take off).
7.3. Scrolls
Scrolls come with titles in an unknown tongue. After
you read a scroll, it disappears from your pack. The com-
mand to use a scroll is "r" (read).
7.4. Potions
Potions are labeled by the color of the liquid inside
the flask. They disappear after being quaffed. The command
to use a scroll is "q" (quaff).
7.5. Staves and Wands
Staves and wands do the same kinds of things. Staves
are identified by a type of wood; wands by a type of metal
or bone. They are generally things you want to do to some-
thing over a long distance, so you must point them at what
you wish to affect to use them. Some staves are not
affected by the direction they are pointed, though. Staves
come with multiple magic charges, the number being random,
and when they are used up, the staff is just a piece of wood
or metal.
The command to use a wand or staff is "z" (zap)
7.6. Rings
Rings are very useful items, since they are relatively
permanent magic, unlike the usually fleeting effects of
potions, scrolls, and staves. Of course, the bad rings are
also more powerful. Most rings also cause you to use up
food more rapidly, the rate varying with the type of ring.
Rings are differentiated by their stone settings. The com-
mands to use rings are "P" (put on) and "R" (remove).
7.7. Food
Food is necessary to keep you going. If you go too
long without eating you will faint, and eventually die of
starvation. The command to use food is "e" (eat).
8. Options
Due to variations in personal tastes and conceptions of
the way rogue should do things, there are a set of options
you can set that cause rogue to behave in various different
ways.
8.1. Setting the options
There are two ways to set the options. The first is
with the "o" command of rogue; the second is with the
"ROGUEOPTS" environment variable.
8.1.1. Using the `o' command
When you type "o" in rogue, it clears the screen and
displays the current settings for all the options. It then
places the cursor by the value of the first option and waits
for you to type. You can type a <RETURN> which means to go
to the next option, a "-" which means to go to the previous
option, an <ESCAPE> which means to return to the game, or
you can give the option a value. For boolean options this
merely involves typing "t" for true or "f" for false. For
string options, type the new value followed by a <RETURN>.
8.1.2. Using the ROGUEOPTS variable
The ROGUEOPTS variable is a string containing a comma
separated list of initial values for the various options.
Boolean variables can be turned on by listing their name or
turned off by putting a "no" in front of the name. Thus to
set up an environment variable so that jump is on, terse is
off, and the name is set to "Blue Meanie", use the command
% setenv ROGUEOPTS "jump,noterse,name=Blue Meanie"
8.2. Option list
Here is a list of the options and an explanation of
what each one is for. The default value for each is
enclosed in square brackets. For character string options,
input over fifty characters will be ignored.
terse [noterse]
Useful for those who are tired of the sometimes lengthy
messages of rogue. This is a useful option for playing
on slow terminals, so this option defaults to terse if
you are on a slow (1200 baud or under) terminal.
jump [nojump]
If this option is set, running moves will not be dis-
played until you reach the end of the move. This saves
considerable cpu and display time. This option
defaults to jump if you are using a slow terminal.
flush [noflush]
All typeahead is thrown away after each round of bat-
tle. This is useful for those who type far ahead and
then watch in dismay as a Bat kills them.
seefloor [seefloor]
Display the floor around you on the screen as you move
through dark rooms. Due to the amount of characters
generated, this option defaults to noseefloor if you
are using a slow terminal.
passgo [nopassgo]
Follow turnings in passageways. If you run in a pas-
sage and you run into stone or a wall, rogue will see
if it can turn to the right or left. If it can only
turn one way, it will turn that way. If it can turn
either or neither, it will stop. This algorithm can
sometimes lead to slightly confusing occurrences which
is why it defaults to nopassgo.
tombstone [tombstone]
Print out the tombstone at the end if you get killed.
This is nice but slow, so you can turn it off if you
like.
inven [overwrite]
Inventory type. This can have one of three values:
overwrite, slow, or clear. With overwrite the top
lines of the map are overwritten with the list when
inventory is requested or when "Which item do you wish
to . . .? " questions are answered with a "*". How-
ever, if the list is longer than a screenful, the
screen is cleared. With slow, lists are displayed one
item at a time on the top of the screen, and with
clear, the screen is cleared, the list is displayed,
and then the dungeon level is re-displayed. Due to
speed considerations, clear is the default for termi-
nals without clear-to-end-of-line capabilities.
name [account name]
This is the name of your character. It is used if you
get on the top ten scorer's list.
fruit [slime-mold]
This should hold the name of a fruit that you enjoy
eating. It is basically a whimsey that rogue uses in a
couple of places.
file [~/rogue.save]
The default file name for saving the game. If your
phone is hung up by accident, rogue will automatically
save the game in this file. The file name may start
with the special character "~" which expands to be your
home directory.
9. Scoring
Rogue usually maintains a list of the top scoring peo-
ple or scores on your machine. Depending on how it is set
up, it can post either the top scores or the top players.
In the latter case, each account on the machine can post
only one non-winning score on this list. If you score
higher than someone else on this list, or better your previ-
ous score on the list, you will be inserted in the proper
place under your current name. How many scores are kept can
also be set up by whoever installs it on your machine.
If you quit the game, you get out with all of your gold
intact. If, however, you get killed in the Dungeons of
Doom, your body is forwarded to your next-of-kin, along with
90% of your gold; ten percent of your gold is kept by the
Dungeons' wizard as a fee. This should make you consider
whether you want to take one last hit at that monster and
possibly live, or quit and thus stop with whatever you have.
If you quit, you do get all your gold, but if you swing and
live, you might find more.
If you just want to see what the current top play-
ers/games list is, you can type
% rogue54 -s
10. Acknowledgements
Rogue was originally conceived of by Glenn Wichman and
Michael Toy. Ken Arnold and Michael Toy then smoothed out
the user interface, and added jillions of new features. We
would like to thank Bob Arnold, Michelle Busch, Andy
Hatcher, Kipp Hickman, Mark Horton, Daniel Jensen, Bill Joy,
Joe Kalash, Steve Maurer, Marty McNary, Jan Miller, and
Scott Nelson for their ideas and assistance; and also the
teeming multitudes who graciously ignored work, school, and
social life to play rogue and send us bugs, complaints, sug-
gestions, and just plain flames. And also Mom.