最近、あなたは日々の仕事に満たされなく、敬遠しつつある自分に気がついた。 最近数ヶ月、あなたが見る夢は探査、盗み、聖戦、戦闘といったものであったが、 あなたにはその理由がはっきりとはわからなかった。 あなたはこれらの夢を実際には生まれてこのかたずっと見続けていて、 なぜか今までそれらについて忘れようとしていたのではないか、と思った。 ある夜、あなたは飛び起きて、 夢の中の洞窟のあらゆる角の後ろに潜んでいるように見える、 奇妙で強力な怪物の鮮明な記憶にぞっとして大声で叫んだ。 あなたの夢に出没する内容は本当なのだろうか? 夜毎に、廃墟の近くの不思議な洞窟に入るという欲求が強くなった。 それでも、毎朝あなたはそのような考えを、 洞窟に入って帰って来なかった人々の話を思い出すことで頭から追い出した。 しかし、ついにあなたは夢の中に出てくる不思議な場所を捜し求めるという思いを 抑えきれなくなった。 何といっても、冒険者は最初にその道を通っていった時より、 こちらに戻って来る時の方が裕福になっているように見えるのだ。 戻って来ない人たちは皆、単にまだ冒険を続けているだけなのでは?
あちこちで尋ねるうちに、あなたはある噂を耳にした。 イェンダーの魔除けとかいうものがあり、手に入れることができたなら、 すばらしい財産をもたらすと言うのだ。 あなたが聞いたとある伝説では、 魔除けを見つけたものは神から不死の体を授かるとさえ言われているらしい。 魔除けは恐怖の迷宮の奥深く、ゲヘナの谷を越えたどこかにあるという噂である。 伝説を聞いた瞬間あなたは、自分には洞窟に入って彼らの話している 魔除けを捜し求めるべき深遠で未知のなんらかの理由があると確信した。 あなたはたとえ魔除けの力が真実でなくても、 少なくとも冒険談を地元の吟遊詩人にかなりの金額で売り込めるだろうと考えた。 夢の中で出てきた恐ろしく、不思議な怪物に出会うことができればなおさらである。 あなたは地元の安宿で最後の宿を取り対策を練った。 安宿の壁に掲げられた成功率のオッズが下がれば下がるほど、 あなたは意気消沈した。
朝起きると、あなたは所持品をかき集め、あなたは洞窟に向けて旅立った。 無事何日かの旅を続けて恐怖の迷宮への入口を 示す古代の遺跡へとたどり着いた。夜も更けていたので入口でキャンプをすることにし、 その夜は広々とした空の下で眠りに就いた。翌朝あなたは道具をかき集め、 もしかすると地上での最後になるかもしれない食事を済ませ、 洞窟へと入っていった…
こうしてあなたは NetHack というゲームを始めることになった。あなたの目的は 持てる限りの宝を集め、イェンダーの魔除けを見つけ出し、さらにはこの恐怖 の迷宮から生きて脱出することである。
冒険におけるいろいろな困難に対応するための各種の能力や力は、 あなたの生い立ちと修行によって変化する。
また、キャラクターの種族も選ぶことができる (制限はある; ほとんどの職業はどの種族がなれるかに制限がある):
画面上にはあなたが現在いる洞窟の階 ですでに探索を終えた部分の地図と、そこで目にした物が示されている。さら に深く探検を進めるに連れて洞窟はその姿を次第にあなたの前の画面に明らか にしていく。
NetHack の祖先である rogue が最初に現れたとき、その スクリーン指向はコンピュータファンタジーゲームの中でも全く独特のものであった。 それ以来スクリーン指向は例外的なものというよりむしろ標準となった。 NetHack はこのすばらしい伝統を受け継いでいる。疑似的な英語で コマンドを入力し、結果が文章で表示されるテキストアドベンチャーゲームとは 異なり、NetHack のコマンドはすべて 1 文字か 2 文字のキー入力で 与えられ、その結果は画面上にグラフィカルに表示される。 画面は最低 80 桁および 24 行の大きさが推奨される。 それ以上の大きさがあっても 21×80 の領域だけが地図の表示に使われる。
NetHack は点字や音声合成の助けを借りて、目の不自由な人でもプレイできる。 目の不自由な人のためのNetHackの設定方法については、このドキュメントで 後述する。
NetHack はプレイするたびに新しい洞窟を作成する。 このため何回かゲームに勝利したことのある作者たちにも、 いまだこのゲームは楽しく興奮に満ちたものと感じられる。
NetHack はさまざまな表示のオプションを提供する。 オプションはあなたのハードウェアやソフトウェアの能力に依存し、 プラットフォーム毎にさまざまである。 さまざまなコンパイル時のオプションは実行ファイルが作られたときにのみ可能となる。 モノクロキャラクタインタフェース、 カラーキャラクタインタフェース、 タイルと呼ばれる小さな絵を用いたグラフィカルインタフェースの 3 つの表示方法がある。 2 つのキャラクタインタフェースはフォントを他の文字に置き換えることもできるが、 標準設定では 標準の ASCII キャラクタを用いて全てを表現する。 さまざまな表示のオプションはゲーム内容には影響を与えない。 タイルや色はガイドブックで表記できないし、 それは全てのプラットフォームに共通ではないので、 ゲーム中に表示されるものの説明としては モノクロキャラクタディスプレイで表示される標準の ASCII キャラクタを用いる。 NetHack で何が起きているのかを理解するには、まず NetHack では画面が どうなっているのかを理解しなくてはならない。NetHack の画面は、テキストアド ベンチャーゲームにおける「あなたは…を見た」のような文章の代わりである。 図 1 は NetHack では画面に何が表示されるかの一例である。 画面がどのように表示されるかはプラットホームに依存する。
The bat bites! ------ |....| ---------- |.<..|####...@...$.| |....-# |...B....+ |....| |.d......| ------ -------|-- Player the Rambler St:12 Dx:7 Co:18 In:11 Wi:9 Ch:15 Neutral Dlvl:1 $:0 HP:9(12) Pw:3(3) AC:10 Exp:1/19 T:257 Weak
画面の下 2 行には、あなたの現在の状態を表す暗号のような情報の断片が含まれている。 どちらかの行が画面の幅よりも長くなるとその全部を見ることはできない かもしれない。以下に状態を示すいろいろな項目が何を意味するのかを述べる (コンフィグレーションによっては、以下に一覧されている状態を示す項目の すべてが表示されるとは限らない)。
画面の最上行は視覚的に表現できないことを説明するメッセージのために使われる。 最上行に''--More--''が表示されたときは、 このあとにさらにメッセージが続いているけれども 現在のメッセージをまず確実に読むよう促しているということである。 次のメッセージを読むためには単にスペースキーを押せばよい。
メッセージ行にどんなメッセージをどのように表示するかを変更するには、 ''Configuring Message Types'' と verbose オプションを参照のこと。
画面のその他の部分は、あなたが現在いる階で それまでに探索し終わった部分の地図である。 画面上のシンボルはそれぞれ何かを表している。 表示されるシンボルのうちいくつかは、 さまざまなグラフィックオプションを設定することによって変えることができる。 そうでなければ標準設定のシンボルが用いられる。 次に標準設定のシンボルの意味の一覧を示す。
これらのシンボルをすべて記憶する必要はない。'/' コマンドでどのシンボ ルが何を表すか知ることができる(詳細は次の項を参照のこと)。
コマンドは、そのコマンドに割り当てられている 1 文字か 2 文字のキー入力を 行うか、拡張コマンドエントリのコマンド名を入力することで実行できる。 いくつかのコマンド、例えば''search''はそれ以上 NetHack に 情報を与える必要がない。 他のコマンドは例えば方向や使用する物などの情報をさらに与える必要がある。 これらさらなる情報を必要とするコマンドに対しては、 NetHack は選択メニューもしくはコマンドラインプロンプトのいずれかを表示する。 どちらが表示されるかは主として 'menustyle' オプションをどのように設定したかによる。
例えば ''What do you want to use? [a-zA-Z ?*]'' という形式の質問がよくあるが、 これはあなたに持っている物のうちどれを選ぶかを尋ねるものである。 この質問において「a-zA-Z」はあなたが選べる持ち物の目録記号である。 '?' を入力するとこれらの物の目録一覧が得られ、 個々の記号が何を表しているのか知ることができる。 この例では、'*' もある。これは一覧には表示されておらず、 通常そのコマンドでの使用を想定していない物でも、使おうと思えばそれを 選ぶことができることを示している。'*' を入力するとすべての持ち物の目録が 表示され、個々の持ち物すべてについての目録記号を知ることができる。 考え直して結局このコマンドを使わないことにしたときには 'ESC' キーを押せば コマンドを終了することができる。
コマンドの中には、その前に数字を入力することで何回も繰り返すこと ができるものもある。例えば「10s」は 10 回の探索を表している。もし number_pad オプションがオンのときには数字の前に 'n' を入力しなければならない。 つまり上の例では代わりに「n 10s」と入力しなければならない。 複数回実行することが無意味なコマンドではこれは無視される。 さらに、移動コマンドの前に特定の文字(プレフィックス)を付けることによって さまざまな移動方法をとることができる(後述)。 繰り返し回数やプレフィックスを取り消すためには 'ESC' キーを押せばよい。
コマンドの一覧はかなり長いが、ゲーム中に '?' コマンドを使用して ヘルプメニューを見ることにより、いつでもコマンドの一覧を見ることができる。 以下は標準キー配置の一覧である。
y k u | 7 8 9 |
| / | | / |
h- . -l | 4- . -6 |
/ | | / | |
b j n | 1 2 3 |
({it number_pad/} がオンなら) |
もしあなたのキーボードにメタキー (別のキーと一緒に押すことによって そのキーの'メタ'[第 8、または'上位']ビットをセットする)があれば、 コマンドの頭文字をメタキーと一緒に押すことによって多くの 拡張コマンドを起動することができる。 NT, OS/2, PC, ST NetHack では 'Alt' キーがこの目的に使われる。 Amiga では、altmeta オプションを設定することでこの振る舞いが得られる。 その他のシステムでは、'Alt' と他のキーをタイプすると Escape と タイプしたキーからなる 2 文字の並びが転送されるので、 NetHack にこれをmeta+キーと組み合わせるために altmeta オプションを設定できる。
number_pad オプションがオンのときは、これらに加えいくつかの文字コマンドが有効になる。
洞窟内の部屋や通路は明りがついていることもあるし、ついていないこともある。 明りのついている部分で自分の視野に入る部分は画面に表示される。 暗いところでは周囲 1 つ分の空間だけが見える。 壁や通路は画面に表示されたままになる。
隠し通路は表示されない。これらは 's'(search: 探す) コマンドで 発見することができる。
出入口は部屋と通路を接続するものである。出入口の中には扉のないものがある。 このときにはそのまま通り抜けることができる。その他の出入口には扉があるが、 その扉は開いているか、閉じているか、錠がかかっているかのいずれかである。 閉じている扉を開けるには 'o'(open: 扉を開ける) コマンドを 用いる。再び扉を閉じるには 'c'(close: 扉を閉じる) コマンドを用いる。
扉に錠がかかっているときは 'a'(apply: 道具を用いる) コマンドで錠をはずす 道具を使うか、'^{D}'(kick: 蹴る) コマンドで扉を蹴破ることで 通ることができる。
開いた扉に斜めから入ることはできない。水平あるいは垂直方向から真っ直ぐに 近付かなければならない。扉のない出入口にはこのような制限はない。
扉は怪物を締め出すのに役に立つ。たいていの怪物は扉を開けることができない。 けれどもいくつかの怪物にとっては扉を開ける必要などない(例: 亡霊は 扉を通り抜けることができる)。
隠し扉は表示されない。これらは 's'(search: 探す) コマンドで発見する ことができる。一度発見すると普通の扉と同様になる。
そそっかしい冒険者を陥れようとする罠が洞窟のあちこちにある。 例えば落し穴に落ちると上り出るのに数ターンの間その場から動けなくなるであろう。 そこに誰かが足を踏み入れて引っかかるか、's'(search: 探す) コマンドで見つけるか して初めて罠は表示される。怪物も罠の餌食になることがある。これは非常に有効な 防御戦術である。
古典的コンピュータゲームである''倉庫番''を基にした特別なダンジョンへの 分かれ道も存在する。 このダンジョンでの目的は大岩を落し穴に入れることである。 慎重に先読みすれば、全ての階は倉庫番の伝統のルールでクリアできる。 行き詰まってしまった冒険者のためにいくつかの助け舟が用意されているが、 これらは運を低下させてしまう。
一般的に洞窟の各階には、前の階への上り階段('<')と、 次の階への下り階段('>')がひとつずつある。 しかし、例外もある。 例えば、洞窟の比較的浅い階であなたは二つの下り階段がある階を発見するだろう。 ひとつは洞窟の続きであり、 もうひとつはノームの坑道として知られる地帯に続いている。 この坑道は最後には行き止まりになっていて、 ここを探検した(あなたがそうすることを選択した場合)後、 元の洞窟にまで戻って来る必要がある。
階段を使うか、あるいは他の階に移動する罠に引っ掛かった場合、 いままでいた階は非活性化されて、ディスク上のファイルに貯えられる。 昔訪れた階に再び訪れた場合、ディスク上のファイルが読み込まれて再活性化される。 初めて訪れる階に移動した場合、その階は(ほとんどの階は一から、 「特別な」階はテンプレートから、「骨の」階(後述)の場合はファイルから読み込んで) 新たに作成される。 怪物は現在の階にいるものだけが行動する。 他の階にいるものは止まっている。 普通、あなたが階段を使うと、あなたは目的地で対応する階段の上に現れる。 しかし、ペット(後述)といくつかの怪物はあなたが階段を上り降りした時についてきて、 時々それらの一体があなたと入れ替わることがある。 こうなった場合、ペットやその他の怪物が階段の上に現れ、 あなたはそのそばに現れる。
はしごは階段と同じ役目であり、階を繋ぐこの二つの種類は ゲーム中ほとんど区別ができない。
時々ドアのそばに店主がいて、床にたくさんの物が置いてある部屋に 行き当たることがある.物を拾って、'p'コマンドを使うことで 物を買うことができる. 物を拾う前に、物の上に立って''#chat''コマンドを使うことで値段を確認できる. 支払いをする前に物を使うと借金になり、店主は債務を支払うまでは 店の外に出してくれなくなる.
店の中にいるときに物を落すことで物を店主に売ることができる. 売却価格を提示され、売るかどうかを確認されるか、 単に店主が興味がないことを知らされる(一般的に、 店で売っている物と同じ種類の物が買い取り対象である)。
偶然で物を店の中に落してしまうと、店主は普通代償なしに所有権を主張する. 物を取り戻すためには買い戻す必要がある.
店主は資金不足になることがある。こうなった場合、何かを売ろうとすると 現金の代わりに信用貸しを提案される。 信用貸しは物を買うときに使えるが、同じ店でだけ有効である。 他の店主は引き受けない。 (迷宮で「クレジットカード」を手に入れることがあるが、 これを店で使おうとしてはいけない。店主は受け入れない。)
$コマンドを使うと、今持ち運んでいる金貨の数(かばんや箱に入っているものは 除く)とともに、負債や信用貸しがあれば表示される。 Iuコマンドは未払いの物(まだ店が所有する物)の一覧(あれば)を表示する。 Ixコマンドは使ってしまった物の代金の一覧(あれば)が表示される。
店のいくつかの性質は意外なものかもしれない。
画面上にはあなたから見える怪物しか表示されないが、ひょっとすると闇の 中で怪物とばったり出くわすことになるかもしれないので注意が必要である。 魔法のアイテムの中には、怪物があなたを発見するよりも前にあなたが怪物を 発見するのに役立つ物もある(しかしこの能力に大変優れている怪物もいる。)
'/' コマンドと ';' コマンドが画面上に表示されている怪物に関する情報を得るのに 用いられる。 ''#name'' コマンド(標準では 'C' に割り当てられている) は 怪物に名前をつけるのに用いられ、 複数の怪物がいる時に、ある怪物を他のものと見分けたいときに便利である。 名前としてスペースを指定すると、以前につけた名前を消すことになる。
拡張コマンド「#chat」によって、隣接する怪物と交流できる。 実際の台詞は選択できない(言い換えると、あなたが何をしゃべるかは選べない)が、 店主や Oracle of Delphi(デルファイの神殿)といった相手と話をすることは、 有益な結果をもたらす。
発見した怪物と戦いたいときには、 単にその怪物に向かって移動するようにすればよい。 多くの怪物はあなたが戦いを挑まない限り、 他のことを気にすることはない。 腹を立てると大変危険な怪物もいる。 「三十六計逃げるにしかず」ということわざを忘れずに。
ほとんどの場合、友好的な怪物の位置に移動することで攻撃をしようとすると、 意図を確認される。 デフォルトでは 'y' を押すと確認したことになるが、 移動に 'y' を使っていると間違いがちである。 代わりに ''yes'' の返答が必要なように paranoid_confirmation オプションを設定できる。
怪物が見えない(怪物が透明、またはあなたが目が見えない)場合、 怪物がいるとあなたが思った位置に'I'の文字が表示される。 その区画に歩こうとすると、見えている時と同じようにあなたは怪物に攻撃しようとする。 もちろん、もし怪物が移動してしまっていたら、あなたの攻撃は空を切ることになる。 もし怪物がすでに移動してしまっていると考え、戦いたくない場合は、 'm'コマンドを使うことで戦うことなく移動できる。 逆に、そこに怪物がいるかどうかわからないけれどもとにかく戦って見たい場合は、 'F'コマンドが使える。
あなたは仔犬('d')、子猫('f')、ポニー('u')のいずれかとともにゲームを始める。 あなたのペットはあなたとともに洞窟をさまよい、怪物と戦う。 ペットはあなたと同様に生きのびるための食料を必要とする。 犬と猫は新鮮な死肉やその他の肉をえさにしている; 馬は手に入れるのがより難しい草食の食料が必要である。 もしもペットのことが気がかりであったり、ペットを飼い慣らしておきたいと思うなら、 あなたが直接えさを与えることもできる。 そのためには食料をペットに向かって投げてやればよい。 きちんと訓練されたペットはある種の状況のもとで極めて利用価値が高い。
ペットも怪物を倒していくにつれて経験を積んでいく。 また時間とともに成長もし、体力や相手に与えるダメージも増加する。 初めのうちはあなたよりもペットの方が強いだろうから、 レベルの低いキャラクタにとっては役に立つだろう。
あなたが他の階へ移動するとき、隣にペットを連れていればペットもあなた について移動する。置き去りにすると野生化してしまうかもしれない。 同様に、もしあなたが自分の位置が変わるような罠にかかった場合 (例えば、トラップドアで下の階に落ちた場合)、 隣にいたペットはついていき、隣にいなかったペットは取り残される。 ペットが自分でそのような罠にかかることもある。 あなたはたとえその時にペットの隣にいても一緒に移動することはない。
ダンジョンにいるある種の生物は、あなたが正しい装備と能力を 持っていれば、乗ることができる。 野生の生物にあなたが乗ることを納得させるのは困難である。 多くの洞窟の主は協力関係をでっち上げるのに魔法の力に頼らなければならない。 しかし、一旦動物をあなたの支配下に置いたなら、 ''#ride''コマンドで乗り降りすることができる。 動物に乗って洞窟を移動する方法は、自分自身が移動するのと同じである。 地図に表示されるのはあなたが乗っている動物である。
乗馬技術は'#enhance'コマンドで管理することができる。 詳しくは後述する武器の技術の章を参照すること。
鞍を隣にいる生物に付けようとするには、 'a' (apply) コマンドを使って持物から鞍を選ぶ。 成功すると、それはその生物の持物に移される。
隣にいる鞍の付いている生物から鞍を外そうとするには、 ''#loot'' コマンドを使う。 成功すると、それはあなたの持物に移される。
冒険者の幽霊とその死体(あるいはそれは生まれ変わる前のあなた自身であ ることさえある)や、その所持品に出くわすかもしれない。 幽霊を殺すことは難しいが、 動きがのろくほとんどダメージを受けないので簡単に逃げることができる。 あなたは死んだ冒険者の所持品を奪うこともできる。 しかしそれらは呪われていることが多い。 以前の冒険者を死に到らしめたものにはすべて注意を払わねばならない。 それはあたりを徘徊し、その直前の勝利に酔いしれているからだ。
怪物 (一般に人間とペットを含む表現) は、それが見えるかその他の方法で 感知できる場合にのみ表示される。 怪物があなたが見えなかったり感知できない場所に移動すると、 それがあなた以外の誰かの場合と同様、地図から消える。
しかし、見えたり感知できたりしない怪物と遭遇した--おそらく見えず、 出会い頭に出会った--場合、 特別な「覚えているが見えない怪物」マーカが、それがいるとあなたが考えている 場所に表示される。 これは、例え見えない怪物が他の場所に移動していたり、あなたが通常マーカの 位置が見えない位置に移動したとしても、 あなたがそこに怪物がいないと確信するまで表示され続ける。
洞窟の中で何かを見つけた場合、それを拾いたいと思うのはよくあることである。 NetHack ではその物の上を通ることによって自動的に拾うことができ( autopickup オプション(後述)がオフになっているときや 'm' プレフィックス(前述)を用いて移動するときはこの限りではない)、 または ',' コマンドを使って手動で拾うことができる。 持ち物が多すぎるときには、NetHack はあなたにそのように告げ、 それ以上拾うことはできなくなる。 そうでなければ NetHack はその物をあなたの荷物に加え、何を拾ったかが表示される。 持ち物が増えるに連れて、荷物の重さが重くなる。 どれだけの重さの物を運べるかは筋力と耐久力による。 力が強く丈夫なほど、荷物の重さの影響は小さくなる。 しかしそれでも、洞窟の中を持ち歩いている荷物の重さがあなたに負担になるときがくる。 反応は鈍くなり、カロリー消費が早くなってより多くの食料が必要となる。 そして最終的には荷物が重すぎて何かを捨てないと動けなくなってしまう。 NetHack では荷物の重さがどれくらい悪影響を与えるかを教えてくれる。 荷物が邪魔になってきた場合、状態 ''Burdened'', ''Stressed'', ''Strained'', ''Overtaxed'', ''Overloaded'' が の一つが最下行に表示される。
物を拾ったとき、その物には目録記号が割り当てられる。 物に関する多くのコマンドはあなたがどの物を使いたいのかを尋ねてくる。 持ち物のうち特定の物を選ぶように NetHack が尋ねてきたときは、 普通目録記号の一覧が表示されてその中から選ぶ(前述のコマンドの項を参照のこと)。
いくつかの物、例えば武器類のような物は、どんなものか簡単に区別が付けられる。 この他の物、例えば巻物や水薬はその種類に応じていろいろな名前が付けられている。 1 回のゲームの間は同じ名前を持った物は同じ種類の物である。 しかし物に付けられる名前はゲームごとに違うものになる。
このような物を使った時、もしその効果が明らかな場合は NetHack がそれが 何であるかを憶えていてくれる。 その効果があまり明らかでない場合はその物の種類を何と名付けるか尋ねてくる。 このため後になってそれを思い出すことができる。 またいつでも''#name''コマンドを使って 同様のことができ、 ある種類の物すべてに名前を付けたり個々の物に名前を付けたりできる。 すでに名前をつけているものに''#name''を使う場合、 新しい名前としてスペースを指定することによって、 以前つけていた名前を消すことができる。
あなたが発見したいろいろな物は、たとえそれが役に立つものであったとしても 呪いがかけられているかも知れない。呪いがかけられている物を使うと それが張り付いてしまうことは最もよく見られる結果である。 呪いがかけられている武器を持つとそれは手に張り付いてしまって取れなくなる。 呪いがかけられている物を身につけると普通の方法でははずすことができない。 さらに、呪いがかけられている武器や防具には必ずと言うわけではないが たいていの場合負の魔力が与えられていて、そうでない物よりも戦闘時の効力が劣る。 その他の呪いがかけられている物は、あまり役に立たなかったり またはその他の点で害を及ぼしたりするだろう。
また祝福されている物もある。祝福されている物は 呪いがかけられていない普通の物に比べて具合良く働き役に立つ。 例えば祝福された武器は悪魔たちに一層のダメージを与えることができるだろう。
呪われてるわけでも祝福されているわけでもない物は「呪われていない(uncursed)」と 呼ばれる。 これは「祝福されていない(unblessed)」と表現することもできるが、 ゲームの中では「呪われていない」という表現が使われる。 これは「コップに半分だけ入っている/半分しか入っていない」問題である; 解釈はあなた次第である。
魔法を使うと物に呪いをかけたり呪いを解いたりすることができる。 このためたとえ物が張り付いてしまっても、 呪いを解いてはずすことができる。 僧侶は生来呪いや祝福に敏感なので、 他の職業の冒険者よりも容易に呪われているものを避けることができる。
あなたの持ち物の目録の中で呪いがかけられているかどうか分からない物は 目録のなかで特に何の説明もない。どんな状態にあるか知っている物は 目録一覧で「cursed(呪われた)」「uncursed(呪われていない)」「blessed(祝福された)」などの 言葉が物の説明に与えられる。 場合によっては、その他の情報が十分に表示されている場合は 「uncursed(呪われていない)」は省略される。 implicit_uncursed オプションはこれを制御するのに使われる; これをオフにすると、例えその他の属性から推測される場合でも 「uncursed(呪われていない)」を表示する。
恐怖の迷宮に住むほとんどすべての怪物は、チャンスと見れば見境なくあなたを 殺そうとするだろう。自分の身を守る(先に怪物を殺してしまう)ために あなたは武器を必要とする。武器なしではポイントにして 1 ~ 2 のダメージ (いくらかの加算があるかも知れないが)を与えることしかできない。 但し、モンクは例外である。モンクは武器を使って攻撃するよりも 素手(あるいはグローブをつけた手)で攻撃した方が大きなダメージを 与えることができる。
武器には鎚矛や剣のような振り回すためのものと、矢や槍のような投げつけるためのものがある。 武器で怪物に打撃を与えるためには、武器を手にもって怪物を攻撃するか 武器を怪物に投げなければならない。投げるには、単純に槍を投げるように選択するだけでよい。 弓から矢を発射するには、まず弓を手に持ってから矢を投げればよい。クロスボウは crossbow bolt(クロスボウ用の太矢)を発射するためのものである。 投石器は岩や(宝石のような)その他の石を投げつけるために用いる。
魔力のある武器には「追加能力」(攻撃能力と言うことで正と負の両方を取り得る)が 付けられており、 攻撃が怪物に当たる可能性と与えるダメージに追加される。 武器の魔力を測定するには、なんらかの方法で魔法を使って鑑定するしかない。 多くの武器は錆のようなある種のダメージを受けやすい。このような 「腐食」ダメージは修復可能である。
攻撃がうまく怪物に命中するかと、命中した時にどれくらいのダメージを与えるかは、 多くの要素によって決定される。それらには以下のものがある: 武器の種類、武器の品質(魔力や腐食)、経験レベル、筋力、敏捷性、荷物の重さ、 技量(後述)。 怪物の防御値(一般的な防御率。防具を着ることによるとは限らない)も要素の一つである。 また、ある種の武器に対して特に耐性を持つ怪物もいる。
多くの武器は片手持ちであるが、両手が必要な武器もある。 両手持ちの武器と盾を同時に持つことはできない。 片手持ちの武器を持っている場合、 もうひとつの武器を予備として準備しておいて、 'x'コマンドで今使っている武器と交換することができる。 さらに「二刀流戦闘」技能の技量がある場合、二つの武器を同時に使うことができる。 'X' コマンドで二刀流戦闘をするかどうかを切り替えられる。 一部のキャラクター(例えば野蛮人)だけがこの技能を持っている。 たとえこの技能を持っていても、一度に二つの武器を使うと ひとつしか使わない時に比べて敵に命中する確率にペナルティを受ける。
全く何の武器も装備したくない時もあるかもしれない。 そうするためには、装備するものを選ぶ時に'-'を選ぶか、あるいは'A'コマンドで その他の身につけているものを外すのと同時に現在使っている武器を外すことができる。
AD&D をプレイしたことのある読者はお気付きだろうが、AD&D に登場した武器は NetHack においても怪物にだいたい同じダメージを与える。 あまり良く知られていない武器( aklys(アキリス), lucern hammer(ルッツェンハンマー), bec-de-corbin(ベッグ・デ・コルビン) など)のいくつかは AD&D の 追加ルールである Unearthed Arcana の付録で詳しく説明されている。
武器を使うコマンドは 'w'(wield: 武器を持つ)、 't'(throw: 投げる)、 'f' (fire: 武器を発射するもうひとつの方法), 'Q'(quiver: 矢筒)、 'x' (exchange: 武器を交換する)、'X' (二刀流)、'#enhance'(後述) である。
't'コマンドを使うことによって、どんな物でも投げることができる。 このコマンドを指定すると、投げる物を尋ねてくる。 '?'を押すと、持ち物の中で投げるのに向いていそうな物の一覧が表示され、 '*'を押すと、全ての持ち物の一覧が表示される。 何を投げるかを指定した後、(どの目標に投げるかではなく)どの方向に投げるかを尋ねられる。 投げることができる距離は、主に物の種類と筋力による。 矢は手で投げることもできるが、弓を持って投げた方が遥かに遠くまで飛び、 目標にも当たりやすい。
'Q'コマンドで予め好みの「発射物」を選択しておき、 'f'コマンドで投げることによって、投げる操作を簡単にすることが出来る。 先程と同様に投げる方向は尋ねられるが、 'f'コマンドを使うたびに何を投げるかを指定する必要はない。 autoquiver オプションをオンにすると、 'Q'コマンドで設定した物がなくなった時に、 NetHack が自動的に矢筒(または矢筒袋または準備している物)に他の物を 入れてくれる。
一度に複数の物を投げることができるキャラクターもいる。 一度に複数の矢を装填し(あるいは一度に複数の物を持ち)、 それを目標に当てることはたやすい仕事ではない。 レンジャーはこの技能に優れているし、適切な武器の技能 (弓を持って矢を射るなら弓の技能、クロスボゥを使うならクロスボゥの技能、 スリングを持って石を投げるならスリングの技能) において高いレベルの技量があれば他の職業でも可能である。 あなたがいくつのアイテムを同時に投げることができるかは 毎ターン変化する。 't'コマンドや'f'コマンドの前に数字を指定することによって、 発射する数を明示的に制限することもできる。 例えば、''2f''( number_pad オプションがオンの時には''n2f'')と指定すると、 たとえ 3 本発射可能でも最大 2 本しか発射されない。 もし、実際に発射できる数よりも大きい数を指定した場合 (この例では ''4f'')は、 特に数字を指定しなかった場合と同様、 実際に発射可能な数(ここでは 3 本)しか発射されない。 一旦動作を開始したなら、全てのアイテムは同じ方向に飛ぶ。 もし 1 本目で怪物を倒したなら、残りはその先まで飛んでいくことになる。
利用できる武器の技能はさまざまに異なっている。 武器の技量(技能)はある種の武器をどれくらいうまく扱えるかに影響する。 技能はゲームを通じて向上させることが出来るが、 それは職業や経験レベルや武器の使用回数による。
技量を示すために、武器は daggers 、 broadswords 、 polearms といった風に いくつかのグループに分けられている。 それぞれのグループで技量レベルをどこまで高めることが出来るかは職業毎に決まっている。 例えば魔法使いは daggers や staves に対しては高いレベルに達することが出来るが、 swords や bows に対してはそうではない。
''#enhance''拡張コマンドで現在の武器(と呪文)の技量を見ることができる。 さらに、ひとつまたは複数の技能を向上させることができる状態なら、 どの技能を向上させるかを選択することができる。 技能のランクは''none'' (技能を向上させることができないという意味で ''restricted''(制限された) と呼ばれることもある)、''unskilled''(初心者), ''basic''(入門者), ''skilled''(熟練者), ''expert''(エキスパート)である。 制限された技能は単に''#enhance''コマンドで一覧に表示されない。 (神の介入によりある種の技能の制限が解除されることもある。 その時には技能は"unskilled"となり、限界は"basic"までとなる) キャラクターによっては、素手での戦闘やマーシャルアーツの技能を ''master''(マスター)や''grand master''(グランドマスター)にまで向上させる ことができる。
技能レベルが"restricted"や"unskilled"の武器を使うと、怪物への命中率や 命中した時に与えるダメージにペナルティがある。 "basic"ではペナルティもボーナスもない。 "skilled"では命中率と与えるダメージにささやかなボーナスがある。 "expert"ではボーナスは大きくなる。 攻撃が命中すると、使っている武器に関する技能を(もし最大に達していないなら) 向上させるための訓練度を増やすチャンスがある。 この訓練度が次のレベルに必要な値に達すると、 自分の技能により自信を持てるように感じたことが告げられる。 この時点で''#enhance''コマンドを使うことによってひとつまたは複数の技能を 向上させることができる。 技能は自動的には向上しない。 なぜなら全ての技能レベルの合計には制限があるので、 どの技能を向上させて、どれを無視するかを決める必要があるからである。
一部のキャラクタは二つの武器を一度に使うことができる。 そうするための準備は厄介だが、使うことで身についていく。 二つの武器を装備するには、''#twoweapon'' コマンドを使う必要がある。 しかし、まずそれぞれの手に一つの武器を手にする必要がある。 (二つの武器は完全に同じではないことに注意すること; 通常装備している手で 手にしている武器は主要武器として扱われ、もう一方は補助武器として扱われる。 もっとも注意するべき違いは、二つの武器を手にするのを止めた後— または始める前—である。 優先武器は手にしている武器であり、補助武器は単に、 予備の武器として指定された、持ち物の一つである。)
主要武器を手にしているけれどももう片方の手が空いていたり間違った武器を 持っていたりする場合、'x', 'w', 'x' とすると、 まず主要武器をもう片方の手に持ち替え、補助武器として使いたいものを装備し、 再び意図通りの手に入れ替えられる。 補助武器が正しいけれども主要武器が間違っている場合、単に 'w' を使って主要武器を手にすることができる。 最後に、どちらの手にも正しい武器を手にしていない場合、 'w', 'x', 'w' として、最初に補助武器を手にし、 それを入れ替え、主要武器を手にする。
処理全体は pushweapon オプションを使うことで単純化できる。 これを有効にして、何かを装備するのに 'w' を使うと、 現在装備している武器を予備の武器にする。 従って 'w', 'w' と続けると、最初に予備にしたい武器を装備し、 それから優先したい武器を装備すると、最初の武器が予備の武器に押し出される。
二刀流モードのとき、'X' コマンドを使うと、 単一武器モードに戻る。 どちらかの武器を投げたり落としたりするか、 どちらかが盗まれたり壊されたりしても、 単一武器モードに戻る。
多くの非友好的なものが洞窟には潜んでいる。 そういったものからの攻撃から我が身を守るには防具が必要である。 防具の中には他の種類の防具よりも防御効果に優れた物がある。 Armor class(AC)(防御値)はこの防御効果の尺度である。 防御値 (AC)は AD&D での場合と同じように評価される。 10 が防具なしの状態と等しく、数値が小さいほど優れた防具であることを示す。 AD&D に存在する鎧はいずれも NetHack においても同じ防御効果を示す。 以下に(不完全ではあるが) 各種の鎧ごとに規定される防御値の一覧を示す。
dragon scale mail(ドラゴンの鱗鎧) | 1 | plate mail(鋼鉄の鎧) | 3 |
crystal plate mail(水晶の鎧) | 3 | bronze plate mail(青銅の鎧) | 4 |
splint mail(鉄片の鎧) | 4 | banded mail(帯金の鎧) | 4 |
dwarvish mithril-coat(ドワーフのミスリル服) | 4 | elven mithril-coat(エルフのミスリル服) | 5 |
chain mail(鎖かたびら) | 5 | orcish chain mail(オークの鎖かたびら) | 6 |
scale mail(鱗の鎧) | 6 | dragon scales (ドラゴンの鱗) | 7 |
studded leather armor(鋲付き皮鎧) | 7 | ring mail(鉄環の鎧) | 7 |
orcish ring mail(オークの鉄環の鎧) | 8 | leather armor(皮鎧) | 8 |
leather jacket(皮ジャケット) | 9 | no armor(鎧なし) | 10 |
さらに他の防具(例: 兜、靴、楯、クローク) を身につけ、 防御値の値を小さくすることもできる。 ただし同じ範疇に入る物は 1 つしか身につけることはできない (鎧は一式、クロークは 1 着、兜は 1 個、楯は 1 枚など)。
防具に魔力があればその防具の防御効果は通常の物よりも良く(もしくは悪く)なっており、 それに付いている「+記号」(あるいは-記号)の分だけ防御値の値が小さくなる。 例えば +1 鎖かたびらは、通常の鎖かたびらよりも防御効果が高く、 防御値は 1 単位分小さくなって 4 になる。 防具を身につけると直ちに防御値と「+記号」の値が分かる。 呪いがかけられた防具は通常負の魔力(-記号)を持っており、取りはずすことはできない。
多くの鎧は錆のようなある種のダメージを受けやすい。 このようなダメージは修復可能である。 魔法を唱えるのを妨げる防具もある。
鎧を使うためのコマンドは 'W'(wear: 防具を付ける) と 'T'(take off: 防具をはずす) である。 'A'(remove all: 全てをはずす)もまた他の身につけるもの同様、 防具をはずすのに使用できる。
生きのびるには食料が不可欠である.長い間食料を口にしないままでいると やがて昏倒し、徐々に餓死への道をたどることになる。 保存の処置を取ってないと傷んでしまい、食べるには不衛生になる食料もある。 アイスボックスや缶に入っている食料は通常はいつまでも傷まないが、 アイスボックスは重く、缶は開けるのに少しばかり時間が必要である。
怪物を殺すと通常はその死体が残るが、これは「食料」にもなる。 すべてと言うわけではないが多くは食べられるし、 中には食べると特別な力がつくものもある。 大ざっぱに言えば「食べたものになる」ということである。
菜食主義の職業や怪物もいる。 菜食主義の怪物は決して動物の死体を食べない。 一方菜食主義のプレイヤーは動物の死体を食べることができるが、 なんらかのありがたくない副作用がある。
fruit オプションによってあなたの好物の食料にちなんで その名前を 1 つ設定することができる。
食料を食べるためのコマンドは 'e' である。
巻物にはいろいろな表題が付けられているが、 これはおそらくいにしえの魔術師たちが暇潰しとして選んだのであろう (例:''READ ME'' とか ''THANX MAUD'' の逆さ読みとか)。 巻物は読むと消滅する(ただし魔法の呪文の書かれていない白紙は消滅しない)。
これらの中で最も利用価値の高いものはscroll of identify(識別の巻物)である。 これは他の物についてそれが何であるか、 呪いがかけられているか祝福されているか、 あと何回効力を発揮できるかを確定できる。 得体の知れない魔力を持つ物の中にはこの巻物なしでは何であるか鑑定し難いものもある。
メイルデーモンが走ってきてあなたにscroll of mail(手紙の巻物)を渡してくれることもある (この機能を有効にしてコンパイルされているバージョンの場合)。 NetHack のメール配達機能はシステムのメールボックスに電子メールが やってきた場合に起動される。 この機能を使用するには環境変数''MAIL''にあなたのメールボックスの ファイル名を設定して NetHack に新しいメールを探す場所を知らせる必要が ある。 また望むならば環境変数''MAILREADER''に使いたいメール受信プログラ ムのファイル名を設定することもできる。 このとき NetHack からそのプログラムを起動してその巻物を読むことができる。 メールがゲーム内においてランダムに生成されるバージョンの NetHack では これらの環境変数は無視される。 メイルデーモンは mail オプションでオフにできる。
巻物を読むためのコマンドは 'r' である。
水薬は小びんに入っている液体の色によって区別される。 水薬は飲むと消滅してしまう。
透明な水薬は水である。これらはしばしば祝福されていたり呪いがかけられていたりして、 聖水や不浄な水になったりする。不死の怪物にとって聖水は有害なので、 聖水を不死の怪物に投げつける('t')と有効である。 聖水に他の物を浸す(''#dip'')のもたいへん有益である。
水薬を飲むためのコマンドは 'q'(quaff: 飲む) である。
杖は通常複数回魔法効果を発揮する。 一部の杖は杖を振る際に方向を指示する必要がある。 杖を自分に向けて振ることもできる(方向として '.' か 's' を入力する)が、 これはしばしば愚かな行為となる。 その他の杖は方向は必要でない。 杖が効力を発揮する回数は杖ごとに不定で、杖を使う度にその回数は 1 ずつ減る。
杖の魔法の量がなくなると、通常は杖を使用しても何も起きない。 しかしながら時折、最後の一握りの魔力を使いきった杖から搾り取ることが可能である。 しかしこれをすると杖は壊れてしまう。 杖は適切な魔法によって再充填することができるが、 そうすると杖が爆発してしまう可能性がある。 爆発する可能性は最初は非常に小さく、同じ杖に何度も再充填するごとに大きくなる。
自暴自棄な行為ではあるが、どうにもならなくなったときには杖を壊すという手もある。 これは弱気な行為ではない。それを行うことにより、 破壊的な魔法のエネルギーが解放されるからである。
ある杖を完全に鑑定した場合、持ち物の一覧では括弧の中に追加の情報が表示される。 それは再充填された回数、コロン、現在の使用可能な回数である。 杖が無効化された場合には使用可能な回数は -1 になる。
杖を使うためのコマンドは 'z'(zap: 杖を振る) である。壊すには 'a' (apply: 道具を使う)である。
指輪は大変役に立つ物である。 というのも水薬や巻物や杖のように魔力が一過性にしか働かないものと違い、 指輪の魔力は比較的恒久的であるからだ。
指輪をはめることによってその魔力は発揮される。 指輪は両手の薬指に 1 つずつ、計 2 つしかはめることはできない。
またたいていの指輪は身につけると腹の減り方が速くなる。 減り方は指輪の種類によって異なる。
指輪を使うためのコマンドは 'P'(put on: 指輪をはめる) と 'R'(remove: 指輪をはずす) である。
魔法書は強力な魔法を記した大きな本である。'r'(read: 読む) コマンドで 学ぶと呪文の知識が読み手に転送される(したがって最後には読めなくなる)か、 さもなくばその試みは不測の結果に終る。 呪いがかけられた魔法書や知識の及ばない神秘の古代文字で記された魔法書を 読むと健康状態に害が及ぶ可能性がある!
呪文を唱えたとき(学んでいる時も)にも魔力が逆流することもある。 あなたの経験レベルでは遠く及ばない高度な呪文を唱えようと試みたり、 対応する呪文タイプに関する技能が低かったり、 ひどくついてないときに呪文を唱えたりすると、 呪文を唱えるのに必要なエネルギーと時間を浪費しただけに終わってしまうこともある。
呪文を唱えることは、魔法のエネルギーを呼び起こしてそれを精神そのもの に集中させることである。 あなた自身の内部から出る魔法のエネルギーが開放される。 唱えると一時的に魔法の力が吸い出される; これはゆっくりと回復し、その際に追加の食料が必要になる。 呪文を唱えるには練習が必要である。 練習していれば、それぞれの呪文領域の技能は向上していく。 しかしながら、時間が経つにつれてそれぞれの呪文に関する記憶は薄れ、 もう一度呪文を学ぶ必要がでてくるだろう。
一部の呪文は、杖と同様、呪文を唱える方向を指定する必要がある。 自分自身に対して唱えるには、方向として'.'または's'を指定する。 いくつかの呪文は単なる方向ではなく場所を指定する必要がある。 その他の呪文は方向や場所を指定する必要はない。
武器が習熟度の面でグループ分けされているのと同様、呪文もグループ分けされている。 呪文を唱えるのに成功すると、そのグループを訓練したことになる; 十分に訓練したスキルを向上させる '#enhance' コマンドはそのグループの全ての 呪文に影響する。 スキルが向上すると呪文の性能が向上し、詠唱時の失敗のリスクが減り、 どれくらい長い間呪文が記憶に残っているかの推定の精度が向上する。 技能スロットは武器スキルと共有する。(''武器の技量''の項も参照のこと)
魔法を唱えるには自由に移動できなければならない。また、いくつかの種類の鎧を 着ていると魔法を唱えるのを妨げるだろう。
魔法書を読むためのコマンドは巻物を読むときと同じく 'r'(read: 読む) である。 '+' コマンドにより、知っている呪文毎に、レベル,スキル分野,成功率、どれくらい 強く記憶しているかが一覧表示される。 'Z'(cast: 呪文を唱える) コマンドにより呪文を唱える。
道具はいろいろな目的に使う種々雑多な物である。杖などと同じように使用 回数に制限のある物もある。例えばランプはしばらくたつと燃え尽きてしまう。 その他の道具の中には容器も含まれており、物を出し入れすることができる。
道具を使うためのコマンドは 'a'(apply: 道具を用いる) である。
冒険の途中で鞄や箱やひつに出くわすこともあるであろう。 これらは置いてある場所に立っている場合には 拡張コマンド「#loot」によって、 また持っているときには 'a'(apply: 道具を用いる) コマンドで開けることができる。 しかしながらひつにはしばしば錠がかかっており、大抵は重くて運びにくい物体である。 ひつは手に持つことはできない物なので、 錠をはずす('a'(apply: 道具を用いる) コマンドで鍵や錠をはずす道具を使ったり、 '^{D}'コマンドで蹴とばしたり、 拡張コマンド''#force''により武器を使ってこじ開けるなどの方法による)には 床に置かなくてはならない。
ひつには罠が仕掛けられているものもあり、錠をはずしたりふたを開けたり したときに不快な出来事が起きる。拡張コマンド''#untrap''によってチェックを して罠が無効になるよう試みることができる。
魔除けは指輪と大変よく似ており、しばしばもっと大きな効力を持っている。 指輪と同じように魔除けにはいろいろな魔法の特性があり、有益なものも有害 なものもあって、身につけることにより効力を発揮する。
魔除けは一つだけしか首にかけることができない。
魔除けを使うためのコマンドは指輪の場合と同じく 'P'(put on: 指輪を はめる) と 'R'(remove: 指輪をはずす) である。
宝石の中には価値のあるものもあり、高値で売れる。 宝石は財産を持ち歩く方法としてとして極めて効果的なやり方である。 価値のある宝石を脱出時に所持していれば得点に加算される。
他の小さな石も宝石に分類されるが、その価値はほとんどない。 しかし、全ての石は(もしスリングを持っているなら)弾として有効である。 窮余に陥いったら手で投げることも可能である。
彫像や巨石は特に有用ではないし、一般的に重いものである。 見かけとは異なった彫像もあるという噂である。
巨大なヒューマノイド(巨人やその仲間)は巨石を武器として用いることができる。
一部のプログラム設定では、彫像はもはや ''' ではなく、表現されている怪物を意味する文字で表される。
金は得点に加算され、また店では金で物を買うことができる。 迷宮にはあなたの持つお金に影響されるかもしれない数多くの怪物が いる(店主は別として)。
通常、あなたが地図上のある特定の位置である物を見て、 物がもう直接見えない位置に移動した場合、 それは地図上に表示され続ける。 これは、— おそらく怪物が拾ったか腐ってしまったかして — 実際には すでにそこになくても、あなたがその場所をもう一度見るか感じるかするまで 残り続ける。 注意するべき例外の一つは、その物が「覚えているけれども見えない怪物」 マーカで覆われた場合である。 あなたがそこに怪物がいないことを確認してマーカが消えると、 見えない怪物が実際にその物を拾ったかどうかに関わらず、 あなたはそこにあった物を忘れる。 物がそこにあり続けている場合、再びその場所を見たり感知したりすると 物を再び発見してそれを記憶し続ける。
この状況は物の山でも同様だが、山の一番上の物のみが表示される。 山の上にいる敵に物を違う方法で表示するために、 hilite_pile コマンドを有効に出来る。
単に NetHack に勝利するだけでは満足できない一部のプレイヤーは、 プレイに制限を設けることに挑戦している。 これらの挑戦の一部はゲームによって自動的に記録され、 ゲーム中いつでも #conduct コマンドで確認できる。 またゲーム終了時にも表示される。 挑戦に反するような行動を取ると、もはやその挑戦は表示されない。l これらの挑戦に勝利することによって、プレイヤーは追加の''自慢する権利''を 得られる。 なお、これらの制限に従うことなくゲームに勝利することも 完全に有効であり、最初にゲームに勝利するときは普通これらの挑戦は関係ない。
挑戦のいくつかは食べ物に関するものである。 最も困難な挑戦は食料なしの挑戦である。 生物は食料なしでも長い間生存できるが、水は必要である。 従って、飲み物に対しては何の制限もない。例え栄養分があってもである。 神に祈って飢えをしのぐことはいかなる食べ物に関する挑戦にも違反しない。
厳密な菜食主義者は動物から作られた食べ物を食べない。 基本的な栄養源は果物と野菜である。 ブロッブ('b')、ゼリー('j')、細菌('F')も野菜とみなされる。 人間の食料にも動物を使っていないものがある。 レンバス、クラム、「食料」(丸薬)、Kレーション、Cレーションがそうである。 他の生物に変化しているときは、金属などの普通消化できない物質も 厳密な菜食主義者用の食料として扱われる。 しかし、これらの物も食料なしの挑戦には反することに注意すること。
菜食主義者は動物を食べない。 しかし、動物からの副生産物を食べることは厳密な菜食主義者ほどは厳しくない。 上記の厳密な菜食主義者が食べられるものに追加して、 ブラックプリン以外のプリン('P')、卵、卵から作られた食べ物 (占いクッキーとパンケーキ)、牛乳から造られた食べ物 (クリームパイとキャンディーバー)、ロイヤルゼリーを食べることができる。 モンクは菜食主義者とみなされる。
肉を食べることは厳密な菜食主義者、菜食主義者、食料なしの挑戦に反する。 これにはほし肉、上記以外の怪物の死体や缶詰、迷宮で見つかる その他の肉のかたまりを含む。 変化中に「飲み込んで消化」攻撃をかけるのはその怪物の死体を 食べたものとみなす。 皮、竜鱗、骨でできた物体を、これらを消化できる怪物に変化して食べたり、 マインドフレイヤーに変化して脳を食べることは動物を食べたとみなす。 ただし、蜜蝋は動物の副生成物とみなす。
挑戦に関わらず、消化不可能な物もあり、食べると危険なものもある。 怪物に対して「飲み込んで消化」攻撃をかけることは、 その怪物の死体を食べたものとみなす。 「厳格な菜食主義者(''vegan'')」という言葉は食べ物に関する文脈でのみ 用いられることに注意してほしい。 動物から作られた物(皮、竜の鱗、骨、角、さんご)を使ったり身につけたり することは制限に違反しない。 また、「ミルク色の」水薬は不透明な白色ではあるが、牛乳を含んでいるわけ ではないので、厳密な菜食主義者の制限に違反しない。 スライムモルドやプレイヤーが定義した''fruits''は、 例え「さくらんぼ」であろうが「ポークチョップ」であろうが、 厳密な菜食主義者の制限に違反しない。
無神論者は宗教を否定する。つまり、#pray(祈る), #offer (いけにえを捧げる), #turn (不死のものを戻す), 僧侶に対する #chat(話す)ことはできない。 一部の読者はモンクや僧侶でプレイするのもこの制限に反していると主張するかもしれないが、 ここではプレイヤーの選択の余地を残してある。 イェンダーの魔除けを神に捧げるのはゲームに勝利するために必要なので 制限には反しないものとする。 また、怒った神や僧侶やその他の宗教的存在が話す言葉を聞いても制限には反しない。 真の無神論者は言葉は聞くが,そこになんら特別な意味を見出さない。
ほとんどのプレイヤーは武器(あるいは武器として装備することを 考慮している道具)を手に戦う。 挑戦の一つはこのような武器を手にして使わずにゲームに勝利することである。 武器を投げたり、発射したり、蹴ったりするのは許される。 また、杖、呪文、あるいはその他のアイテムを使ったり、 素手や脚で戦うことも許される。
NetHack において、平和主義者は他の怪物を殺してはならない(言い換えると、 怪物の死によって経験値を得てはならない)。 これは特に難しい挑戦であるが、他の手段によって経験値を得ることは可能である。
文盲者は読み書きができない。これには以下の行為が含まれる。 巻き物を読む、魔法書を読む、占いクッキーのメッセージを読む、Tシャツの文字を読む、 巻き物を書く、''X''一文字(文盲者の伝統的なサイン)以外の文字を刻む。 刻んである文字を読むことと、ゲームに勝利するために絶対に必要なアイテムを 読むことは制限には反しないものとする。 ゲーム開始時に持っている巻き物と魔法書の内容を知っていることおよび 呪文の知識は、ゲーム開始以前に教師から教わったものとみなし、 制限には反しないものとする。
その他にいくつかの細かいゲームとして記録される挑戦がある。 怪物は虐殺することが可能である。これをせずにプレイするのも挑戦とみなす。 怪物を虐殺する機会が与えられたとき、 ''none'' (''なし'')と答えると、虐殺しないままにすることができる。 あなたはアイテムを同じグループの他のアイテムに変化させたり (''polypiling'')、 変化の杖・呪文・薬で自分の体を他の生物に変えたり(''polyself'')できる。 これらの効果を用いないことはそれぞれ挑戦とみなす。 最後に、あなたはときどき願いをかなえてもらうことがある。 なんのアイテムも願わずにプレイするのは一つの挑戦であり、 聖器を願わない(たとえ直ちに消滅したとしても)でプレイするのも一つの挑戦である。 アイテムを願う機会を与えられたとき、 ''nothing'' (''なし'') と答えると、願わないままにすることができる。
人にはそれぞれいろいろな好みがあり NetHack の遊び方もそれぞれ異なっているの で、NetHack の振る舞いを変更するため設定できるオプションがある。
オプションを設定する方法にはいくつかある。ゲーム中に 'O' コマンドを 使うことによって全てのオプションを見ることができ、そのほとんどを変更で きる。また、設定ファイルや環境変数''NETHACKOPTIONS''で自動的に設定する こともできる。 NetHack のバージョンによってはゲーム開始前にオプションや システム管理者のためのグローバルな設定をすることができるプログラムが ついていることもある。
設定ファイルの標準設定のファイル名と位置は OS によって異なる。
Unix, Linux, Mac OS X では、これはユーザーのホームディレクトリの
''.nethackrc'' である。
このファイルは存在していないかも知れないが、これは通常の
ASCII テキストファイルで、任意のテキストエディタで作ることができる。
Windowsでは、 ''%USERPROFILE%\NetHack\3.6'' フォルダの ''.nethackrc'' である。 このファイルは存在していないかも知れないが、これは通常の ASCII テキストファイルで、任意のテキストエディタで作ることができる。 NetHack の初回実行後、 ''%USERPROFILE%\NetHack\3.6'' に ''.nethackrc.template'' というファイル名で、 設定ファイルのデフォルトテンプレートを見つけられるはずである。 設定ファイルを作成していない場合、 NetHack はデフォルトテンプレートファイルを使って設定ファイルを 作成する。
MS-DOS では、nethack.exe と
同じフォルダの ''defaults.nh'' である。
設定ファイルの中の'#'で始まる行はコメントとして扱われる。 空行は無視される。 '[' で始まり ']' で終わる行は節マーカとして扱われる。 大かっこで囲まれたテキストは節の名前である。 節マーカ以降の行はその節に属し、その節を選択するために CHOOSE 文が使われない限り無視される。 節の名前は大文字小文字を無視する。
ファイル中に異なる設定文を使うことができ、そのいくつかは複数回 使われる。 一般的に、文は英大文字で書かれ、等号が続き、その文に特有の設定が続く。
以下は指定できる文の一覧である:
OPTIONS=dogname:Fido OPTIONS=!legacy,autopickup,pickup_types:$"=/!?+
AUTOCOMPLETE=zap,!annotate
BIND=^X:getpos.autodescribe
OPTIONS=color CHOOSE=char A,char B [char A] OPTIONS=role:arc,race:dwa,align:law,gender:fem [char B] OPTIONS=role:wiz,race:elf,align:cha,gender:mal
# replace small punctuation (tick marks) with digits SYMBOLS=S_boulder:0,S_golem:7
WIZKIT=~/wizkit.txt
以下は設定ファイルの中身の例である:
# Set your character's role, race, gender, and alignment. OPTIONS=role:Valkyrie, race:Human, gender:female, align:lawful # Turn on autopickup, set automatically picked up object types OPTIONS=autopickup,pickup_types:$"=/!?+ # Map customization OPTIONS=color # Display things in color if possible OPTIONS=lit_corridor # Show lit corridors differently OPTIONS=hilite_pet,hilite_pile # Replace small punctuation (tick marks) with digits SYMBOLS=S_boulder:0,S_golem:7 # No startup splash screen. Windows GUI only. OPTIONS=!splash_screen
環境変数 NETHACKOPTIONS にはいろいろなオプションの初期値をカンマで区 切って列挙し設定する。オプションのうちのいくつかのものは単にオンかオフ の選択ができるだけである。そのオプション名をリストに入れるとオンになり、 オプション名の前に '!' か''no''をつけるとオフになる。その他のオプショ ンでは設定値として文字列が必要である。これらのオプションを設定するには オプション名、コロンまたはイコール記号、設定値の順で入力すればよい。 設定値は次のカンマもしくは文字列の最後までとなる。
例えば color をオン、legacy をオフ、 nameが''Blue Meanie'' に、 fruitが''lime''になるように 環境変数を設定するには csh では次のコマンドを入力すればよい。 ('!'は特殊文字なのでエスケープしてやる必要があることに注意)
setenv NETHACKOPTIONS "color,\!leg,name:Blue Meanie,fruit:lime"
sh, ksh, bash では
NETHACKOPTIONS="color,!leg,name:Blue Meanie,fruit:lime" export NETHACKOPTIONS
とすればよい。
NETHACKOPTIONS の値は事実上設定ファイル内の 1 行の OPTIONS 文と同じである。 ''OPTIONS='' 接頭辞が暗黙に含まれ、 カンマ区切りのオプションは右から左に処理される。 BIND や MSGTYPE のようなその他の設定文は使えない。
NETHACKOPTIONS は、カンマ区切りにオプションのリストの代わりに、 使いたい設定ファイルのフルネームを設定できる。 フルネームがスラッシュで始まっていない場合、 '@' (アットマーク) を前置することで、 残りがファイル名を意図していることを NetHack に伝える。 '/' で始まっているなら、アットマークはオプションである。
以下にいろいろなオプションの役割を説明する。 あまりに長すぎる文字列の部分は無視される。 以下のオプションのうち実装によっては無効となっているオプションもある。
一部のオプションは永続し、ゲーム中保存および再設定される。 設定ファイルで永続オプションを変更した場合、新しいゲームにのみ適用される。
以下はあなたが選択したウィンドゥタイプの特性をカスタマイズして 変更するために用いる様々なオプションの説明である。 長すぎる文字列は適当に切り詰められる。 全てのウィンドゥタイプに対してこれら全てのオプションが有効というわけではない。 これらのオプションが設定されたとき、もしウィンドゥタイプがその設定を 受け付けるなら、そうされる。もし受け付けられないなら、単に無視される。 現在のウィンドゥタイプで対応しているオプションは、オプション一覧表示 ('O')で表示される。 一部のオプションは'O'コマンドで動的に変更できる。
OPTION=windowcolors:wintype foreground/background
以下は特定のプラットフォームでカスタマイズや振る舞いの変更をするために 用いられるオプションの説明である。
正規表現は通常 POSIX 拡張正規表現である。 正規表現ライブラリがないプラットフォームでは正規表現対応なしで NetHack をコンパイルすることも可能である。 これは最近のプラットフォームでは真ではないが、この方法で NetHack が ビルドされると、パターンは代わりにグロブパターンが使われる。 これは自動拾い例外、メッセージ型、メニュー色、ユーザー音声に適用される。
''autopickup'' オプションの振る舞いを ''pickup_types'' オプションを使ってより洗練させることができる。
''autopickup_exception'' 行を設定ファイルに書くことで、 何かを拾おうとするときにチェックするべきパターンを定義できる。
以下は例である:
autopickup_exception="<*arrow" autopickup_exception=">*corpse" autopickup_exception=">* cursed*"
上記の例の最初のものは、全ての矢を自動的に拾う。 二番目の例は、死体は自動拾いの例外とする。 最後の例は、呪われているとわかっているものは自動拾いの例外とする。
設定ファイルで BIND 文を使うことにより、一部の特殊コマンド、 メニューアクセラレータキー、拡張コマンドのデフォルトのキーバインディングを 変更できる。 形式は、キーの後に、コロンで区切られたバインド先のコマンドが続く。 キーには、単一文字(「''x'')、制御キー (''^{X}'', ''C-x'')、メタキー(''M-x'')、または 3 桁の 10 進 ASCII コードを使用できる。
例:
BIND=^X:getpos.autodescribe BIND={:menu_first_page BIND=v:loot
メッセージがユーザー定義パターンにマッチングしたとき、メッセージを メッセージエリアに表示する方法を変更できる。
一般的に、メッセージ型を記述する設定ファイルエントリは次のようなものである:
MSGTYPE=type "pattern"
次のものは NetHack の内部パターンマッチング機能を使ったメッセージ型の 例である。
MSGTYPE=stop "You feel hungry." MSGTYPE=hide "You displaced *."
このように指定すると、''You feel hungry'' というメッセージが現れた時は常に more プロンプトが表示され、 "You displaced (何か)." にマッチングするメッセージは一切表示されない。
MSGTYPE 行の定義順は重要である; 最後にマッチングした規則が使われる。 一般的な場合を先に書き、例外をその後に書くこと。
一部のプラットフォームでは、メニュー行がユーザー定義パターンに マッチングしたとき、メニュー行に使う色を定義できる。 現在のところ tty, curses, win32tty, win32gui インターフェースが これに対応している。
一般的にメニュー色割り当てを記述する設定ファイルエントリは次のようなものである:
MENUCOLOR="pattern"=color&attribute
パターンは正規表現である必要がある。
指定できる色は: black, red, green, brown, blue, magenta, cyan, gray, orange, light-green, yellow, light-blue, light-magenta, light-cyan, white。 そして他の色と同じ必要のない標準の前面色である no-color。
指定できる属性は: none, bold, dim, underline, blink, inverse。 Normal は none の別名である。 なお、プラットフォームはこれを好きなように解釈するかも知れない。
次のものは NetHack の内部パターンマッチング機能を使ったメニュー色の 例である。
MENUCOLOR="* blessed *"=green MENUCOLOR="* cursed *"=red MENUCOLOR="* cursed *(being worn)"=red&underline
このように指定すると、''~blessed~'' が含まれているメニュー行は緑色に、 ''~cursed~'' の行は赤色に、''~cursed~'' に引き続いて同じ行に ''(being worn)'' が ある場合は赤色かつ下線付きで表示する。 設定ファイル中に複数の MENUCOLOR エントリを書くことができ、メニュー行に マッチングした中で最後の MENUCOLOR 行がその行に使われる。
''~uncursed~'' にマッチングするような色指定を意図しているなら、 呪われていないことが分かっている全ての持ち物について ''uncursed'' と 表示するための implicit_uncursed オプションをおそらく設定した方がよいことに注意すること。
メッセージウィンドウに表示されたメッセージが ユーザー定義のパターンと一致したときに 特定の音声ファイルを鳴らすことができるプラットフォームもある。 現在のところ、Qt, win32tty, win32gui がユーザー音声に対応している。
ユーザー音声とメッセージの関連付けに関する設定ファイル項目は 以下のとおりである。
このパターンは POSIX 拡張正規表現で指定する。
あなたの入手した NetHack は ステータスハイライト に対応して コンパイルされているかもしれない。 その場合、ステータスディスプレイのフィールドの色や見た目を 閾値を設定することでカスタマイズできる。
ステータス色を定義する形式は:
OPTION=hilite_status:field-name/behavior/color&attributes
例えば、設定ファイルに次の行を書くと、ヒットポイントが30%の閾値以下になると
ヒットポイントが赤色で表示される:
OPTION=hilite_status:hitpoints/<=30%/red/normal
(この例は実際には <=30% で red&normal に、
>30% で no-color&normal にする。)
もう一つの例として、次の行を設定ファイルに書くと、賢さが低下すると赤で
表示され、上昇すると緑で表示される。
OPTION=hilite_status:wisdom/down/red/up/green
指定できる色は: black, red, green, brown, blue, magenta, cyan, gray, orange, light-green, yellow, light-blue, light-magenta, light-cyan, white。 および no-color、ディスプレイの標準前景色; 黒や白やその他の色と同じである必要はない。
指定できる属性は: none, bold, dim, underline, blink, inverse。 ''Normal'' は ''none'' の別名である; これらは他の属性と組み合わせて使うべきではない。
色と属性の両方を指定するには、それらを結合するために '&' を使う。 複数の属性を指定するには、それらを結合するために '+' を使う。
例: magenta&inverse+dim。
なお、ディスプレイはその能力によっては特定の属性を置き換えたり 無視したりするかもしれず、一般的に、これを好きなように解釈するかも 知れないことに注意すること。 例えば、ディスプレイシステムによっては 太字を点滅にしたりその逆にしたりする。 一方、他の属性が既に設定されている時に 他の属性を要求すると、属性を合成するのではなく、以前の属性を置き換える。 nethackは属性要求を(少なくとも tty インターフェースでは) 同時にではなく順々に発行するため、 この様な状況を制御する唯一の方法は一つの属性として指定することである。
次のステータス項目を調整できる:
title | dungeon-level | experience-level |
strength | gold | experience |
dexterity | hitpoints | HD |
constitution | hitpoints-max | time |
intelligence | power | hunger |
wisdom | power-max | carrying-capacity |
charisma | armor-class | condition |
alignment | score |
疑似フィールド 'characteristics' は Str, Dex, Con, Int, Wis, Cha の 六つ全てを一度に設定するのに使える。 'HD' は 'ヒットダイス(hit dice)' で、変化したときに表示される 経験レベルの概算である。 'experience', 'time', 'score' はその他のオプション設定に依存して 条件によっては表示される。
振る舞いの代わりに、'condition' は次の状態フラグを取れる: stone, slime, strngl, foodpois, termill, blind, deaf, stun, conf, hallu, lev, fly, ride。 stone から termill の別名として 'major_troubles' を、 blind through hallu の別名として 'minor_troubles' を、 lev, fly, ride の別名として 'movement' を、 そして全ての別名として 'all' を使える。
指定できる振る舞いは ''always'', ''up'', ''down'', ''changed'', 割合または絶対値の閾値、マッチングするテキストである。
ゲーム内のオプションメニューは、設定ファイルでの正しい文法を決定する 助けになるだろう。
オプション statushilites を 0 にすることでこの機能全体を無効にできる。
ハイライトの例:
OPTION=hilite_status: gold/up/yellow/down/brown OPTION=hilite_status: characteristics/up/green/down/red OPTION=hilite_status: hitpoints/100%/gray&normal OPTION=hilite_status: hitpoints/<100%/green&normal OPTION=hilite_status: hitpoints/<66%/yellow&normal OPTION=hilite_status: hitpoints/<50%/orange&normal OPTION=hilite_status: hitpoints/<33%/red&bold OPTION=hilite_status: hitpoints/<15%/red&inverse OPTION=hilite_status: condition/major/orange&inverse OPTION=hilite_status: condition/lev+fly/red&inverse
NetHack は symbol ファイルからシンボル集合全体を読み込むことができる。
symbol ファイルから特定のシンボル集合を選択するために使われるオプションは:
SYMBOLS と ROGUESYMBOLS の 設定ファイルオプションを使っていくつかのシンボルを 上書きすることもできる。 シンボルは name:value の組で指定する。 NetHack は value 文字列を伝統的な C の方法でエスケープする。 つまり、'' は次の文字をリテラルにする接頭辞である。 従って、'' は '\' と表現する必要がある。 特殊接頭辞 'm' はシンボル値のメタビットを切り替え、 '^{}' 接頭辞は引き続く文字を制御文字として扱う。
標準設定 | シンボル名 | 説明 |
S_air | (air) | |
_ | S_altar | (altar) |
" | S_amulet | (amulet) |
A | S_angel | (angelic being) |
a | S_ant | (ant or other insect) |
^ | S_anti_magic_trap | (anti-magic field) |
[ | S_armor | (suit or piece of armor) |
[ | S_armour | (suit or piece of armor) |
^ | S_arrow_trap | (arrow trap) |
0 | S_ball | (iron ball) |
# | S_bars | (iron bars) |
B | S_bat | (bat or bird) |
^ | S_bear_trap | (bear trap) |
- | S_blcorn | (bottom left corner) |
b | S_blob | (blob) |
+ | S_book | (spellbook) |
) | S_boomleft | (boomerang open left) |
( | S_boomright | (boomerang open right) |
` | S_boulder | (boulder) |
- | S_brcorn | (bottom right corner) |
C | S_centaur | (centaur) |
_ | S_chain | (iron chain) |
# | S_cloud | (cloud) |
c | S_cockatrice | (cockatrice) |
$ | S_coin | (pile of coins) |
# | S_corr | (corridor) |
- | S_crwall | (wall) |
- | S_darkroom | (dark room) |
^ | S_dart_trap | (dart trap) |
& | S_demon | (major demon) |
* | S_digbeam | (dig beam) |
> | S_dnladder | (ladder down) |
> | S_dnstair | (staircase down) |
d | S_dog | (dog or other canine) |
D | S_dragon | (dragon) |
; | S_eel | (sea monster) |
E | S_elemental | (elemental) |
/ | S_explode1 | (explosion top left) |
- | S_explode2 | (explosion top center) |
S_explode3 | (explosion top right) | |
| | S_explode4 | (explosion middle left) |
S_explode5 | (explosion middle center) | |
| | S_explode6 | (explosion middle right) |
S_explode7 | (explosion bottom left) | |
- | S_explode8 | (explosion bottom center) |
/ | S_explode9 | (explosion bottom right) |
e | S_eye | (eye or sphere) |
^ | S_falling_rock_trap | (falling rock trap) |
f | S_feline | (cat or other feline) |
^ | S_fire_trap | (fire trap) |
! | S_flashbeam | (flash beam) |
% | S_food | (piece of food) |
{ | S_fountain | (fountain) |
F | S_fungus | (fungus or mold) |
* | S_gem | (gem or rock) |
S_ghost | (ghost) | |
H | S_giant | (giant humanoid) |
G | S_gnome | (gnome) |
' | S_golem | (golem) |
| | S_grave | (grave) |
g | S_gremlin | (gremlin) |
- | S_hbeam | (wall) |
# | S_hcdbridge | (horizontal raised drawbridge) |
+ | S_hcdoor | (closed door) |
. | S_hodbridge | (horizontal lowered drawbridge) |
| | S_hodoor | (open door) |
^ | S_hole | (hole) |
@ | S_human | (human or elf) |
h | S_humanoid | (humanoid) |
- | S_hwall | (horizontal wall) |
. | S_ice | (ice) |
i | S_imp | (imp or minor demon) |
I | S_invisible | (invisible monster) |
J | S_jabberwock | (jabberwock) |
j | S_jelly | (jelly) |
k | S_kobold | (kobold) |
K | S_kop | (Keystone Kop) |
^ | S_land_mine | (land mine) |
} | S_lava | (molten lava) |
l | S_leprechaun | (leprechaun) |
^ | S_level_teleporter | (level teleporter) |
L | S_lich | (lich) |
y | S_light | (light) |
# | S_litcorr | (lit corridor) |
: | S_lizard | (lizard) |
S_lslant | (wall) | |
^ | S_magic_portal | (magic portal) |
^ | S_magic_trap | (magic trap) |
m | S_mimic | (mimic) |
] | S_mimic_def | (mimic) |
M | S_mummy | (mummy) |
N | S_naga | (naga) |
. | S_ndoor | (doorway) |
n | S_nymph | (nymph) |
O | S_ogre | (ogre) |
o | S_orc | (orc) |
p | S_piercer | (piercer) |
^ | S_pit | (pit) |
# | S_poisoncloud | (poison cloud) |
^ | S_polymorph_trap | (polymorph trap) |
} | S_pool | (water) |
! | S_potion | (potion) |
P | S_pudding | (pudding or ooze) |
q | S_quadruped | (quadruped) |
Q | S_quantmech | (quantum mechanic) |
= | S_ring | (ring) |
` | S_rock | (boulder or statue) |
r | S_rodent | (rodent) |
^ | S_rolling_boulder_trap | (rolling boulder trap) |
. | S_room | (floor of a room) |
/ | S_rslant | (wall) |
^ | S_rust_trap | (rust trap) |
R | S_rustmonst | (rust monster or disenchanter) |
? | S_scroll | (scroll) |
# | S_sink | (sink) |
^ | S_sleeping_gas_trap | (sleeping gas trap) |
S | S_snake | (snake) |
s | S_spider | (arachnid or centipede) |
^ | S_spiked_pit | (spiked pit) |
^ | S_squeaky_board | (squeaky board) |
0 | S_ss1 | (magic shield 1 of 4) |
# | S_ss2 | (magic shield 2 of 4) |
@ | S_ss3 | (magic shield 3 of 4) |
* | S_ss4 | (magic shield 4 of 4) |
^ | S_statue_trap | (statue trap) |
S_stone | (solid rock or unexplored terrain | |
,or dark part of a room) | ||
] | S_strange_obj | (strange object) |
- | S_sw_bc | (swallow bottom center) |
S_sw_bl | (swallow bottom left) | |
/ | S_sw_br | (swallow bottom right ) |
| | S_sw_ml | (swallow middle left) |
| | S_sw_mr | (swallow middle right) |
- | S_sw_tc | (swallow top center) |
/ | S_sw_tl | (swallow top left) |
S_sw_tr | (swallow top right) | |
- | S_tdwall | (wall) |
^ | S_teleportation_trap | (teleportation trap) |
S_throne | (opulent throne) | |
- | S_tlcorn | (top left corner) |
| | S_tlwall | (wall) |
( | S_tool | (useful item (pick-axe, key, lamp...)) |
^ | S_trap_door | (trap door) |
t | S_trapper | (trapper or lurker above) |
- | S_trcorn | (top right corner) |
# | S_tree | (tree) |
T | S_troll | (troll) |
| | S_trwall | (wall) |
- | S_tuwall | (wall) |
U | S_umber | (umber hulk) |
u | S_unicorn | (unicorn or horse) |
< | S_upladder | (ladder up) |
< | S_upstair | (staircase up) |
V | S_vampire | (vampire) |
| | S_vbeam | (wall) |
# | S_vcdbridge | (vertical raised drawbridge) |
+ | S_vcdoor | (closed door) |
. | S_venom | (splash of venom) |
^ | S_vibrating_square | (vibrating square) |
. | S_vodbridge | (vertical lowered drawbridge) |
- | S_vodoor | (open door) |
v | S_vortex | (vortex) |
| | S_vwall | (vertical wall) |
/ | S_wand | (wand) |
} | S_water | (water) |
) | S_weapon | (weapon) |
" | S_web | (web) |
w | S_worm | (worm) |
~ | S_worm_tail | (long worm tail) |
W | S_wraith | (wraith) |
x | S_xan | (xan or other extraordinary insect) |
X | S_xorn | (xorn) |
Y | S_yeti | (apelike creature) |
Z | S_zombie | (zombie) |
z | S_zruty | (zruty) |
S_pet_override | (any pet if ACCESSIBILITY=1 is set) | |
S_hero_override | (hero if ACCESSIBILITY=1 is set) |
hyphenation{sysconf} %no syllable breaks => don't hyphenate file name 注意:
この表のいくつかのシンボルは空白に見える。 これらはスペース文字である; 例外は、標準設定値がなく、''sysconf'' ファイルで有効にされた場合にのみ 使われる S_pet_override と S_hero_override である。
S_rock は語弊のある名前である; 岩と石は S_gem である。 石像と巨岩は参照される岩であるが、バージョン 3.6.0 から、石像は モチーフとなっている怪物として表示される。 従って、S_rock は巨岩のためだけに使われ、これがより限定的な S_boulder で上書きされると、全く使われないことになる。
NetHack は洞窟の地図を作るのに標準の ASCII キャラクターだけを使うように 設定することもできる。これにより、MS-DOS 版の NetHack は 音声合成または点字技術を用いれば目の不自由な人でも完全にプレイ可能である。 プレイヤーはこれらの画面読み取りシステムに関する十分な知識が必要で、 上下左右に一文字ずつ移動する方法を知らなければならないだろう。 画面読み取りシステムの検索能力を知ることもかなり価値がある。 プレイする前にこのガイドブックを十分に読めば、 画面のレイアウトがどんな感じかがわかるだろう。 また、 PC カーソルの位置を突き止めることができる必要がある。 これは自分のキャラクターの位置を示している。 '@'は他のヒューマノイドを表わすのにも用いられるので、 自分の位置を探すのに'@'を検索するだけでは不十分である。 さらに、あなたが見ている位置と PC カーソルの位置の物理的な行と桁を知らせる機能が 必要だろう。この機能はスクリーン全体にどのようなアイテムがあるかを判別するのに 便利である。 NetHack は、ゲームメッセージをテキスト/スピーチシンセサイザーなどの 外部プログラムに送信するサポート付きでコンパイルすることもできる。 拡張コマンド ''#version'' に ''external program as a message handler'' と表示されている場合、NetHack はこの機能付きでコンパイルされている。 Linux やその他の POSIX システムのソースからNetHackをコンパイルする 際には、これを有効にするには MSGHANDLER を定義する。 この機能を使用するには、環境変数 NETHACK_MSGHANDLER を 実行可能ファイルに設定する; 実行可能ファイルは、ゲームメッセージを プログラムの唯一の引数として実行される。 慣れたユーザーなら defaults.nh を修正することは難しくないだろうが、 初心者は少しひるんでしまう仕事かもしれない。 NetHack の全ての公式配布のシンボルファイルには NHAccess と呼ばれる symset が含まれている。 設定ファイルでこの symset を選択することにより、目の不自由な人が プレイできるような設定になる。 ファイルを修正することやゲームそのものに慣れたなら、好みに合うように 設定ファイルの SYMBOLS= と ROGUESYMBOLS= で 設定を変更するとよいだろう。 全てのペットに一貫したシンボルを強制する特殊シンボル S_pet_override と、 sysconf ファイルで accessibility が有効の時に プレイヤーキャラクターに特別なシンボルを強制する 特殊シンボル S_hero_override については 前述の節を参照のこと。
ゲームのアクセシビリティの改善に最も影響を与える設定は以下のものである:
NetHack が SYSCF オプション付きでコンパイルされている場合、システム管理者は グローバル設定を設定するべきである; これは(前述した)伝統的なユーザー毎の 設定ファイルと同じ形式のファイルである。
このファイルは sysconf という名前で、その他の NetHack 補助ファイルと 同じディレクトリに置かれる。 このファイルで認識されるオプションは以下の通りである。 設定されてなかったオプションは(あなたのシステムでは適切ではないかもしれない) コンパイル時のデフォルトが使われる。
以下のオプションは score ファイルに影響する:
NetHack は設定によって、あなたの機械における高得点の一覧または高得点 者の一覧を作成する。後者の設定になっている場合、ゲームを最後まで終えた 場合を除きそのマシンの 1 つのアカウントにつき 1 つだけしかこの一覧には 載らない。あなたがこの一覧に載っている他の誰かより高い得点を取ったとき、 もしくはあなたの前の得点より高い得点を取ったときにのみ、その一覧のしか るべき位置にあなたの名前が載る。得点が何個まで載るかもコンパイル時に設 定できる。
得点は主に経験値、戦利品、到達した階とゲームの終わり方に基づいている。 ゲームを放棄した場合には持っている金を全額手にして脱出できる。 しかし恐怖の迷宮の中で殺された場合には、亡骸が発見されると持っている金の 90,% だけがギルドに伝えられる(冒険者は亡骸を発見した場合には手数料を取るこ とが知られている)。従って怪物にさらに一撃を加えて運あらば生き残らんと するか、放棄してその時点で持っている物で終了するかはあなたが決めること である。放棄した場合はすべての金を手にすることができる。しかし戦って生 き残ればさらに多くを得ることができるかも知れない。
単に現時点での高得点者・高得点の一覧を見たい場合にはほとんどの バージョンでは
nethack -s all
と入力すればよい。
NetHack は複雑で難しいゲームである。初心者は生き残るすべを知らないこ とに気づき、恐怖におじけづいてしまうかもしれない。しかし恐れることはな い。冒険する洞窟に「探検」もしくは「発見」モードがある場合には、高得点 の一覧に載らないというとるに足らないデメリットと引き替えに前のセーブファ イルを残しておけたり不死身となれたりするのである。
探検モードに入るには 2 通りの方法がある。1 つはゲームの開始時に -X スイッチを付けるか playmode:explore オプションを指定することである。 もう 1 つはゲームのプレイ中に '#exploremode' 拡張コマンドを 入力することである。 探検モードで新しいゲームを開始すると、初期装備として願いの杖が追加される; プレイ中に切り替えた場合は追加されない。 探検モードで得られる他の利点は大胆な読者諸君自ら確かめて欲しい。
ウィザードモードとも呼ばれるデバッグモードは、この概説と、 コマンド説明で挙げられている様々な「デバッグモード専用」コマンドの他には 文書化されていない。 これはキャラクターに神のような力を与えるためではなく、プログラムの問題を 調べることを意図したもので、デバッグを試みるプレイヤーは これをどのように使うかが分かることを想定している。 これは -D コマンドラインスイッチか playmode:debug オプションでゲームを始めることで開始される。
システムによっては、プレイヤーは、デバッグモードを使うことを許されている 特定のユーザー名でログインしなければならない; それ以外では、 キャラクターは特定のキャラクター名を使わなければならない (しかし職業はどれでもよい; ''ウィザード'' という名前と 職業の Wizard は何の関係もない)。 デバッグモードを許されていなかったり有効でない場合にデバッグモードを 使おうとすると、代わりに探検モードにフォールバックする。
最初の hack というゲームは、バークレイ版 UNIX のゲーム rogue をモデルとしている。 このドキュメントの大部分は Michael C. Toy と Kenneth C. R. C. Arnold の手になる A Guide to the Dungeons of Doom(運命の洞窟への招待) を図々しくも盗用したものである。 また一部は Ken Arromdee による Further Exploration of the Dungeons of Doom(運命の洞窟の深部への探検) から採っている。
NetHack は文字どおり何十人もの人々の手によって完成された。 以下はゲームの開発の過程での主な出来事である。
bigskip Jay Fenlason は Kenny Woodland, Mike Thome, Jon Payne らの助けを得て、最初の Hack を書いた。
Andries Brouwer はプログラムを大幅に書き換えて Hack を 元とはかなり異なったゲームに仕立て上げ、UNIX マシン用の(少なくとも)3 バージョン(1.0.1、1.0.2、1.0.3)を Usenet で発表した。
Don G. Kneller は Hack 1.0.3 を Microsoft C を使用して MS-DOS へ移植 し PC Hack 1.01e を作成した。バージョン 1.03g では DEC Rainbow の グラフィックをサポートし、続いて少なくともあと 4 つのバージョン(3.0、3.2、 3.51、3.6)を作成した。
R. Black は PC Hack 3.51 を Lattice C を使用して Atari 520/1040ST へ 移植し ST Hack 1.03 を作成した。
Mike Stephenson はこれらのいろいろなバージョンを再び 1 つに統合し、 多くの追加要素と合わせて NetHack バージョン 1.4 を作成した。さらに彼は 何千人もの人々に作業を分担して NetHack 1.4 の拡張とデバッグを行い、 NetHack バージョン 2.2 と 2.3 を発表した。
さらにその後、Mike は Ken Arromdee, Jean-Christophe Collet, Steve Creps, Eric Hendrickson、Izchak Miller、 Eric S. Raymond、John Rupley、 Mike Threepoint、Janet Walz を含むチームを率いてゲームの大幅な書き直しを行ない、 NetHack 3.0c を作成した。
NetHack 3.0 は Eric R. Smith によって Atari へ、 Timo Hakulinen によって OS/2 へ、 David Gentzel によって VMS へ移植された。 この 3 人と Kevin Darcy はその後主力開発チームに加わり、 3.0 のその後のいくつかの改訂版を作成した。
Olaf Seibert は NetHack 2.3 と 3.0 を Amiga へ移植した。 Norm Meluch、Stephen Spackman、Pierre Martineau は PC NetHack 3.0 のためのオーバーレイルーチンを設計した。 Johnny Lee は NetHack 3.0 を Macintosh へ移植した。 彼らは他のさまざまな洞窟の主たちとともに PC、Macintosh、Amiga の移植版の拡張を続け、 3.0 のその後のいくつかの改訂版を作成した。
Mike Stephenson をリーダーとし、 Izchak Miller と Janet Walz の助けによって Ken Arromdee, David Cohrs, Jean-Christophe Collet, Kevin Darcy, Matt Day, Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, Eric Raymond, Eric Smith を含む制作チームが 3.0の徹底的な見直しを行なった。 彼らはゲームデザインを再構築し、コードの大部分を書き直した。 複合ダンジョン、新しいディスプレイ、それぞれのキャラクター毎の特別のクエスト、 新しいエンドゲームとその他の多くの新しい要素を追加し、 NetHack 3.1を制作した。
Ken Lorber, Gregg Wonderly, Greg Olson は Richard Addison, Mike Passaretti, Olaf Seibert の助けを借りて Amiga 用 NetHack 3.1 を作成した。
Norm Meluch と Kevin Smolkowski は Carl Schelin, Stephen Spackman, Steve VanDevender, Paul Winner の助けを借りて NetHack 3.1 を PC に移植した。
Jon W{tte と Hao-yang Wang は Ross Brown, Mike Engber, David Hairston, Michael Hamel, Jonathan Handler, Johnny Lee, Tim Lennan, Rob Menke, Andy Swanson の助けを借りて MPW 用の Macintosh 用 NetHack 3.1 を作成した。 その作成中に、Bart House は Think C 用を加えた。
Timo Hakulinen は NetHack 3.1 を OS/2 に移植した。 Eric Smith は NetHack 3.1 を Atari に移植した。 Pat Rankin は Joshua Delahunty の助けを借りて VMS 版 NetHack 3.1 を作成した。 Michael Allison は NetHack 3.1 を Windows NT に移植した。
Dean Luick は David Cohrs の助けを借りて X11 用 NetHack3.1 を作成した。 Warwick Allison は Atari 用に NetHack のタイル版を作成した。 彼は後にタイルを開発チームに寄贈し、タイルサポートは他のプラットフォームにも 追加された。
Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Steve Creps, Kevin Darcy, Timo Hakulinen, Steve Linhart, Dean Luick, Pat Rankin, Eric Smith, Mike Stephenson, Janet Walz, Paul Winner からなる 3.2の開発チームは バージョン 3.2 を 1996 年 4 月にリリースした。
バージョン 3.2 は開発チームが結成されてから 10 周年のものであった。 彼らのゲームへの貢献について記すと、13 人の初期の開発チーム全員は このリリースの開始時の最初の時点までチームに残っていた。 が、 3.1.3 から 3.2 の間に、開発チームの創始者の一人である Izchak Miller博士が癌と診断され、亡くなった。 このリリースは開発チームおよび移植チームから彼に捧げられた。
NetHack 3.1 と 3.2 の時代に、ゲームに熱狂した何人かが ゲームに自分自身の変更を加えた「亜種」を公に発表した。
Tom Proudfoot と Yuval Oren は NetHack++ を作成し、 これはすぐに NetHack$--$ に改名された。 これとは独立に、Stephen White は NetHack Plus を作成した。 Tom Proudfoot は後に NetHack Plus と NetHack$--$ を統合し、 SLASH を作成した。 Larry Stewart-Zerba と Warwick Allison は呪文詠唱システムを改良した Wizard Patch を作成した。 Warwick Allison は NetHack を Qt インターフェースを使うように 変更した。
Warren Cheung は SLASH と Wizard Patch を統合して Slash'EM を作成し、 Kevin Hugo の力を借りて、多くの要素を追加した。 Kevin は後に開発チームに加わり、これらのアイデアを NetHack 3.3 に 統合した。
3.2 の最終バージョンはバグ修正版である 3.2.3 である。 これは 2000 年問題対策のために 3.3.0 と同時に 1999 年 12 月に発表された。
Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Steve Creps, Kevin Darcy, Timo Hakulinen, Kevin Hugo, Steve Linhart, Ken Lorber, Dean Luick, Pat Rankin, Eric Smith, Mike Stephenson, Janet Walz, Paul Winner からなる 3.3 の開発チームは 1999 年 12 月に 3.3.0を、2000 年 8 月に 3.3.1 をリリースした。
バージョン 3.3 は多くの新要素を提供した。 まず、種族と職業を分離した最初のバージョンである。 職業としてのエルフは削除され、種族の一つとなった。 また、ドワーフ、ノーム、オークが種族として追加された。 モンクとレンジャーの二つが職業として追加された。 さらに、動物に乗ることが出来る最初のバージョンでもあり、 発見された全てのバグをウェブサイトで公表した最初のバージョンでもある。 バグリストが順調に伸びていったにも関わらず、 3.3 は 1 年半続いたことで十分安定していたことを証明した。
3.4 開発チームは Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Kevin Hugo, Ken Lorber, Dean Luick, Pat Rankin, Mike Stephenson, Janet Walz, and Paul Winner で開始され、 NetHack 3.4.0 リリース直前の 2002 年 3 月に Warwick Allison が加わった。
バージョン 3.3 と同様に、様々な人々が NetHack の色々な プラットフォームへの移植を行なってくれた。
Pat Rankin は 3.4 の VMS への移植を担当した。
Michael Allison は MS-DOS 版の NetHack 3.4 を管理している。 Paul Winner と Yitzhak Sapir が手伝っている。
Dean Luick, Mark Modrall, Kevin Hugo は 3.4 の Macintosh への移植と拡張を担当した。
Michael Allison, David Cohrs, Alex Kompel, Dion Nicolaas, Yitzhak Sapir は 3.4 の Microsoft Windows プラットフォームへの 移植と拡張を担当した。 Alex Kompel は Windows 版への新しいグラフィックインターフェースを 提供した。 Alex Kompel はまた、3.4.1 の Windows CE 版を提供した。
Ron Van Iwaarden は過去いくつかのリリースの OS/2 版 NetHack の 唯一の管理者だった。 残念ながら Ron の最後の OS/2 マシンは 2006 年初頭に動かなくなった。 近年まで OS/2 で NetHack を生き続けさせたことにことについて Ron に 非常に感謝する。
Amiga への移植は Janne Salmijärvi が 3.3.1 で復活させた後、 Janne Salmijärvi と Teemu Suikki が 3.4 への保守と 拡張を行った。
3.3.1 で復活した Atari 版は Christian ''Marvin'' Bressler が 3.4 を保守した。
2003 年 12 月の NetHack 3.4.3 のリリースは、長いリリース中断の始まりとなった。 3.4.3 は、コミュニティによって 10 年以上楽しまれ続けられたことで 非常に安定したバージョンであることが示された。 3.4.3 の間、The NetHack Development Team は水面下でゆっくりと静かにゲームに対して作業を 続けていた。 同じ頃、NetHack コミュニティにいくつかの新しいバリアントが出現した。 特に、Derek S. Ray による sporkhack、Patric Mueller による unnethack、 元々は Daniel Thaler で、それからは Alex Smith による nitrohack およびその後継、Tung Nguyen による Dynahack である。 これらのバリアントの一部は開発と保守が続けられ、今でもコミュニティで 楽しまれている。
2014 年 9 月に、開発中のコードの中間的なスナップショットが他のグループによって 公にされた。 コードは作業中のもので、適切なリリースのためのデバッグプロセスを経ていない ものであったので、コードスナップショットに使われていたバージョン番号は 欠番として、公式な NetHack リリースでは使わないことに決定した。 NetHack Development Team の公式 nethack.org web サイトにアナウンスが投稿され、 公式リリースバージョンとして 3.4.4, 3.5, 3.5.0 は使わないことを示した。
2015 年 1 月、NetHack 3.6 のリリースのための準備が開始された。
最終的に 3.6.0 としてリリースされるものの開発の初期では、 開発チームは Warwick Allison, Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Ken Lorber, Dean Luick, Pat Rankin, Mike Stephenson, Janet Walz, Paul Winner で構成されていた。 2015 年初頭、3.6.0 リリースに先だって、新しいメンバーである Sean Hunt, Pasi Kallinen, Derek S. Ray が NetHack 開発チームに加わった。
3.6.0 の開発の終了近くに、one of the significant inspirations for many of the humorous and fun features found in the game, author Terry Pratchett, passed away. NetHack 3.6.0 は彼へ捧げられた。
3.6.0 は 2015 年 12 月にリリースされ、 3.4.3 リリースから開発チームによってなされた作業と、 いくつかの愛好者コミュニティのパッチがマージされた。 多くのバグが修正され、一部のコードが再構成された。
NetHack Development Team 及び Steve VanDevender と Kevin Smolkowski は NetHack 3.6 が様々な Unix の亜種で 動作し続けるようにし、また X11 インターフェースを管理している。
Ken Lorber, Haoyang Wang, Pat Rankin, Dean Luick は NetHack 3.6 の Mac OSX版を管理している。
Michael Allison, David Cohrs, Bart House, Pasi Kallinen, Alex Kompel, Dion Nicolaas, Derek S. Ray and Yitzhak Sapir は NetHack 3.6 の Microsoft Windows 版を管理している。
Pat Rankin は、アクセスが制限されながら VMS 版を NetHack 3.6 で 動作させ続けようとさせた。 Kevin Smolkowski はこれを、 Alpha と Integrity (またの名を Itanium またの名を IA64) での 最新版の OpenVMS (記述時点で V8.4) に更新、テストしたが、VAX 版ではない。
Ray Chason は 3.6 の msdos 版を復活させ、必要な更新をコミュニティに 寄贈した。
2018 年 4 月下旬、3.6.0 からの数百のバグ修正と、いくつかの新しい機能が まとめられ、NetHack 3.6.1 としてリリースされた。 3.6.1 リリース時点での NetHack Development Team は、 Warwick Allison, Michael Allison, Ken Arromdee, David Cohrs, Jessie Collet, Pasi Kallinen, Ken Lorber, Dean Luick, Patric Mueller, Pat Rankin, Derek S. Ray, Alex Smith, Mike Stephenson, Janet Walz, Paul Winner からなる。
2019 年 5 月初旬、更なる 320 のバグ修正といくつかの拡張と、 寄贈された curses ウィンドウ対応を含んで、3.6.2 としてリリースされた。
数十年にわたって移植チームとしてゲームに貢献してきた Bart House は、 2019 年 5 月に NetHack Development Team に加わった。
NetHack 3.6.3 は、NetHack 3.6.2 から 190 以上のバグ修正を含んで、 2019 年 12 月 5 日にリリースされた。
NetHack 3.6.4 は、セキュリティ修正といくつかのバグ修正を含んで、 2019 年 12 月 18 日にリリースされた。
NetHack 3.6.5 は、いくつかのセキュリティ修正とバグ修正を含んで、 2020 年 1 月 27 日にリリースされた。
NetHack 3.6.6 は、セキュリティ修正といくつかのバグ修正を含んで、 2020 年 3 月 8 日にリリースされた。
Ken Lorber によって管理されている NetHack 公式 web サイトは: https://www.nethack.org/.
NetHack コミュニティに成り代わって、 nethack.alt.org で公開 NetHack サーバーを提供してくれていることについて 再度 M. Drew Streib と Pasi Kallinen に感謝する。 hardfought.org に関して Keith Simpson と Andy Thomson に感謝する。 Junethack, The November NetHack Tournament や以前の (今はないが忘れられない) devnull.net のような、 年次 NetHack トーナメントに時間と労力を使ってくれた 無名の洞窟の主全てに感謝する。
時々ネットワークの世界のどうしようもない連中が、 ゲームの改良の手助けをしようとしてとりわけ興味をそそるような修正を送ってよこす。 NetHack Development Team は、ときにはこういった悪党のうちでも最も邪悪な連中の名前を 洞窟の主たちの一覧としてここに記すのだ。
Adam Aronow | J. Ali Harlow | Mikko Juola |
Alex Kompel | Janet Walz | Nathan Eady |
Alex Smith | Janne Salmij"{a}rvi | Norm Meluch |
Andreas Dorn | Jean-Christophe Collet | Olaf Seibert |
Andy Church | Jeff Bailey | Pasi Kallinen |
Andy Swanson | Jochen Erwied | Pat Rankin |
Andy Thomson | John Kallen | Patric Mueller |
Ari Huttunen | John Rupley | Paul Winner |
Bart House | John S. Bien | Pierre Martineau |
Benson I. Margulies | Johnny Lee | Ralf Brown |
Bill Dyer | Jon W{tte | Ray Chason |
Boudewijn Waijers | Jonathan Handler | Richard Addison |
Bruce Cox | Joshua Delahunty | Richard Beigel |
Bruce Holloway | Karl Garrison | Richard P. Hughey |
Bruce Mewborne | Keizo Yamamoto | Rob Menke |
Carl Schelin | Keith Simpson | Robin Bandy |
Chris Russo | Ken Arnold | Robin Johnson |
David Cohrs | Ken Arromdee | Roderick Schertler |
David Damerell | Ken Lorber | Roland McGrath |
David Gentzel | Ken Washikita | Ron Van Iwaarden |
David Hairston | Kevin Darcy | Ronnen Miller |
Dean Luick | Kevin Hugo | Ross Brown |
Del Lamb | Kevin Sitze | Sascha Wostmann |
Derek S. Ray | Kevin Smolkowski | Scott Bigham |
Deron Meranda | Kevin Sweet | Scott R. Turner |
Dion Nicolaas | Lars Huttar | Sean Hunt |
Dylan O'Donnell | Leon Arnott | Stephen Spackman |
Eric Backus | M. Drew Streib | Stefan Thielscher |
Eric Hendrickson | Malcolm Ryan | Stephen White |
Eric R. Smith | Mark Gooderum | Steve Creps |
Eric S. Raymond | Mark Modrall | Steve Linhart |
Erik Andersen | Marvin Bressler | Steve VanDevender |
Fredrik Ljungdahl | Matthew Day | Teemu Suikki |
Frederick Roeber | Merlyn LeRoy | Tim Lennan |
Gil Neiger | Michael Allison | Timo Hakulinen |
Greg Laskin | Michael Feir | Tom Almy |
Greg Olson | Michael Hamel | Tom West |
Gregg Wonderly | Michael Sokolov | Warren Cheung |
Hao-yang Wang | Mike Engber | Warwick Allison |
Helge Hafting | Mike Gallop | Yitzhak Sapir |
Irina Rempt-Drijfhout | Mike Passaretti | |
Izchak Miller | Mike Stephenson |